/* Do not modify this file. Changes will be overwritten. */ /* Generated automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-x2ap.c */ /* asn2wrs.py -L -p x2ap -c ./x2ap.cnf -s ./packet-x2ap-template -D . -O ../.. X2AP-CommonDataTypes.asn X2AP-Constants.asn X2AP-Containers.asn X2AP-IEs.asn X2AP-PDU-Contents.asn X2AP-PDU-Descriptions.asn */ /* packet-x2ap.c * Routines for dissecting Evolved Universal Terrestrial Radio Access Network (EUTRAN); * X2 Application Protocol (X2AP); * 3GPP TS 36.423 packet dissection * Copyright 2007-2014, Anders Broman * Copyright 2016-2023, Pascal Quantin * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later * * Ref: * 3GPP TS 36.423 V17.6.0 (2023-09) */ #include "config.h" #include #include #include #include #include #include #include "packet-x2ap.h" #include "packet-per.h" #include "packet-e212.h" #include "packet-lte-rrc.h" #include "packet-nr-rrc.h" #include "packet-ngap.h" #include "packet-ranap.h" #include "packet-ntp.h" #include "packet-s1ap.h" #include "packet-f1ap.h" #include "packet-xnap.h" #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ #pragma warning(disable:4146) #endif #define PNAME "EUTRAN X2 Application Protocol (X2AP)" #define PSNAME "X2AP" #define PFNAME "x2ap" void proto_register_x2ap(void); /* Dissector will use SCTP PPID 27 or SCTP port. IANA assigned port = 36422 */ #define SCTP_PORT_X2AP 36422 #define maxPrivateIEs 65535 #define maxProtocolExtensions 65535 #define maxProtocolIEs 65535 #define maxEARFCN 65535 #define maxEARFCNPlusOne 65536 #define newmaxEARFCN 262143 #define maxInterfaces 16 #define maxCellineNB 256 #define maxnoofBands 16 #define maxnoofBearers 256 #define maxNrOfErrors 256 #define maxnoofPDCP_SN 16 #define maxnoofEPLMNs 15 #define maxnoofEPLMNsPlusOne 16 #define maxnoofForbLACs 4096 #define maxnoofForbTACs 4096 #define maxnoofBPLMNs 6 #define maxnoofAdditionalPLMNs 6 #define maxnoofNeighbours 512 #define maxnoofPRBs 110 #define maxPools 16 #define maxnoofCells 16 #define maxnoofMBSFN 8 #define maxFailedMeasObjects 32 #define maxnoofCellIDforMDT 32 #define maxnoofTAforMDT 8 #define maxnoofMBMSServiceAreaIdentities 256 #define maxnoofMDTPLMNs 16 #define maxnoofCoMPHypothesisSet 256 #define maxnoofCoMPCells 32 #define maxUEReport 128 #define maxCellReport 9 #define maxnoofPA 3 #define maxCSIProcess 4 #define maxCSIReport 2 #define maxSubband 14 #define maxofNRNeighbours 1024 #define maxCellinengNB 16384 #define maxnooftimeperiods 2 #define maxnoofCellIDforQMC 32 #define maxnoofTAforQMC 8 #define maxnoofPLMNforQMC 16 #define maxUEsinengNBDU 8192 #define maxnoofProtectedResourcePatterns 16 #define maxnoNRcellsSpectrumSharingWithE_UTRA 64 #define maxnoofNrCellBands 32 #define maxnoofBluetoothName 4 #define maxnoofWLANName 4 #define maxnoofextBPLMNs 12 #define maxnoofTLAs 16 #define maxnoofGTPTLAs 16 #define maxnoofTNLAssociations 32 #define maxnoofCellsinCHO 8 #define maxnoofPC5QoSFlows 2048 #define maxnoofSSBAreas 64 #define maxnoofNRSCSs 5 #define maxnoofNRPhysicalResourceBlocks 275 #define maxnoofNonAnchorCarrierFreqConfig 15 #define maxnoofRACHReports 64 #define maxnoofPSCellsPerSN 8 #define maxnoofPSCellsPerPrimaryCellinUEHistoryInfo 8 #define maxnoofReportedNRCellsPossiblyAggregated 16 #define maxnoofPSCellCandidates 8 #define maxnoofTargetSgNBs 8 #define maxnoofMTCItems 16 #define maxnoofCSIRSconfigurations 96 #define maxnoofCSIRSneighbourCells 16 #define maxnoofCSIRSneighbourCellsInMTC 16 #define maxnoofSensorName 3 #define maxnoofTargetSgNBsMinusOne 7 typedef enum _ProcedureCode_enum { id_handoverPreparation = 0, id_handoverCancel = 1, id_loadIndication = 2, id_errorIndication = 3, id_snStatusTransfer = 4, id_uEContextRelease = 5, id_x2Setup = 6, id_reset = 7, id_eNBConfigurationUpdate = 8, id_resourceStatusReportingInitiation = 9, id_resourceStatusReporting = 10, id_privateMessage = 11, id_mobilitySettingsChange = 12, id_rLFIndication = 13, id_handoverReport = 14, id_cellActivation = 15, id_x2Release = 16, id_x2APMessageTransfer = 17, id_x2Removal = 18, id_seNBAdditionPreparation = 19, id_seNBReconfigurationCompletion = 20, id_meNBinitiatedSeNBModificationPreparation = 21, id_seNBinitiatedSeNBModification = 22, id_meNBinitiatedSeNBRelease = 23, id_seNBinitiatedSeNBRelease = 24, id_seNBCounterCheck = 25, id_retrieveUEContext = 26, id_sgNBAdditionPreparation = 27, id_sgNBReconfigurationCompletion = 28, id_meNBinitiatedSgNBModificationPreparation = 29, id_sgNBinitiatedSgNBModification = 30, id_meNBinitiatedSgNBRelease = 31, id_sgNBinitiatedSgNBRelease = 32, id_sgNBCounterCheck = 33, id_sgNBChange = 34, id_rRCTransfer = 35, id_endcX2Setup = 36, id_endcConfigurationUpdate = 37, id_secondaryRATDataUsageReport = 38, id_endcCellActivation = 39, id_endcPartialReset = 40, id_eUTRANRCellResourceCoordination = 41, id_SgNBActivityNotification = 42, id_endcX2Removal = 43, id_dataForwardingAddressIndication = 44, id_gNBStatusIndication = 45, id_deactivateTrace = 46, id_traceStart = 47, id_endcConfigurationTransfer = 48, id_handoverSuccess = 49, id_conditionalHandoverCancel = 50, id_earlyStatusTransfer = 51, id_cellTrafficTrace = 52, id_endcresourceStatusReporting = 53, id_endcresourceStatusReportingInitiation = 54, id_f1CTrafficTransfer = 55, id_UERadioCapabilityIDMapping = 56, id_accessAndMobilityIndication = 57, id_procedure_code_58_not_to_be_used = 58, id_CPC_cancel = 59 } ProcedureCode_enum; typedef enum _ProtocolIE_ID_enum { id_E_RABs_Admitted_Item = 0, id_E_RABs_Admitted_List = 1, id_E_RAB_Item = 2, id_E_RABs_NotAdmitted_List = 3, id_E_RABs_ToBeSetup_Item = 4, id_Cause = 5, id_CellInformation = 6, id_CellInformation_Item = 7, id_Unknown_8 = 8, id_New_eNB_UE_X2AP_ID = 9, id_Old_eNB_UE_X2AP_ID = 10, id_TargetCell_ID = 11, id_TargeteNBtoSource_eNBTransparentContainer = 12, id_TraceActivation = 13, id_UE_ContextInformation = 14, id_UE_HistoryInformation = 15, id_UE_X2AP_ID = 16, id_CriticalityDiagnostics = 17, id_E_RABs_SubjectToStatusTransfer_List = 18, id_E_RABs_SubjectToStatusTransfer_Item = 19, id_ServedCells = 20, id_GlobalENB_ID = 21, id_TimeToWait = 22, id_GUMMEI_ID = 23, id_GUGroupIDList = 24, id_ServedCellsToAdd = 25, id_ServedCellsToModify = 26, id_ServedCellsToDelete = 27, id_Registration_Request = 28, id_CellToReport = 29, id_ReportingPeriodicity = 30, id_CellToReport_Item = 31, id_CellMeasurementResult = 32, id_CellMeasurementResult_Item = 33, id_GUGroupIDToAddList = 34, id_GUGroupIDToDeleteList = 35, id_SRVCCOperationPossible = 36, id_Measurement_ID = 37, id_ReportCharacteristics = 38, id_ENB1_Measurement_ID = 39, id_ENB2_Measurement_ID = 40, id_Number_of_Antennaports = 41, id_CompositeAvailableCapacityGroup = 42, id_ENB1_Cell_ID = 43, id_ENB2_Cell_ID = 44, id_ENB2_Proposed_Mobility_Parameters = 45, id_ENB1_Mobility_Parameters = 46, id_ENB2_Mobility_Parameters_Modification_Range = 47, id_FailureCellPCI = 48, id_Re_establishmentCellECGI = 49, id_FailureCellCRNTI = 50, id_ShortMAC_I = 51, id_SourceCellECGI = 52, id_FailureCellECGI = 53, id_HandoverReportType = 54, id_PRACH_Configuration = 55, id_MBSFN_Subframe_Info = 56, id_ServedCellsToActivate = 57, id_ActivatedCellList = 58, id_DeactivationIndication = 59, id_UE_RLF_Report_Container = 60, id_ABSInformation = 61, id_InvokeIndication = 62, id_ABS_Status = 63, id_PartialSuccessIndicator = 64, id_MeasurementInitiationResult_List = 65, id_MeasurementInitiationResult_Item = 66, id_MeasurementFailureCause_Item = 67, id_CompleteFailureCauseInformation_List = 68, id_CompleteFailureCauseInformation_Item = 69, id_CSG_Id = 70, id_CSGMembershipStatus = 71, id_MDTConfiguration = 72, id_Unknown_73 = 73, id_ManagementBasedMDTallowed = 74, id_RRCConnSetupIndicator = 75, id_NeighbourTAC = 76, id_Time_UE_StayedInCell_EnhancedGranularity = 77, id_RRCConnReestabIndicator = 78, id_MBMS_Service_Area_List = 79, id_HO_cause = 80, id_TargetCellInUTRAN = 81, id_MobilityInformation = 82, id_SourceCellCRNTI = 83, id_MultibandInfoList = 84, id_M3Configuration = 85, id_M4Configuration = 86, id_M5Configuration = 87, id_MDT_Location_Info = 88, id_ManagementBasedMDTPLMNList = 89, id_SignallingBasedMDTPLMNList = 90, id_ReceiveStatusOfULPDCPSDUsExtended = 91, id_ULCOUNTValueExtended = 92, id_DLCOUNTValueExtended = 93, id_eARFCNExtension = 94, id_UL_EARFCNExtension = 95, id_DL_EARFCNExtension = 96, id_AdditionalSpecialSubframe_Info = 97, id_Masked_IMEISV = 98, id_IntendedULDLConfiguration = 99, id_ExtendedULInterferenceOverloadInfo = 100, id_RNL_Header = 101, id_x2APMessage = 102, id_ProSeAuthorized = 103, id_ExpectedUEBehaviour = 104, id_UE_HistoryInformationFromTheUE = 105, id_DynamicDLTransmissionInformation = 106, id_UE_RLF_Report_Container_for_extended_bands = 107, id_CoMPInformation = 108, id_ReportingPeriodicityRSRPMR = 109, id_RSRPMRList = 110, id_MeNB_UE_X2AP_ID = 111, id_SeNB_UE_X2AP_ID = 112, id_UE_SecurityCapabilities = 113, id_SeNBSecurityKey = 114, id_SeNBUEAggregateMaximumBitRate = 115, id_ServingPLMN = 116, id_E_RABs_ToBeAdded_List = 117, id_E_RABs_ToBeAdded_Item = 118, id_MeNBtoSeNBContainer = 119, id_E_RABs_Admitted_ToBeAdded_List = 120, id_E_RABs_Admitted_ToBeAdded_Item = 121, id_SeNBtoMeNBContainer = 122, id_ResponseInformationSeNBReconfComp = 123, id_UE_ContextInformationSeNBModReq = 124, id_E_RABs_ToBeAdded_ModReqItem = 125, id_E_RABs_ToBeModified_ModReqItem = 126, id_E_RABs_ToBeReleased_ModReqItem = 127, id_E_RABs_Admitted_ToBeAdded_ModAckList = 128, id_E_RABs_Admitted_ToBeModified_ModAckList = 129, id_E_RABs_Admitted_ToBeReleased_ModAckList = 130, id_E_RABs_Admitted_ToBeAdded_ModAckItem = 131, id_E_RABs_Admitted_ToBeModified_ModAckItem = 132, id_E_RABs_Admitted_ToBeReleased_ModAckItem = 133, id_E_RABs_ToBeReleased_ModReqd = 134, id_E_RABs_ToBeReleased_ModReqdItem = 135, id_SCGChangeIndication = 136, id_E_RABs_ToBeReleased_List_RelReq = 137, id_E_RABs_ToBeReleased_RelReqItem = 138, id_E_RABs_ToBeReleased_List_RelConf = 139, id_E_RABs_ToBeReleased_RelConfItem = 140, id_E_RABs_SubjectToCounterCheck_List = 141, id_E_RABs_SubjectToCounterCheckItem = 142, id_CoverageModificationList = 143, id_Unknown_144 = 144, id_ReportingPeriodicityCSIR = 145, id_CSIReportList = 146, id_UEID = 147, id_enhancedRNTP = 148, id_ProSeUEtoNetworkRelaying = 149, id_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18 = 150, id_ULCOUNTValuePDCP_SNlength18 = 151, id_DLCOUNTValuePDCP_SNlength18 = 152, id_UE_ContextReferenceAtSeNB = 153, id_UE_ContextKeptIndicator = 154, id_New_eNB_UE_X2AP_ID_Extension = 155, id_Old_eNB_UE_X2AP_ID_Extension = 156, id_MeNB_UE_X2AP_ID_Extension = 157, id_SeNB_UE_X2AP_ID_Extension = 158, id_LHN_ID = 159, id_FreqBandIndicatorPriority = 160, id_M6Configuration = 161, id_M7Configuration = 162, id_Tunnel_Information_for_BBF = 163, id_SIPTO_BearerDeactivationIndication = 164, id_GW_TransportLayerAddress = 165, id_Correlation_ID = 166, id_SIPTO_Correlation_ID = 167, id_SIPTO_L_GW_TransportLayerAddress = 168, id_X2RemovalThreshold = 169, id_CellReportingIndicator = 170, id_BearerType = 171, id_resumeID = 172, id_UE_ContextInformationRetrieve = 173, id_E_RABs_ToBeSetupRetrieve_Item = 174, id_NewEUTRANCellIdentifier = 175, id_V2XServicesAuthorized = 176, id_OffsetOfNbiotChannelNumberToDL_EARFCN = 177, id_OffsetOfNbiotChannelNumberToUL_EARFCN = 178, id_AdditionalSpecialSubframeExtension_Info = 179, id_BandwidthReducedSI = 180, id_MakeBeforeBreakIndicator = 181, id_UE_ContextReferenceAtWT = 182, id_WT_UE_ContextKeptIndicator = 183, id_UESidelinkAggregateMaximumBitRate = 184, id_uL_GTPtunnelEndpoint = 185, id_Unknown_186 = 186, id_Unknown_187 = 187, id_Unknown_188 = 188, id_Unknown_189 = 189, id_Unknown_190 = 190, id_Unknown_191 = 191, id_Unknown_192 = 192, id_DL_scheduling_PDCCH_CCE_usage = 193, id_UL_scheduling_PDCCH_CCE_usage = 194, id_UEAppLayerMeasConfig = 195, id_extended_e_RAB_MaximumBitrateDL = 196, id_extended_e_RAB_MaximumBitrateUL = 197, id_extended_e_RAB_GuaranteedBitrateDL = 198, id_extended_e_RAB_GuaranteedBitrateUL = 199, id_extended_uEaggregateMaximumBitRateDownlink = 200, id_extended_uEaggregateMaximumBitRateUplink = 201, id_NRrestrictioninEPSasSecondaryRAT = 202, id_SgNBSecurityKey = 203, id_SgNBUEAggregateMaximumBitRate = 204, id_E_RABs_ToBeAdded_SgNBAddReqList = 205, id_MeNBtoSgNBContainer = 206, id_SgNB_UE_X2AP_ID = 207, id_RequestedSplitSRBs = 208, id_E_RABs_ToBeAdded_SgNBAddReq_Item = 209, id_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList = 210, id_SgNBtoMeNBContainer = 211, id_AdmittedSplitSRBs = 212, id_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item = 213, id_ResponseInformationSgNBReconfComp = 214, id_UE_ContextInformation_SgNBModReq = 215, id_E_RABs_ToBeAdded_SgNBModReq_Item = 216, id_E_RABs_ToBeModified_SgNBModReq_Item = 217, id_E_RABs_ToBeReleased_SgNBModReq_Item = 218, id_E_RABs_Admitted_ToBeAdded_SgNBModAckList = 219, id_E_RABs_Admitted_ToBeModified_SgNBModAckList = 220, id_E_RABs_Admitted_ToBeReleased_SgNBModAckList = 221, id_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item = 222, id_E_RABs_Admitted_ToBeModified_SgNBModAck_Item = 223, id_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item = 224, id_E_RABs_ToBeReleased_SgNBModReqdList = 225, id_E_RABs_ToBeModified_SgNBModReqdList = 226, id_E_RABs_ToBeReleased_SgNBModReqd_Item = 227, id_E_RABs_ToBeModified_SgNBModReqd_Item = 228, id_E_RABs_ToBeReleased_SgNBChaConfList = 229, id_E_RABs_ToBeReleased_SgNBChaConf_Item = 230, id_E_RABs_ToBeReleased_SgNBRelReqList = 231, id_E_RABs_ToBeReleased_SgNBRelReq_Item = 232, id_E_RABs_ToBeReleased_SgNBRelConfList = 233, id_E_RABs_ToBeReleased_SgNBRelConf_Item = 234, id_E_RABs_SubjectToSgNBCounterCheck_List = 235, id_E_RABs_SubjectToSgNBCounterCheck_Item = 236, id_RRCContainer = 237, id_SRBType = 238, id_Target_SgNB_ID = 239, id_HandoverRestrictionList = 240, id_SCGConfigurationQuery = 241, id_SplitSRB = 242, id_NRUeReport = 243, id_InitiatingNodeType_EndcX2Setup = 244, id_InitiatingNodeType_EndcConfigUpdate = 245, id_RespondingNodeType_EndcX2Setup = 246, id_RespondingNodeType_EndcConfigUpdate = 247, id_NRUESecurityCapabilities = 248, id_PDCPChangeIndication = 249, id_ServedEUTRAcellsENDCX2ManagementList = 250, id_CellAssistanceInformation = 251, id_Globalen_gNB_ID = 252, id_ServedNRcellsENDCX2ManagementList = 253, id_UE_ContextReferenceAtSgNB = 254, id_SecondaryRATUsageReport = 255, id_ActivationID = 256, id_MeNBResourceCoordinationInformation = 257, id_SgNBResourceCoordinationInformation = 258, id_ServedEUTRAcellsToModifyListENDCConfUpd = 259, id_ServedEUTRAcellsToDeleteListENDCConfUpd = 260, id_ServedNRcellsToModifyListENDCConfUpd = 261, id_ServedNRcellsToDeleteListENDCConfUpd = 262, id_E_RABUsageReport_Item = 263, id_Old_SgNB_UE_X2AP_ID = 264, id_SecondaryRATUsageReportList = 265, id_SecondaryRATUsageReport_Item = 266, id_ServedNRCellsToActivate = 267, id_ActivatedNRCellList = 268, id_SelectedPLMN = 269, id_UEs_ToBeReset = 270, id_UEs_Admitted_ToBeReset = 271, id_RRCConfigIndication = 272, id_DownlinkPacketLossRate = 273, id_UplinkPacketLossRate = 274, id_SubscriberProfileIDforRFP = 275, id_serviceType = 276, id_AerialUEsubscriptionInformation = 277, id_SGNB_Addition_Trigger_Ind = 278, id_MeNBCell_ID = 279, id_RequestedSplitSRBsrelease = 280, id_AdmittedSplitSRBsrelease = 281, id_NRS_NSSS_PowerOffset = 282, id_NSSS_NumOccasionDifferentPrecoder = 283, id_ProtectedEUTRAResourceIndication = 284, id_InitiatingNodeType_EutranrCellResourceCoordination = 285, id_RespondingNodeType_EutranrCellResourceCoordination = 286, id_DataTrafficResourceIndication = 287, id_SpectrumSharingGroupID = 288, id_ListofEUTRACellsinEUTRACoordinationReq = 289, id_ListofEUTRACellsinEUTRACoordinationResp = 290, id_ListofEUTRACellsinNRCoordinationReq = 291, id_ListofNRCellsinNRCoordinationReq = 292, id_ListofNRCellsinNRCoordinationResp = 293, id_E_RABs_AdmittedToBeModified_SgNBModConfList = 294, id_E_RABs_AdmittedToBeModified_SgNBModConf_Item = 295, id_UEContextLevelUserPlaneActivity = 296, id_ERABActivityNotifyItemList = 297, id_InitiatingNodeType_EndcX2Removal = 298, id_RespondingNodeType_EndcX2Removal = 299, id_RLC_Status = 300, id_CNTypeRestrictions = 301, id_uLpDCPSnLength = 302, id_BluetoothMeasurementConfiguration = 303, id_WLANMeasurementConfiguration = 304, id_NRrestrictionin5GS = 305, id_dL_Forwarding = 306, id_E_RABs_DataForwardingAddress_List = 307, id_E_RABs_DataForwardingAddress_Item = 308, id_Subscription_Based_UE_DifferentiationInfo = 309, id_GNBOverloadInformation = 310, id_dLPDCPSnLength = 311, id_secondarysgNBDLGTPTEIDatPDCP = 312, id_secondarymeNBULGTPTEIDatPDCP = 313, id_lCID = 314, id_duplicationActivation = 315, id_ECGI = 316, id_RLCMode_transferred = 317, id_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList = 318, id_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item = 319, id_E_RABs_ToBeReleased_SgNBRelReqdList = 320, id_E_RABs_ToBeReleased_SgNBRelReqd_Item = 321, id_NRCGI = 322, id_MeNBCoordinationAssistanceInformation = 323, id_SgNBCoordinationAssistanceInformation = 324, id_new_drb_ID_req = 325, id_endcSONConfigurationTransfer = 326, id_NRNeighbourInfoToAdd = 327, id_NRNeighbourInfoToModify = 328, id_DesiredActNotificationLevel = 329, id_LocationInformationSgNBReporting = 330, id_LocationInformationSgNB = 331, id_LastNG_RANPLMNIdentity = 332, id_EUTRANTraceID = 333, id_additionalPLMNs_Item = 334, id_InterfaceInstanceIndication = 335, id_BPLMN_ID_Info_EUTRA = 336, id_BPLMN_ID_Info_NR = 337, id_NBIoT_UL_DL_AlignmentOffset = 338, id_ERABs_transferred_to_MeNB = 339, id_AdditionalRRMPriorityIndex = 340, id_LowerLayerPresenceStatusChange = 341, id_FastMCGRecovery_SN_to_MN = 342, id_RequestedFastMCGRecoveryViaSRB3 = 343, id_AvailableFastMCGRecoveryViaSRB3 = 344, id_RequestedFastMCGRecoveryViaSRB3Release = 345, id_ReleaseFastMCGRecoveryViaSRB3 = 346, id_FastMCGRecovery_MN_to_SN = 347, id_PartialListIndicator = 348, id_MaximumCellListSize = 349, id_MessageOversizeNotification = 350, id_CellandCapacityAssistInfo = 351, id_TNLConfigurationInfo = 352, id_TNLA_To_Add_List = 353, id_TNLA_To_Update_List = 354, id_TNLA_To_Remove_List = 355, id_TNLA_Setup_List = 356, id_TNLA_Failed_To_Setup_List = 357, id_UnlicensedSpectrumRestriction = 358, id_UEContextReferenceatSourceNGRAN = 359, id_EPCHandoverRestrictionListContainer = 360, id_CHOinformation_REQ = 361, id_CHOinformation_ACK = 362, id_DAPSRequestInfo = 363, id_RequestedTargetCellID = 364, id_CandidateCellsToBeCancelledList = 365, id_DAPSResponseInfo = 366, id_ProcedureStage = 367, id_CHO_DC_Indicator = 368, id_Ethernet_Type = 369, id_NRV2XServicesAuthorized = 370, id_NRUESidelinkAggregateMaximumBitRate = 371, id_PC5QoSParameters = 372, id_NPRACHConfiguration = 373, id_NBIoT_RLF_Report_Container = 374, id_MDTConfigurationNR = 375, id_PrivacyIndicator = 376, id_TraceCollectionEntityIPAddress = 377, id_UERadioCapabilityID = 378, id_SNtriggered = 379, id_CSI_RSTransmissionIndication = 380, id_DLCarrierList = 381, id_TargetCellInNGRAN = 382, id_E_UTRAN_Node1_Measurement_ID = 383, id_E_UTRAN_Node2_Measurement_ID = 384, id_TDDULDLConfigurationCommonNR = 385, id_CarrierList = 386, id_ULCarrierList = 387, id_FrequencyShift7p5khz = 388, id_SSB_PositionsInBurst = 389, id_NRCellPRACHConfig = 390, id_CellToReport_NR_ENDC = 391, id_CellToReport_NR_ENDC_Item = 392, id_CellMeasurementResult_NR_ENDC = 393, id_CellMeasurementResult_NR_ENDC_Item = 394, id_IABNodeIndication = 395, id_QoS_Mapping_Information = 396, id_F1CTrafficContainer = 397, id_Unknown_398 = 398, id_IntendedTDD_DL_ULConfiguration_NR = 399, id_UERadioCapability = 400, id_CellMeasurementResult_E_UTRA_ENDC = 401, id_CellMeasurementResult_E_UTRA_ENDC_Item = 402, id_CellToReport_E_UTRA_ENDC = 403, id_CellToReport_E_UTRA_ENDC_Item = 404, id_TraceCollectionEntityURI = 405, id_SFN_Offset = 406, id_CHO_DC_EarlyDataForwarding = 407, id_IMSvoiceEPSfallbackfrom5G = 408, id_AdditionLocationInformation = 409, id_DirectForwardingPathAvailability = 410, id_sourceNG_RAN_node_id = 411, id_SourceDLForwardingIPAddress = 412, id_SourceNodeDLForwardingIPAddress = 413, id_NRRACHReportInformation = 414, id_SCG_UE_HistoryInformation = 415, id_PSCellHistoryInformationRetrieve = 416, id_MeasurementResultforNRCellsPossiblyAggregated = 417, id_PSCell_UE_HistoryInformation = 418, id_PSCellChangeHistory = 419, id_CHOinformation_AddReq = 420, id_CHOinformation_ModReq = 421, id_SCGActivationStatus = 422, id_SCGActivationRequest = 423, id_CPAinformation_REQ = 424, id_CPAinformation_REQ_ACK = 425, id_CPAinformation_MOD = 426, id_CPAinformation_MOD_ACK = 427, id_CPACinformation_REQD = 428, id_CPCinformation_REQD = 429, id_CPCinformation_CONF = 430, id_CPCinformation_NOTIFY = 431, id_CPCupdate_MOD = 432, id_Additional_Measurement_Timing_Configuration_List = 433, id_ServedCellSpecificInfoReq_NR = 434, id_SecurityIndication = 435, id_SecurityResult = 436, id_RAT_Restrictions = 437, id_SCGreconfigNotification = 438, id_MIMOPRBusageInformation = 439, id_SensorMeasurementConfiguration = 440, id_AdditionalListofForwardingGTPTunnelEndpoint = 441 } ProtocolIE_ID_enum; /* Initialize the protocol and registered fields */ static int proto_x2ap; static int hf_x2ap_transportLayerAddressIPv4; static int hf_x2ap_transportLayerAddressIPv6; static int hf_x2ap_ReportCharacteristics_PRBPeriodic; static int hf_x2ap_ReportCharacteristics_TNLLoadIndPeriodic; static int hf_x2ap_ReportCharacteristics_HWLoadIndPeriodic; static int hf_x2ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic; static int hf_x2ap_ReportCharacteristics_ABSStatusPeriodic; static int hf_x2ap_ReportCharacteristics_RSRPMeasurementReportPeriodic; static int hf_x2ap_ReportCharacteristics_CSIReportPeriodic; static int hf_x2ap_ReportCharacteristics_Reserved; static int hf_x2ap_measurementFailedReportCharacteristics_PRBPeriodic; static int hf_x2ap_measurementFailedReportCharacteristics_TNLLoadIndPeriodic; static int hf_x2ap_measurementFailedReportCharacteristics_HWLoadIndPeriodic; static int hf_x2ap_measurementFailedReportCharacteristics_CompositeAvailableCapacityPeriodic; static int hf_x2ap_measurementFailedReportCharacteristics_ABSStatusPeriodic; static int hf_x2ap_measurementFailedReportCharacteristics_RSRPMeasurementReportPeriodic; static int hf_x2ap_measurementFailedReportCharacteristics_CSIReportPeriodic; static int hf_x2ap_measurementFailedReportCharacteristics_Reserved; static int hf_x2ap_eUTRANTraceID_TraceID; static int hf_x2ap_eUTRANTraceID_TraceRecordingSessionReference; static int hf_x2ap_interfacesToTrace_S1_MME; static int hf_x2ap_interfacesToTrace_X2; static int hf_x2ap_interfacesToTrace_Uu; static int hf_x2ap_interfacesToTrace_F1_C; static int hf_x2ap_interfacesToTrace_E1; static int hf_x2ap_interfacesToTrace_Reserved; static int hf_x2ap_traceCollectionEntityIPAddress_IPv4; static int hf_x2ap_traceCollectionEntityIPAddress_IPv6; static int hf_x2ap_encryptionAlgorithms_EEA1; static int hf_x2ap_encryptionAlgorithms_EEA2; static int hf_x2ap_encryptionAlgorithms_EEA3; static int hf_x2ap_encryptionAlgorithms_Reserved; static int hf_x2ap_integrityProtectionAlgorithms_EIA1; static int hf_x2ap_integrityProtectionAlgorithms_EIA2; static int hf_x2ap_integrityProtectionAlgorithms_EIA3; static int hf_x2ap_integrityProtectionAlgorithms_EIA7; static int hf_x2ap_integrityProtectionAlgorithms_Reserved; static int hf_x2ap_measurementsToActivate_M1; static int hf_x2ap_measurementsToActivate_M2; static int hf_x2ap_measurementsToActivate_M3; static int hf_x2ap_measurementsToActivate_M4; static int hf_x2ap_measurementsToActivate_M5; static int hf_x2ap_measurementsToActivate_LoggingM1FromEventTriggered; static int hf_x2ap_measurementsToActivate_M6; static int hf_x2ap_measurementsToActivate_M7; static int hf_x2ap_MDT_Location_Info_GNSS; static int hf_x2ap_MDT_Location_Info_E_CID; static int hf_x2ap_MDT_Location_Info_Reserved; static int hf_x2ap_MDT_transmissionModes_tm1; static int hf_x2ap_MDT_transmissionModes_tm2; static int hf_x2ap_MDT_transmissionModes_tm3; static int hf_x2ap_MDT_transmissionModes_tm4; static int hf_x2ap_MDT_transmissionModes_tm6; static int hf_x2ap_MDT_transmissionModes_tm8; static int hf_x2ap_MDT_transmissionModes_tm9; static int hf_x2ap_MDT_transmissionModes_tm10; static int hf_x2ap_NRencryptionAlgorithms_NEA1; static int hf_x2ap_NRencryptionAlgorithms_NEA2; static int hf_x2ap_NRencryptionAlgorithms_NEA3; static int hf_x2ap_NRencryptionAlgorithms_Reserved; static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA1; static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA2; static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA3; static int hf_x2ap_NRintegrityProtectionAlgorithms_Reserved; static int hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic; static int hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic; static int hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic; static int hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs; static int hf_x2ap_ReportCharacteristics_ENDC_Reserved; static int hf_x2ap_Registration_Request_ENDC_PDU; static int hf_x2ap_ReportingPeriodicity_ENDC_PDU; static int hf_x2ap_ReportCharacteristics_ENDC_PDU; static int hf_x2ap_rAT_RestrictionInformation_LEO; static int hf_x2ap_rAT_RestrictionInformation_MEO; static int hf_x2ap_rAT_RestrictionInformation_GEO; static int hf_x2ap_rAT_RestrictionInformation_OTHERSAT; static int hf_x2ap_rAT_RestrictionInformation_Reserved; static int hf_x2ap_ABSInformation_PDU; /* ABSInformation */ static int hf_x2ap_ABS_Status_PDU; /* ABS_Status */ static int hf_x2ap_ActivationID_PDU; /* ActivationID */ static int hf_x2ap_Additional_Measurement_Timing_Configuration_List_PDU; /* Additional_Measurement_Timing_Configuration_List */ static int hf_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_PDU; /* AdditionalListofForwardingGTPTunnelEndpoint */ static int hf_x2ap_AdditionLocationInformation_PDU; /* AdditionLocationInformation */ static int hf_x2ap_AdditionalRRMPriorityIndex_PDU; /* AdditionalRRMPriorityIndex */ static int hf_x2ap_AdditionalSpecialSubframe_Info_PDU; /* AdditionalSpecialSubframe_Info */ static int hf_x2ap_AdditionalSpecialSubframeExtension_Info_PDU; /* AdditionalSpecialSubframeExtension_Info */ static int hf_x2ap_AvailableFastMCGRecoveryViaSRB3_PDU; /* AvailableFastMCGRecoveryViaSRB3 */ static int hf_x2ap_AerialUEsubscriptionInformation_PDU; /* AerialUEsubscriptionInformation */ static int hf_x2ap_AdditionalPLMNs_Item_PDU; /* AdditionalPLMNs_Item */ static int hf_x2ap_BandwidthReducedSI_PDU; /* BandwidthReducedSI */ static int hf_x2ap_BearerType_PDU; /* BearerType */ static int hf_x2ap_BluetoothMeasurementConfiguration_PDU; /* BluetoothMeasurementConfiguration */ static int hf_x2ap_BPLMN_ID_Info_EUTRA_PDU; /* BPLMN_ID_Info_EUTRA */ static int hf_x2ap_BPLMN_ID_Info_NR_PDU; /* BPLMN_ID_Info_NR */ static int hf_x2ap_Cause_PDU; /* Cause */ static int hf_x2ap_CellReportingIndicator_PDU; /* CellReportingIndicator */ static int hf_x2ap_CPAinformation_REQ_PDU; /* CPAinformation_REQ */ static int hf_x2ap_CPAinformation_REQ_ACK_PDU; /* CPAinformation_REQ_ACK */ static int hf_x2ap_CPCinformation_REQD_PDU; /* CPCinformation_REQD */ static int hf_x2ap_CPCinformation_CONF_PDU; /* CPCinformation_CONF */ static int hf_x2ap_CPCinformation_NOTIFY_PDU; /* CPCinformation_NOTIFY */ static int hf_x2ap_CPAinformation_MOD_PDU; /* CPAinformation_MOD */ static int hf_x2ap_CPCupdate_MOD_PDU; /* CPCupdate_MOD */ static int hf_x2ap_CPAinformation_MOD_ACK_PDU; /* CPAinformation_MOD_ACK */ static int hf_x2ap_CPACinformation_REQD_PDU; /* CPACinformation_REQD */ static int hf_x2ap_CHO_DC_EarlyDataForwarding_PDU; /* CHO_DC_EarlyDataForwarding */ static int hf_x2ap_CHO_DC_Indicator_PDU; /* CHO_DC_Indicator */ static int hf_x2ap_CNTypeRestrictions_PDU; /* CNTypeRestrictions */ static int hf_x2ap_CoMPInformation_PDU; /* CoMPInformation */ static int hf_x2ap_CompositeAvailableCapacityGroup_PDU; /* CompositeAvailableCapacityGroup */ static int hf_x2ap_Correlation_ID_PDU; /* Correlation_ID */ static int hf_x2ap_COUNTValueExtended_PDU; /* COUNTValueExtended */ static int hf_x2ap_COUNTvaluePDCP_SNlength18_PDU; /* COUNTvaluePDCP_SNlength18 */ static int hf_x2ap_CoverageModificationList_PDU; /* CoverageModificationList */ static int hf_x2ap_CriticalityDiagnostics_PDU; /* CriticalityDiagnostics */ static int hf_x2ap_CRNTI_PDU; /* CRNTI */ static int hf_x2ap_CSGMembershipStatus_PDU; /* CSGMembershipStatus */ static int hf_x2ap_CSG_Id_PDU; /* CSG_Id */ static int hf_x2ap_CSIReportList_PDU; /* CSIReportList */ static int hf_x2ap_CHOinformation_REQ_PDU; /* CHOinformation_REQ */ static int hf_x2ap_CHOinformation_ACK_PDU; /* CHOinformation_ACK */ static int hf_x2ap_CandidateCellsToBeCancelledList_PDU; /* CandidateCellsToBeCancelledList */ static int hf_x2ap_CHOinformation_AddReq_PDU; /* CHOinformation_AddReq */ static int hf_x2ap_CHOinformation_ModReq_PDU; /* CHOinformation_ModReq */ static int hf_x2ap_CSI_RSTransmissionIndication_PDU; /* CSI_RSTransmissionIndication */ static int hf_x2ap_DataTrafficResourceIndication_PDU; /* DataTrafficResourceIndication */ static int hf_x2ap_DAPSRequestInfo_PDU; /* DAPSRequestInfo */ static int hf_x2ap_DAPSResponseInfo_PDU; /* DAPSResponseInfo */ static int hf_x2ap_DeactivationIndication_PDU; /* DeactivationIndication */ static int hf_x2ap_DesiredActNotificationLevel_PDU; /* DesiredActNotificationLevel */ static int hf_x2ap_DirectForwardingPathAvailability_PDU; /* DirectForwardingPathAvailability */ static int hf_x2ap_DL_Forwarding_PDU; /* DL_Forwarding */ static int hf_x2ap_DL_scheduling_PDCCH_CCE_usage_PDU; /* DL_scheduling_PDCCH_CCE_usage */ static int hf_x2ap_DuplicationActivation_PDU; /* DuplicationActivation */ static int hf_x2ap_DynamicDLTransmissionInformation_PDU; /* DynamicDLTransmissionInformation */ static int hf_x2ap_EARFCNExtension_PDU; /* EARFCNExtension */ static int hf_x2ap_ECGI_PDU; /* ECGI */ static int hf_x2ap_EndcSONConfigurationTransfer_PDU; /* EndcSONConfigurationTransfer */ static int hf_x2ap_EnhancedRNTP_PDU; /* EnhancedRNTP */ static int hf_x2ap_EPCHandoverRestrictionListContainer_PDU; /* EPCHandoverRestrictionListContainer */ static int hf_x2ap_ERABActivityNotifyItemList_PDU; /* ERABActivityNotifyItemList */ static int hf_x2ap_E_RAB_List_PDU; /* E_RAB_List */ static int hf_x2ap_E_RAB_Item_PDU; /* E_RAB_Item */ static int hf_x2ap_E_RABUsageReport_Item_PDU; /* E_RABUsageReport_Item */ static int hf_x2ap_Ethernet_Type_PDU; /* Ethernet_Type */ static int hf_x2ap_EUTRANCellIdentifier_PDU; /* EUTRANCellIdentifier */ static int hf_x2ap_EUTRANTraceID_PDU; /* EUTRANTraceID */ static int hf_x2ap_ExpectedUEBehaviour_PDU; /* ExpectedUEBehaviour */ static int hf_x2ap_ExtendedULInterferenceOverloadInfo_PDU; /* ExtendedULInterferenceOverloadInfo */ static int hf_x2ap_ExtendedBitRate_PDU; /* ExtendedBitRate */ static int hf_x2ap_F1CTrafficContainer_PDU; /* F1CTrafficContainer */ static int hf_x2ap_FastMCGRecovery_PDU; /* FastMCGRecovery */ static int hf_x2ap_FreqBandIndicatorPriority_PDU; /* FreqBandIndicatorPriority */ static int hf_x2ap_FrequencyShift7p5khz_PDU; /* FrequencyShift7p5khz */ static int hf_x2ap_GlobalENB_ID_PDU; /* GlobalENB_ID */ static int hf_x2ap_GlobalGNB_ID_PDU; /* GlobalGNB_ID */ static int hf_x2ap_Global_RAN_NODE_ID_PDU; /* Global_RAN_NODE_ID */ static int hf_x2ap_GNBOverloadInformation_PDU; /* GNBOverloadInformation */ static int hf_x2ap_GTPtunnelEndpoint_PDU; /* GTPtunnelEndpoint */ static int hf_x2ap_GUGroupIDList_PDU; /* GUGroupIDList */ static int hf_x2ap_GUMMEI_PDU; /* GUMMEI */ static int hf_x2ap_HandoverReportType_PDU; /* HandoverReportType */ static int hf_x2ap_HandoverRestrictionList_PDU; /* HandoverRestrictionList */ static int hf_x2ap_IABNodeIndication_PDU; /* IABNodeIndication */ static int hf_x2ap_IMSvoiceEPSfallbackfrom5G_PDU; /* IMSvoiceEPSfallbackfrom5G */ static int hf_x2ap_IntendedTDD_DL_ULConfiguration_NR_PDU; /* IntendedTDD_DL_ULConfiguration_NR */ static int hf_x2ap_InterfaceInstanceIndication_PDU; /* InterfaceInstanceIndication */ static int hf_x2ap_InvokeIndication_PDU; /* InvokeIndication */ static int hf_x2ap_LCID_PDU; /* LCID */ static int hf_x2ap_LHN_ID_PDU; /* LHN_ID */ static int hf_x2ap_LocationInformationSgNB_PDU; /* LocationInformationSgNB */ static int hf_x2ap_LocationInformationSgNBReporting_PDU; /* LocationInformationSgNBReporting */ static int hf_x2ap_LowerLayerPresenceStatusChange_PDU; /* LowerLayerPresenceStatusChange */ static int hf_x2ap_M3Configuration_PDU; /* M3Configuration */ static int hf_x2ap_M4Configuration_PDU; /* M4Configuration */ static int hf_x2ap_M5Configuration_PDU; /* M5Configuration */ static int hf_x2ap_M6Configuration_PDU; /* M6Configuration */ static int hf_x2ap_M7Configuration_PDU; /* M7Configuration */ static int hf_x2ap_MakeBeforeBreakIndicator_PDU; /* MakeBeforeBreakIndicator */ static int hf_x2ap_ManagementBasedMDTallowed_PDU; /* ManagementBasedMDTallowed */ static int hf_x2ap_Masked_IMEISV_PDU; /* Masked_IMEISV */ static int hf_x2ap_MDT_Configuration_PDU; /* MDT_Configuration */ static int hf_x2ap_MDTPLMNList_PDU; /* MDTPLMNList */ static int hf_x2ap_MDT_Location_Info_PDU; /* MDT_Location_Info */ static int hf_x2ap_Measurement_ID_PDU; /* Measurement_ID */ static int hf_x2ap_Measurement_ID_ENDC_PDU; /* Measurement_ID_ENDC */ static int hf_x2ap_MeNBCoordinationAssistanceInformation_PDU; /* MeNBCoordinationAssistanceInformation */ static int hf_x2ap_x2ap_MeNBResourceCoordinationInformation_PDU; /* MeNBResourceCoordinationInformation */ static int hf_x2ap_MeNBtoSeNBContainer_PDU; /* MeNBtoSeNBContainer */ static int hf_x2ap_MBMS_Service_Area_Identity_List_PDU; /* MBMS_Service_Area_Identity_List */ static int hf_x2ap_MBSFN_Subframe_Infolist_PDU; /* MBSFN_Subframe_Infolist */ static int hf_x2ap_MDT_ConfigurationNR_PDU; /* MDT_ConfigurationNR */ static int hf_x2ap_MobilityParametersModificationRange_PDU; /* MobilityParametersModificationRange */ static int hf_x2ap_MobilityParametersInformation_PDU; /* MobilityParametersInformation */ static int hf_x2ap_MultibandInfoList_PDU; /* MultibandInfoList */ static int hf_x2ap_MessageOversizeNotification_PDU; /* MessageOversizeNotification */ static int hf_x2ap_MeNBtoSgNBContainer_PDU; /* MeNBtoSgNBContainer */ static int hf_x2ap_SplitSRBs_PDU; /* SplitSRBs */ static int hf_x2ap_SplitSRB_PDU; /* SplitSRB */ static int hf_x2ap_NBIoT_UL_DL_AlignmentOffset_PDU; /* NBIoT_UL_DL_AlignmentOffset */ static int hf_x2ap_NBIoT_RLF_Report_Container_PDU; /* NBIoT_RLF_Report_Container */ static int hf_x2ap_NewDRBIDrequest_PDU; /* NewDRBIDrequest */ static int hf_x2ap_Number_of_Antennaports_PDU; /* Number_of_Antennaports */ static int hf_x2ap_NRCarrierList_PDU; /* NRCarrierList */ static int hf_x2ap_NRCellPRACHConfig_PDU; /* NRCellPRACHConfig */ static int hf_x2ap_NRCGI_PDU; /* NRCGI */ static int hf_x2ap_NRRACHReportInformation_PDU; /* NRRACHReportInformation */ static int hf_x2ap_NRNeighbour_Information_PDU; /* NRNeighbour_Information */ static int hf_x2ap_NPRACHConfiguration_PDU; /* NPRACHConfiguration */ static int hf_x2ap_NRrestrictioninEPSasSecondaryRAT_PDU; /* NRrestrictioninEPSasSecondaryRAT */ static int hf_x2ap_MeasurementResultforNRCellsPossiblyAggregated_PDU; /* MeasurementResultforNRCellsPossiblyAggregated */ static int hf_x2ap_MIMOPRBusageInformation_PDU; /* MIMOPRBusageInformation */ static int hf_x2ap_NRrestrictionin5GS_PDU; /* NRrestrictionin5GS */ static int hf_x2ap_NRS_NSSS_PowerOffset_PDU; /* NRS_NSSS_PowerOffset */ static int hf_x2ap_NRUeReport_PDU; /* NRUeReport */ static int hf_x2ap_NRUESidelinkAggregateMaximumBitRate_PDU; /* NRUESidelinkAggregateMaximumBitRate */ static int hf_x2ap_NRUESecurityCapabilities_PDU; /* NRUESecurityCapabilities */ static int hf_x2ap_NSSS_NumOccasionDifferentPrecoder_PDU; /* NSSS_NumOccasionDifferentPrecoder */ static int hf_x2ap_NRV2XServicesAuthorized_PDU; /* NRV2XServicesAuthorized */ static int hf_x2ap_OffsetOfNbiotChannelNumberToEARFCN_PDU; /* OffsetOfNbiotChannelNumberToEARFCN */ static int hf_x2ap_Packet_LossRate_PDU; /* Packet_LossRate */ static int hf_x2ap_PC5QoSParameters_PDU; /* PC5QoSParameters */ static int hf_x2ap_PDCPChangeIndication_PDU; /* PDCPChangeIndication */ static int hf_x2ap_PDCPSnLength_PDU; /* PDCPSnLength */ static int hf_x2ap_PCI_PDU; /* PCI */ static int hf_x2ap_PLMN_Identity_PDU; /* PLMN_Identity */ static int hf_x2ap_PRACH_Configuration_PDU; /* PRACH_Configuration */ static int hf_x2ap_ProSeAuthorized_PDU; /* ProSeAuthorized */ static int hf_x2ap_ProSeUEtoNetworkRelaying_PDU; /* ProSeUEtoNetworkRelaying */ static int hf_x2ap_x2ap_ProtectedEUTRAResourceIndication_PDU; /* ProtectedEUTRAResourceIndication */ static int hf_x2ap_PartialListIndicator_PDU; /* PartialListIndicator */ static int hf_x2ap_PrivacyIndicator_PDU; /* PrivacyIndicator */ static int hf_x2ap_PSCellHistoryInformationRetrieve_PDU; /* PSCellHistoryInformationRetrieve */ static int hf_x2ap_PSCell_UE_HistoryInformation_PDU; /* PSCell_UE_HistoryInformation */ static int hf_x2ap_PSCellChangeHistory_PDU; /* PSCellChangeHistory */ static int hf_x2ap_QoS_Mapping_Information_PDU; /* QoS_Mapping_Information */ static int hf_x2ap_RAN_UE_NGAP_ID_PDU; /* RAN_UE_NGAP_ID */ static int hf_x2ap_RAT_Restrictions_PDU; /* RAT_Restrictions */ static int hf_x2ap_ReceiveStatusOfULPDCPSDUsExtended_PDU; /* ReceiveStatusOfULPDCPSDUsExtended */ static int hf_x2ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU; /* ReceiveStatusOfULPDCPSDUsPDCP_SNlength18 */ static int hf_x2ap_ReleaseFastMCGRecoveryViaSRB3_PDU; /* ReleaseFastMCGRecoveryViaSRB3 */ static int hf_x2ap_Registration_Request_PDU; /* Registration_Request */ static int hf_x2ap_ReportCharacteristics_PDU; /* ReportCharacteristics */ static int hf_x2ap_ReportingPeriodicityCSIR_PDU; /* ReportingPeriodicityCSIR */ static int hf_x2ap_ReportingPeriodicityRSRPMR_PDU; /* ReportingPeriodicityRSRPMR */ static int hf_x2ap_RequestedFastMCGRecoveryViaSRB3_PDU; /* RequestedFastMCGRecoveryViaSRB3 */ static int hf_x2ap_RequestedFastMCGRecoveryViaSRB3Release_PDU; /* RequestedFastMCGRecoveryViaSRB3Release */ static int hf_x2ap_ResumeID_PDU; /* ResumeID */ static int hf_x2ap_RLCMode_PDU; /* RLCMode */ static int hf_x2ap_RLC_Status_PDU; /* RLC_Status */ static int hf_x2ap_RRC_Config_Ind_PDU; /* RRC_Config_Ind */ static int hf_x2ap_RRCConnReestabIndicator_PDU; /* RRCConnReestabIndicator */ static int hf_x2ap_RRCConnSetupIndicator_PDU; /* RRCConnSetupIndicator */ static int hf_x2ap_RSRPMRList_PDU; /* RSRPMRList */ static int hf_x2ap_SCGActivationStatus_PDU; /* SCGActivationStatus */ static int hf_x2ap_SCGActivationRequest_PDU; /* SCGActivationRequest */ static int hf_x2ap_SCGChangeIndication_PDU; /* SCGChangeIndication */ static int hf_x2ap_SCGreconfigNotification_PDU; /* SCGreconfigNotification */ static int hf_x2ap_SCG_UE_HistoryInformation_PDU; /* SCG_UE_HistoryInformation */ static int hf_x2ap_SecondaryRATUsageReportList_PDU; /* SecondaryRATUsageReportList */ static int hf_x2ap_SecondaryRATUsageReport_Item_PDU; /* SecondaryRATUsageReport_Item */ static int hf_x2ap_SecurityIndication_PDU; /* SecurityIndication */ static int hf_x2ap_SecurityResult_PDU; /* SecurityResult */ static int hf_x2ap_SeNBSecurityKey_PDU; /* SeNBSecurityKey */ static int hf_x2ap_SeNBtoMeNBContainer_PDU; /* SeNBtoMeNBContainer */ static int hf_x2ap_SensorMeasurementConfiguration_PDU; /* SensorMeasurementConfiguration */ static int hf_x2ap_ServedCells_PDU; /* ServedCells */ static int hf_x2ap_ServedCellSpecificInfoReq_NR_PDU; /* ServedCellSpecificInfoReq_NR */ static int hf_x2ap_ServiceType_PDU; /* ServiceType */ static int hf_x2ap_SgNBCoordinationAssistanceInformation_PDU; /* SgNBCoordinationAssistanceInformation */ static int hf_x2ap_x2ap_SgNBResourceCoordinationInformation_PDU; /* SgNBResourceCoordinationInformation */ static int hf_x2ap_SgNB_UE_X2AP_ID_PDU; /* SgNB_UE_X2AP_ID */ static int hf_x2ap_SIPTOBearerDeactivationIndication_PDU; /* SIPTOBearerDeactivationIndication */ static int hf_x2ap_ShortMAC_I_PDU; /* ShortMAC_I */ static int hf_x2ap_SGNB_Addition_Trigger_Ind_PDU; /* SGNB_Addition_Trigger_Ind */ static int hf_x2ap_SNtriggered_PDU; /* SNtriggered */ static int hf_x2ap_SpectrumSharingGroupID_PDU; /* SpectrumSharingGroupID */ static int hf_x2ap_Subscription_Based_UE_DifferentiationInfo_PDU; /* Subscription_Based_UE_DifferentiationInfo */ static int hf_x2ap_SRVCCOperationPossible_PDU; /* SRVCCOperationPossible */ static int hf_x2ap_SSB_PositionsInBurst_PDU; /* SSB_PositionsInBurst */ static int hf_x2ap_SubscriberProfileIDforRFP_PDU; /* SubscriberProfileIDforRFP */ static int hf_x2ap_SubframeAssignment_PDU; /* SubframeAssignment */ static int hf_x2ap_SgNBSecurityKey_PDU; /* SgNBSecurityKey */ static int hf_x2ap_SgNBtoMeNBContainer_PDU; /* SgNBtoMeNBContainer */ static int hf_x2ap_SCGConfigurationQuery_PDU; /* SCGConfigurationQuery */ static int hf_x2ap_SFN_Offset_PDU; /* SFN_Offset */ static int hf_x2ap_TAC_PDU; /* TAC */ static int hf_x2ap_TargetCellInNGRAN_PDU; /* TargetCellInNGRAN */ static int hf_x2ap_TargetCellInUTRAN_PDU; /* TargetCellInUTRAN */ static int hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU; /* TargeteNBtoSource_eNBTransparentContainer */ static int hf_x2ap_TDDULDLConfigurationCommonNR_PDU; /* TDDULDLConfigurationCommonNR */ static int hf_x2ap_TimeToWait_PDU; /* TimeToWait */ static int hf_x2ap_Time_UE_StayedInCell_EnhancedGranularity_PDU; /* Time_UE_StayedInCell_EnhancedGranularity */ static int hf_x2ap_TNLA_To_Add_List_PDU; /* TNLA_To_Add_List */ static int hf_x2ap_TNLA_To_Update_List_PDU; /* TNLA_To_Update_List */ static int hf_x2ap_TNLA_To_Remove_List_PDU; /* TNLA_To_Remove_List */ static int hf_x2ap_TNLA_Setup_List_PDU; /* TNLA_Setup_List */ static int hf_x2ap_TNLA_Failed_To_Setup_List_PDU; /* TNLA_Failed_To_Setup_List */ static int hf_x2ap_TNLConfigurationInfo_PDU; /* TNLConfigurationInfo */ static int hf_x2ap_TraceActivation_PDU; /* TraceActivation */ static int hf_x2ap_TransportLayerAddress_PDU; /* TransportLayerAddress */ static int hf_x2ap_TunnelInformation_PDU; /* TunnelInformation */ static int hf_x2ap_UEAggregateMaximumBitRate_PDU; /* UEAggregateMaximumBitRate */ static int hf_x2ap_UEAppLayerMeasConfig_PDU; /* UEAppLayerMeasConfig */ static int hf_x2ap_UE_ContextKeptIndicator_PDU; /* UE_ContextKeptIndicator */ static int hf_x2ap_UEID_PDU; /* UEID */ static int hf_x2ap_UE_HistoryInformation_PDU; /* UE_HistoryInformation */ static int hf_x2ap_UE_HistoryInformationFromTheUE_PDU; /* UE_HistoryInformationFromTheUE */ static int hf_x2ap_UE_X2AP_ID_PDU; /* UE_X2AP_ID */ static int hf_x2ap_UE_X2AP_ID_Extension_PDU; /* UE_X2AP_ID_Extension */ static int hf_x2ap_UERadioCapability_PDU; /* UERadioCapability */ static int hf_x2ap_UERadioCapabilityID_PDU; /* UERadioCapabilityID */ static int hf_x2ap_UE_RLF_Report_Container_PDU; /* UE_RLF_Report_Container */ static int hf_x2ap_UE_RLF_Report_Container_for_extended_bands_PDU; /* UE_RLF_Report_Container_for_extended_bands */ static int hf_x2ap_UESecurityCapabilities_PDU; /* UESecurityCapabilities */ static int hf_x2ap_UESidelinkAggregateMaximumBitRate_PDU; /* UESidelinkAggregateMaximumBitRate */ static int hf_x2ap_UEsToBeResetList_PDU; /* UEsToBeResetList */ static int hf_x2ap_UL_scheduling_PDCCH_CCE_usage_PDU; /* UL_scheduling_PDCCH_CCE_usage */ static int hf_x2ap_UnlicensedSpectrumRestriction_PDU; /* UnlicensedSpectrumRestriction */ static int hf_x2ap_URI_Address_PDU; /* URI_Address */ static int hf_x2ap_UserPlaneTrafficActivityReport_PDU; /* UserPlaneTrafficActivityReport */ static int hf_x2ap_V2XServicesAuthorized_PDU; /* V2XServicesAuthorized */ static int hf_x2ap_WLANMeasurementConfiguration_PDU; /* WLANMeasurementConfiguration */ static int hf_x2ap_X2BenefitValue_PDU; /* X2BenefitValue */ static int hf_x2ap_HandoverRequest_PDU; /* HandoverRequest */ static int hf_x2ap_UE_ContextInformation_PDU; /* UE_ContextInformation */ static int hf_x2ap_E_RABs_ToBeSetup_Item_PDU; /* E_RABs_ToBeSetup_Item */ static int hf_x2ap_MobilityInformation_PDU; /* MobilityInformation */ static int hf_x2ap_UE_ContextReferenceAtSeNB_PDU; /* UE_ContextReferenceAtSeNB */ static int hf_x2ap_UE_ContextReferenceAtWT_PDU; /* UE_ContextReferenceAtWT */ static int hf_x2ap_UE_ContextReferenceAtSgNB_PDU; /* UE_ContextReferenceAtSgNB */ static int hf_x2ap_HandoverRequestAcknowledge_PDU; /* HandoverRequestAcknowledge */ static int hf_x2ap_E_RABs_Admitted_List_PDU; /* E_RABs_Admitted_List */ static int hf_x2ap_E_RABs_Admitted_Item_PDU; /* E_RABs_Admitted_Item */ static int hf_x2ap_HandoverPreparationFailure_PDU; /* HandoverPreparationFailure */ static int hf_x2ap_HandoverReport_PDU; /* HandoverReport */ static int hf_x2ap_EarlyStatusTransfer_PDU; /* EarlyStatusTransfer */ static int hf_x2ap_ProcedureStageChoice_PDU; /* ProcedureStageChoice */ static int hf_x2ap_SNStatusTransfer_PDU; /* SNStatusTransfer */ static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU; /* E_RABs_SubjectToStatusTransfer_List */ static int hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU; /* E_RABs_SubjectToStatusTransfer_Item */ static int hf_x2ap_UEContextRelease_PDU; /* UEContextRelease */ static int hf_x2ap_HandoverCancel_PDU; /* HandoverCancel */ static int hf_x2ap_HandoverSuccess_PDU; /* HandoverSuccess */ static int hf_x2ap_ConditionalHandoverCancel_PDU; /* ConditionalHandoverCancel */ static int hf_x2ap_ErrorIndication_PDU; /* ErrorIndication */ static int hf_x2ap_ResetRequest_PDU; /* ResetRequest */ static int hf_x2ap_ResetResponse_PDU; /* ResetResponse */ static int hf_x2ap_X2SetupRequest_PDU; /* X2SetupRequest */ static int hf_x2ap_X2SetupResponse_PDU; /* X2SetupResponse */ static int hf_x2ap_X2SetupFailure_PDU; /* X2SetupFailure */ static int hf_x2ap_LoadInformation_PDU; /* LoadInformation */ static int hf_x2ap_CellInformation_List_PDU; /* CellInformation_List */ static int hf_x2ap_CellInformation_Item_PDU; /* CellInformation_Item */ static int hf_x2ap_ENBConfigurationUpdate_PDU; /* ENBConfigurationUpdate */ static int hf_x2ap_ServedCellsToModify_PDU; /* ServedCellsToModify */ static int hf_x2ap_Old_ECGIs_PDU; /* Old_ECGIs */ static int hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU; /* ENBConfigurationUpdateAcknowledge */ static int hf_x2ap_ENBConfigurationUpdateFailure_PDU; /* ENBConfigurationUpdateFailure */ static int hf_x2ap_ResourceStatusRequest_PDU; /* ResourceStatusRequest */ static int hf_x2ap_CellToReport_List_PDU; /* CellToReport_List */ static int hf_x2ap_CellToReport_Item_PDU; /* CellToReport_Item */ static int hf_x2ap_ReportingPeriodicity_PDU; /* ReportingPeriodicity */ static int hf_x2ap_PartialSuccessIndicator_PDU; /* PartialSuccessIndicator */ static int hf_x2ap_ResourceStatusResponse_PDU; /* ResourceStatusResponse */ static int hf_x2ap_MeasurementInitiationResult_List_PDU; /* MeasurementInitiationResult_List */ static int hf_x2ap_MeasurementInitiationResult_Item_PDU; /* MeasurementInitiationResult_Item */ static int hf_x2ap_MeasurementFailureCause_Item_PDU; /* MeasurementFailureCause_Item */ static int hf_x2ap_ResourceStatusFailure_PDU; /* ResourceStatusFailure */ static int hf_x2ap_CompleteFailureCauseInformation_List_PDU; /* CompleteFailureCauseInformation_List */ static int hf_x2ap_CompleteFailureCauseInformation_Item_PDU; /* CompleteFailureCauseInformation_Item */ static int hf_x2ap_ResourceStatusUpdate_PDU; /* ResourceStatusUpdate */ static int hf_x2ap_CellMeasurementResult_List_PDU; /* CellMeasurementResult_List */ static int hf_x2ap_CellMeasurementResult_Item_PDU; /* CellMeasurementResult_Item */ static int hf_x2ap_PrivateMessage_PDU; /* PrivateMessage */ static int hf_x2ap_MobilityChangeRequest_PDU; /* MobilityChangeRequest */ static int hf_x2ap_MobilityChangeAcknowledge_PDU; /* MobilityChangeAcknowledge */ static int hf_x2ap_MobilityChangeFailure_PDU; /* MobilityChangeFailure */ static int hf_x2ap_RLFIndication_PDU; /* RLFIndication */ static int hf_x2ap_CellActivationRequest_PDU; /* CellActivationRequest */ static int hf_x2ap_ServedCellsToActivate_PDU; /* ServedCellsToActivate */ static int hf_x2ap_CellActivationResponse_PDU; /* CellActivationResponse */ static int hf_x2ap_ActivatedCellList_PDU; /* ActivatedCellList */ static int hf_x2ap_CellActivationFailure_PDU; /* CellActivationFailure */ static int hf_x2ap_X2Release_PDU; /* X2Release */ static int hf_x2ap_X2APMessageTransfer_PDU; /* X2APMessageTransfer */ static int hf_x2ap_RNL_Header_PDU; /* RNL_Header */ static int hf_x2ap_X2AP_Message_PDU; /* X2AP_Message */ static int hf_x2ap_SeNBAdditionRequest_PDU; /* SeNBAdditionRequest */ static int hf_x2ap_E_RABs_ToBeAdded_List_PDU; /* E_RABs_ToBeAdded_List */ static int hf_x2ap_E_RABs_ToBeAdded_Item_PDU; /* E_RABs_ToBeAdded_Item */ static int hf_x2ap_SeNBAdditionRequestAcknowledge_PDU; /* SeNBAdditionRequestAcknowledge */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_List_PDU; /* E_RABs_Admitted_ToBeAdded_List */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_Item_PDU; /* E_RABs_Admitted_ToBeAdded_Item */ static int hf_x2ap_SeNBAdditionRequestReject_PDU; /* SeNBAdditionRequestReject */ static int hf_x2ap_SeNBReconfigurationComplete_PDU; /* SeNBReconfigurationComplete */ static int hf_x2ap_ResponseInformationSeNBReconfComp_PDU; /* ResponseInformationSeNBReconfComp */ static int hf_x2ap_SeNBModificationRequest_PDU; /* SeNBModificationRequest */ static int hf_x2ap_UE_ContextInformationSeNBModReq_PDU; /* UE_ContextInformationSeNBModReq */ static int hf_x2ap_E_RABs_ToBeAdded_ModReqItem_PDU; /* E_RABs_ToBeAdded_ModReqItem */ static int hf_x2ap_E_RABs_ToBeModified_ModReqItem_PDU; /* E_RABs_ToBeModified_ModReqItem */ static int hf_x2ap_E_RABs_ToBeReleased_ModReqItem_PDU; /* E_RABs_ToBeReleased_ModReqItem */ static int hf_x2ap_SeNBModificationRequestAcknowledge_PDU; /* SeNBModificationRequestAcknowledge */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList_PDU; /* E_RABs_Admitted_ToBeAdded_ModAckList */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_PDU; /* E_RABs_Admitted_ToBeAdded_ModAckItem */ static int hf_x2ap_E_RABs_Admitted_ToBeModified_ModAckList_PDU; /* E_RABs_Admitted_ToBeModified_ModAckList */ static int hf_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_PDU; /* E_RABs_Admitted_ToBeModified_ModAckItem */ static int hf_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList_PDU; /* E_RABs_Admitted_ToBeReleased_ModAckList */ static int hf_x2ap_E_RABs_Admitted_ToReleased_ModAckItem_PDU; /* E_RABs_Admitted_ToReleased_ModAckItem */ static int hf_x2ap_SeNBModificationRequestReject_PDU; /* SeNBModificationRequestReject */ static int hf_x2ap_SeNBModificationRequired_PDU; /* SeNBModificationRequired */ static int hf_x2ap_E_RABs_ToBeReleased_ModReqd_PDU; /* E_RABs_ToBeReleased_ModReqd */ static int hf_x2ap_E_RABs_ToBeReleased_ModReqdItem_PDU; /* E_RABs_ToBeReleased_ModReqdItem */ static int hf_x2ap_SeNBModificationConfirm_PDU; /* SeNBModificationConfirm */ static int hf_x2ap_SeNBModificationRefuse_PDU; /* SeNBModificationRefuse */ static int hf_x2ap_SeNBReleaseRequest_PDU; /* SeNBReleaseRequest */ static int hf_x2ap_E_RABs_ToBeReleased_List_RelReq_PDU; /* E_RABs_ToBeReleased_List_RelReq */ static int hf_x2ap_E_RABs_ToBeReleased_RelReqItem_PDU; /* E_RABs_ToBeReleased_RelReqItem */ static int hf_x2ap_SeNBReleaseRequired_PDU; /* SeNBReleaseRequired */ static int hf_x2ap_SeNBReleaseConfirm_PDU; /* SeNBReleaseConfirm */ static int hf_x2ap_E_RABs_ToBeReleased_List_RelConf_PDU; /* E_RABs_ToBeReleased_List_RelConf */ static int hf_x2ap_E_RABs_ToBeReleased_RelConfItem_PDU; /* E_RABs_ToBeReleased_RelConfItem */ static int hf_x2ap_SeNBCounterCheckRequest_PDU; /* SeNBCounterCheckRequest */ static int hf_x2ap_E_RABs_SubjectToCounterCheck_List_PDU; /* E_RABs_SubjectToCounterCheck_List */ static int hf_x2ap_E_RABs_SubjectToCounterCheckItem_PDU; /* E_RABs_SubjectToCounterCheckItem */ static int hf_x2ap_X2RemovalRequest_PDU; /* X2RemovalRequest */ static int hf_x2ap_X2RemovalResponse_PDU; /* X2RemovalResponse */ static int hf_x2ap_X2RemovalFailure_PDU; /* X2RemovalFailure */ static int hf_x2ap_RetrieveUEContextRequest_PDU; /* RetrieveUEContextRequest */ static int hf_x2ap_RetrieveUEContextResponse_PDU; /* RetrieveUEContextResponse */ static int hf_x2ap_UE_ContextInformationRetrieve_PDU; /* UE_ContextInformationRetrieve */ static int hf_x2ap_E_RABs_ToBeSetupRetrieve_Item_PDU; /* E_RABs_ToBeSetupRetrieve_Item */ static int hf_x2ap_RetrieveUEContextFailure_PDU; /* RetrieveUEContextFailure */ static int hf_x2ap_SgNBAdditionRequest_PDU; /* SgNBAdditionRequest */ static int hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_PDU; /* E_RABs_ToBeAdded_SgNBAddReqList */ static int hf_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_PDU; /* E_RABs_ToBeAdded_SgNBAddReq_Item */ static int hf_x2ap_SgNBAdditionRequestAcknowledge_PDU; /* SgNBAdditionRequestAcknowledge */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_PDU; /* E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_PDU; /* E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item */ static int hf_x2ap_SgNBAdditionRequestReject_PDU; /* SgNBAdditionRequestReject */ static int hf_x2ap_SgNBReconfigurationComplete_PDU; /* SgNBReconfigurationComplete */ static int hf_x2ap_ResponseInformationSgNBReconfComp_PDU; /* ResponseInformationSgNBReconfComp */ static int hf_x2ap_SgNBModificationRequest_PDU; /* SgNBModificationRequest */ static int hf_x2ap_UE_ContextInformation_SgNBModReq_PDU; /* UE_ContextInformation_SgNBModReq */ static int hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_PDU; /* E_RABs_ToBeAdded_SgNBModReq_Item */ static int hf_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_PDU; /* E_RABs_ToBeModified_SgNBModReq_Item */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_PDU; /* E_RABs_ToBeReleased_SgNBModReq_Item */ static int hf_x2ap_SgNBModificationRequestAcknowledge_PDU; /* SgNBModificationRequestAcknowledge */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_PDU; /* E_RABs_Admitted_ToBeAdded_SgNBModAckList */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_PDU; /* E_RABs_Admitted_ToBeAdded_SgNBModAck_Item */ static int hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_PDU; /* E_RABs_Admitted_ToBeModified_SgNBModAckList */ static int hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_PDU; /* E_RABs_Admitted_ToBeModified_SgNBModAck_Item */ static int hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_PDU; /* E_RABs_Admitted_ToBeReleased_SgNBModAckList */ static int hf_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item_PDU; /* E_RABs_Admitted_ToReleased_SgNBModAck_Item */ static int hf_x2ap_SgNBModificationRequestReject_PDU; /* SgNBModificationRequestReject */ static int hf_x2ap_SgNBModificationRequired_PDU; /* SgNBModificationRequired */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_PDU; /* E_RABs_ToBeReleased_SgNBModReqdList */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item_PDU; /* E_RABs_ToBeReleased_SgNBModReqd_Item */ static int hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_PDU; /* E_RABs_ToBeModified_SgNBModReqdList */ static int hf_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_PDU; /* E_RABs_ToBeModified_SgNBModReqd_Item */ static int hf_x2ap_SgNBModificationConfirm_PDU; /* SgNBModificationConfirm */ static int hf_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList_PDU; /* E_RABs_AdmittedToBeModified_SgNBModConfList */ static int hf_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_PDU; /* E_RABs_AdmittedToBeModified_SgNBModConf_Item */ static int hf_x2ap_SgNBModificationRefuse_PDU; /* SgNBModificationRefuse */ static int hf_x2ap_SgNBReleaseRequest_PDU; /* SgNBReleaseRequest */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_PDU; /* E_RABs_ToBeReleased_SgNBRelReqList */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_PDU; /* E_RABs_ToBeReleased_SgNBRelReq_Item */ static int hf_x2ap_SgNBReleaseRequestAcknowledge_PDU; /* SgNBReleaseRequestAcknowledge */ static int hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_PDU; /* E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList */ static int hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item_PDU; /* E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item */ static int hf_x2ap_SgNBReleaseRequestReject_PDU; /* SgNBReleaseRequestReject */ static int hf_x2ap_SgNBReleaseRequired_PDU; /* SgNBReleaseRequired */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList_PDU; /* E_RABs_ToBeReleased_SgNBRelReqdList */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqd_Item_PDU; /* E_RABs_ToBeReleased_SgNBRelReqd_Item */ static int hf_x2ap_SgNBReleaseConfirm_PDU; /* SgNBReleaseConfirm */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_PDU; /* E_RABs_ToBeReleased_SgNBRelConfList */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_PDU; /* E_RABs_ToBeReleased_SgNBRelConf_Item */ static int hf_x2ap_SgNBCounterCheckRequest_PDU; /* SgNBCounterCheckRequest */ static int hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_PDU; /* E_RABs_SubjectToSgNBCounterCheck_List */ static int hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item_PDU; /* E_RABs_SubjectToSgNBCounterCheck_Item */ static int hf_x2ap_SgNBChangeRequired_PDU; /* SgNBChangeRequired */ static int hf_x2ap_AccessAndMobilityIndication_PDU; /* AccessAndMobilityIndication */ static int hf_x2ap_SgNBChangeConfirm_PDU; /* SgNBChangeConfirm */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_PDU; /* E_RABs_ToBeReleased_SgNBChaConfList */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_PDU; /* E_RABs_ToBeReleased_SgNBChaConf_Item */ static int hf_x2ap_RRCTransfer_PDU; /* RRCTransfer */ static int hf_x2ap_SgNBChangeRefuse_PDU; /* SgNBChangeRefuse */ static int hf_x2ap_ENDCX2SetupRequest_PDU; /* ENDCX2SetupRequest */ static int hf_x2ap_InitiatingNodeType_EndcX2Setup_PDU; /* InitiatingNodeType_EndcX2Setup */ static int hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_PDU; /* ServedEUTRAcellsENDCX2ManagementList */ static int hf_x2ap_ServedNRcellsENDCX2ManagementList_PDU; /* ServedNRcellsENDCX2ManagementList */ static int hf_x2ap_CellandCapacityAssistInfo_PDU; /* CellandCapacityAssistInfo */ static int hf_x2ap_CellAssistanceInformation_PDU; /* CellAssistanceInformation */ static int hf_x2ap_ENDCX2SetupResponse_PDU; /* ENDCX2SetupResponse */ static int hf_x2ap_RespondingNodeType_EndcX2Setup_PDU; /* RespondingNodeType_EndcX2Setup */ static int hf_x2ap_ENDCX2SetupFailure_PDU; /* ENDCX2SetupFailure */ static int hf_x2ap_ENDCConfigurationUpdate_PDU; /* ENDCConfigurationUpdate */ static int hf_x2ap_InitiatingNodeType_EndcConfigUpdate_PDU; /* InitiatingNodeType_EndcConfigUpdate */ static int hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_PDU; /* ServedEUTRAcellsToModifyListENDCConfUpd */ static int hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_PDU; /* ServedEUTRAcellsToDeleteListENDCConfUpd */ static int hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_PDU; /* ServedNRcellsToModifyENDCConfUpdList */ static int hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_PDU; /* ServedNRcellsToDeleteENDCConfUpdList */ static int hf_x2ap_ENDCConfigurationUpdateAcknowledge_PDU; /* ENDCConfigurationUpdateAcknowledge */ static int hf_x2ap_RespondingNodeType_EndcConfigUpdate_PDU; /* RespondingNodeType_EndcConfigUpdate */ static int hf_x2ap_ENDCConfigurationUpdateFailure_PDU; /* ENDCConfigurationUpdateFailure */ static int hf_x2ap_ENDCCellActivationRequest_PDU; /* ENDCCellActivationRequest */ static int hf_x2ap_ServedNRCellsToActivate_PDU; /* ServedNRCellsToActivate */ static int hf_x2ap_ENDCCellActivationResponse_PDU; /* ENDCCellActivationResponse */ static int hf_x2ap_ActivatedNRCellList_PDU; /* ActivatedNRCellList */ static int hf_x2ap_ENDCCellActivationFailure_PDU; /* ENDCCellActivationFailure */ static int hf_x2ap_ENDCResourceStatusRequest_PDU; /* ENDCResourceStatusRequest */ static int hf_x2ap_CellToReport_NR_ENDC_List_PDU; /* CellToReport_NR_ENDC_List */ static int hf_x2ap_CellToReport_NR_ENDC_Item_PDU; /* CellToReport_NR_ENDC_Item */ static int hf_x2ap_CellToReport_E_UTRA_ENDC_List_PDU; /* CellToReport_E_UTRA_ENDC_List */ static int hf_x2ap_CellToReport_E_UTRA_ENDC_Item_PDU; /* CellToReport_E_UTRA_ENDC_Item */ static int hf_x2ap_ENDCResourceStatusResponse_PDU; /* ENDCResourceStatusResponse */ static int hf_x2ap_ENDCResourceStatusFailure_PDU; /* ENDCResourceStatusFailure */ static int hf_x2ap_ENDCResourceStatusUpdate_PDU; /* ENDCResourceStatusUpdate */ static int hf_x2ap_CellMeasurementResult_NR_ENDC_List_PDU; /* CellMeasurementResult_NR_ENDC_List */ static int hf_x2ap_CellMeasurementResult_NR_ENDC_Item_PDU; /* CellMeasurementResult_NR_ENDC_Item */ static int hf_x2ap_CellMeasurementResult_E_UTRA_ENDC_List_PDU; /* CellMeasurementResult_E_UTRA_ENDC_List */ static int hf_x2ap_CellMeasurementResult_E_UTRA_ENDC_Item_PDU; /* CellMeasurementResult_E_UTRA_ENDC_Item */ static int hf_x2ap_SecondaryRATDataUsageReport_PDU; /* SecondaryRATDataUsageReport */ static int hf_x2ap_SgNBActivityNotification_PDU; /* SgNBActivityNotification */ static int hf_x2ap_ENDCPartialResetRequired_PDU; /* ENDCPartialResetRequired */ static int hf_x2ap_ENDCPartialResetConfirm_PDU; /* ENDCPartialResetConfirm */ static int hf_x2ap_x2ap_EUTRANRCellResourceCoordinationRequest_PDU; /* EUTRANRCellResourceCoordinationRequest */ static int hf_x2ap_InitiatingNodeType_EutranrCellResourceCoordination_PDU; /* InitiatingNodeType_EutranrCellResourceCoordination */ static int hf_x2ap_ListofEUTRACellsinEUTRACoordinationReq_PDU; /* ListofEUTRACellsinEUTRACoordinationReq */ static int hf_x2ap_ListofEUTRACellsinNRCoordinationReq_PDU; /* ListofEUTRACellsinNRCoordinationReq */ static int hf_x2ap_ListofNRCellsinNRCoordinationReq_PDU; /* ListofNRCellsinNRCoordinationReq */ static int hf_x2ap_x2ap_EUTRANRCellResourceCoordinationResponse_PDU; /* EUTRANRCellResourceCoordinationResponse */ static int hf_x2ap_RespondingNodeType_EutranrCellResourceCoordination_PDU; /* RespondingNodeType_EutranrCellResourceCoordination */ static int hf_x2ap_ListofEUTRACellsinEUTRACoordinationResp_PDU; /* ListofEUTRACellsinEUTRACoordinationResp */ static int hf_x2ap_ListofNRCellsinNRCoordinationResp_PDU; /* ListofNRCellsinNRCoordinationResp */ static int hf_x2ap_ENDCX2RemovalRequest_PDU; /* ENDCX2RemovalRequest */ static int hf_x2ap_InitiatingNodeType_EndcX2Removal_PDU; /* InitiatingNodeType_EndcX2Removal */ static int hf_x2ap_ENDCX2RemovalResponse_PDU; /* ENDCX2RemovalResponse */ static int hf_x2ap_RespondingNodeType_EndcX2Removal_PDU; /* RespondingNodeType_EndcX2Removal */ static int hf_x2ap_ENDCX2RemovalFailure_PDU; /* ENDCX2RemovalFailure */ static int hf_x2ap_DataForwardingAddressIndication_PDU; /* DataForwardingAddressIndication */ static int hf_x2ap_E_RABs_DataForwardingAddress_List_PDU; /* E_RABs_DataForwardingAddress_List */ static int hf_x2ap_E_RABs_DataForwardingAddress_Item_PDU; /* E_RABs_DataForwardingAddress_Item */ static int hf_x2ap_GNBStatusIndication_PDU; /* GNBStatusIndication */ static int hf_x2ap_ENDCConfigurationTransfer_PDU; /* ENDCConfigurationTransfer */ static int hf_x2ap_TraceStart_PDU; /* TraceStart */ static int hf_x2ap_DeactivateTrace_PDU; /* DeactivateTrace */ static int hf_x2ap_CellTrafficTrace_PDU; /* CellTrafficTrace */ static int hf_x2ap_F1CTrafficTransfer_PDU; /* F1CTrafficTransfer */ static int hf_x2ap_UERadioCapabilityIDMappingRequest_PDU; /* UERadioCapabilityIDMappingRequest */ static int hf_x2ap_UERadioCapabilityIDMappingResponse_PDU; /* UERadioCapabilityIDMappingResponse */ static int hf_x2ap_CPC_cancel_PDU; /* CPC_cancel */ static int hf_x2ap_X2AP_PDU_PDU; /* X2AP_PDU */ static int hf_x2ap_local; /* INTEGER_0_maxPrivateIEs */ static int hf_x2ap_global; /* T_global */ static int hf_x2ap_ProtocolIE_Container_item; /* ProtocolIE_Field */ static int hf_x2ap_id; /* ProtocolIE_ID */ static int hf_x2ap_criticality; /* Criticality */ static int hf_x2ap_protocolIE_Field_value; /* ProtocolIE_Field_value */ static int hf_x2ap_ProtocolExtensionContainer_item; /* ProtocolExtensionField */ static int hf_x2ap_extension_id; /* ProtocolIE_ID */ static int hf_x2ap_extensionValue; /* T_extensionValue */ static int hf_x2ap_PrivateIE_Container_item; /* PrivateIE_Field */ static int hf_x2ap_private_id; /* PrivateIE_ID */ static int hf_x2ap_privateIE_Field_value; /* PrivateIE_Field_value */ static int hf_x2ap_fdd; /* ABSInformationFDD */ static int hf_x2ap_tdd; /* ABSInformationTDD */ static int hf_x2ap_abs_inactive; /* NULL */ static int hf_x2ap_abs_pattern_info; /* BIT_STRING_SIZE_40 */ static int hf_x2ap_numberOfCellSpecificAntennaPorts; /* T_numberOfCellSpecificAntennaPorts */ static int hf_x2ap_measurement_subset; /* BIT_STRING_SIZE_40 */ static int hf_x2ap_iE_Extensions; /* ProtocolExtensionContainer */ static int hf_x2ap_abs_pattern_info_01; /* BIT_STRING_SIZE_1_70_ */ static int hf_x2ap_numberOfCellSpecificAntennaPorts_01; /* T_numberOfCellSpecificAntennaPorts_01 */ static int hf_x2ap_measurement_subset_01; /* BIT_STRING_SIZE_1_70_ */ static int hf_x2ap_dL_ABS_status; /* DL_ABS_status */ static int hf_x2ap_usableABSInformation; /* UsableABSInformation */ static int hf_x2ap_Additional_Measurement_Timing_Configuration_List_item; /* Additional_Measurement_Timing_Configuration_Item */ static int hf_x2ap_additionalMeasurementTimingConfiguration; /* INTEGER_0_16 */ static int hf_x2ap_csi_RS_MTC_Configuration_List; /* CSI_RS_MTC_Configuration_List */ static int hf_x2ap_CSI_RS_MTC_Configuration_List_item; /* CSI_RS_MTC_Configuration_Item */ static int hf_x2ap_csi_RS_Index; /* INTEGER_0_95 */ static int hf_x2ap_csi_RS_Status; /* T_csi_RS_Status */ static int hf_x2ap_csi_RS_Neighbour_List; /* CSI_RS_Neighbour_List */ static int hf_x2ap_CSI_RS_Neighbour_List_item; /* CSI_RS_Neighbour_Item */ static int hf_x2ap_nr_cgi; /* NRCGI */ static int hf_x2ap_csi_RS_MTC_Neighbour_List; /* CSI_RS_MTC_Neighbour_List */ static int hf_x2ap_CSI_RS_MTC_Neighbour_List_item; /* CSI_RS_MTC_Neighbour_Item */ static int hf_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_item; /* AdditionalListofForwardingGTPTunnelEndpoint_Item */ static int hf_x2ap_uL_GTPtunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_dL_GTPtunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_additionalspecialSubframePatterns; /* AdditionalSpecialSubframePatterns */ static int hf_x2ap_cyclicPrefixDL; /* CyclicPrefixDL */ static int hf_x2ap_cyclicPrefixUL; /* CyclicPrefixUL */ static int hf_x2ap_additionalspecialSubframePatternsExtension; /* AdditionalSpecialSubframePatternsExtension */ static int hf_x2ap_priorityLevel; /* PriorityLevel */ static int hf_x2ap_pre_emptionCapability; /* Pre_emptionCapability */ static int hf_x2ap_pre_emptionVulnerability; /* Pre_emptionVulnerability */ static int hf_x2ap_cellBased; /* CellBasedMDT */ static int hf_x2ap_tABased; /* TABasedMDT */ static int hf_x2ap_pLMNWide; /* NULL */ static int hf_x2ap_tAIBased; /* TAIBasedMDT */ static int hf_x2ap_cellBased_01; /* CellBasedQMC */ static int hf_x2ap_tABased_01; /* TABasedQMC */ static int hf_x2ap_tAIBased_01; /* TAIBasedQMC */ static int hf_x2ap_pLMNAreaBased; /* PLMNAreaBasedQMC */ static int hf_x2ap_key_eNodeB_star; /* Key_eNodeB_Star */ static int hf_x2ap_nextHopChainingCount; /* NextHopChainingCount */ static int hf_x2ap_AdditionalPLMNs_Item_item; /* PLMN_Identity */ static int hf_x2ap_BroadcastPLMNs_Item_item; /* PLMN_Identity */ static int hf_x2ap_bluetoothMeasConfig; /* BluetoothMeasConfig */ static int hf_x2ap_bluetoothMeasConfigNameList; /* BluetoothMeasConfigNameList */ static int hf_x2ap_bt_rssi; /* T_bt_rssi */ static int hf_x2ap_BluetoothMeasConfigNameList_item; /* BluetoothName */ static int hf_x2ap_BPLMN_ID_Info_EUTRA_item; /* BPLMN_ID_Info_EUTRA_Item */ static int hf_x2ap_broadcastPLMNs; /* BroadcastPLMNs_Item */ static int hf_x2ap_tac; /* TAC */ static int hf_x2ap_e_utraCI; /* EUTRANCellIdentifier */ static int hf_x2ap_iE_Extension; /* ProtocolExtensionContainer */ static int hf_x2ap_BPLMN_ID_Info_NR_item; /* BPLMN_ID_Info_NR_Item */ static int hf_x2ap_broadcastPLMNs_01; /* BroadcastextPLMNs */ static int hf_x2ap_fiveGS_TAC; /* FiveGS_TAC */ static int hf_x2ap_nr_CI; /* NRCellIdentifier */ static int hf_x2ap_BroadcastextPLMNs_item; /* PLMN_Identity */ static int hf_x2ap_radioNetwork; /* CauseRadioNetwork */ static int hf_x2ap_transport; /* CauseTransport */ static int hf_x2ap_protocol; /* CauseProtocol */ static int hf_x2ap_misc; /* CauseMisc */ static int hf_x2ap_cellIdListforMDT; /* CellIdListforMDT */ static int hf_x2ap_cellIdListforQMC; /* CellIdListforQMC */ static int hf_x2ap_CellIdListforMDT_item; /* ECGI */ static int hf_x2ap_CellIdListforQMC_item; /* ECGI */ static int hf_x2ap_replacingCellsList; /* ReplacingCellsList */ static int hf_x2ap_cell_Size; /* Cell_Size */ static int hf_x2ap_CPACcandidatePSCells_list_item; /* CPACcandidatePSCells_item */ static int hf_x2ap_pscell_id; /* NRCGI */ static int hf_x2ap_max_no_of_pscells; /* INTEGER_1_maxnoofPSCellCandidates */ static int hf_x2ap_estimatedArrivalProbability; /* CHO_Probability */ static int hf_x2ap_candidate_pscells; /* CPACcandidatePSCells_list */ static int hf_x2ap_cpc_target_sgnb_list; /* CPC_target_SgNB_reqd_list */ static int hf_x2ap_CPC_target_SgNB_reqd_list_item; /* CPC_target_SgNB_reqd_item */ static int hf_x2ap_target_SgNB_ID; /* GlobalGNB_ID */ static int hf_x2ap_cpc_indicator; /* CPCindicator */ static int hf_x2ap_sgNBtoMeNBContainer; /* SgNBtoMeNBContainer */ static int hf_x2ap_cpc_target_sgnb_list_01; /* CPC_target_SgNB_conf_list */ static int hf_x2ap_CPC_target_SgNB_conf_list_item; /* CPC_target_SgNB_conf_item */ static int hf_x2ap_cpc_indicator_01; /* CPCdataforwarding */ static int hf_x2ap_cpc_target_sgnb_list_02; /* CPC_target_SgNB_mod_list */ static int hf_x2ap_CPC_target_SgNB_mod_list_item; /* CPC_target_SgNB_mod_item */ static int hf_x2ap_CNTypeRestrictions_item; /* CNTypeRestrictionsItem */ static int hf_x2ap_plmn_Id; /* PLMN_Identity */ static int hf_x2ap_cn_type; /* T_cn_type */ static int hf_x2ap_CoMPHypothesisSet_item; /* CoMPHypothesisSetItem */ static int hf_x2ap_coMPCellID; /* ECGI */ static int hf_x2ap_coMPHypothesis; /* BIT_STRING_SIZE_6_4400_ */ static int hf_x2ap_coMPInformationItem; /* CoMPInformationItem */ static int hf_x2ap_coMPInformationStartTime; /* CoMPInformationStartTime */ static int hf_x2ap_CoMPInformationItem_item; /* CoMPInformationItem_item */ static int hf_x2ap_coMPHypothesisSet; /* CoMPHypothesisSet */ static int hf_x2ap_benefitMetric; /* BenefitMetric */ static int hf_x2ap_CoMPInformationStartTime_item; /* CoMPInformationStartTime_item */ static int hf_x2ap_startSFN; /* INTEGER_0_1023_ */ static int hf_x2ap_startSubframeNumber; /* INTEGER_0_9_ */ static int hf_x2ap_cellCapacityClassValue; /* CellCapacityClassValue */ static int hf_x2ap_capacityValue; /* CapacityValue */ static int hf_x2ap_dL_CompositeAvailableCapacity; /* CompositeAvailableCapacity */ static int hf_x2ap_uL_CompositeAvailableCapacity; /* CompositeAvailableCapacity */ static int hf_x2ap_pDCP_SN; /* PDCP_SN */ static int hf_x2ap_hFN; /* HFN */ static int hf_x2ap_pDCP_SNExtended; /* PDCP_SNExtended */ static int hf_x2ap_hFNModified; /* HFNModified */ static int hf_x2ap_pDCP_SNlength18; /* PDCP_SNlength18 */ static int hf_x2ap_hFNforPDCP_SNlength18; /* HFNforPDCP_SNlength18 */ static int hf_x2ap_CoverageModificationList_item; /* CoverageModification_Item */ static int hf_x2ap_eCGI; /* ECGI */ static int hf_x2ap_coverageState; /* INTEGER_0_15_ */ static int hf_x2ap_cellDeploymentStatusIndicator; /* CellDeploymentStatusIndicator */ static int hf_x2ap_cellReplacingInfo; /* CellReplacingInfo */ static int hf_x2ap_endpointIPAddress; /* TransportLayerAddress */ static int hf_x2ap_endpointIPAddressAndPort; /* TransportLayerAddressAndPort */ static int hf_x2ap_procedureCode; /* ProcedureCode */ static int hf_x2ap_triggeringMessage; /* TriggeringMessage */ static int hf_x2ap_procedureCriticality; /* Criticality */ static int hf_x2ap_iEsCriticalityDiagnostics; /* CriticalityDiagnostics_IE_List */ static int hf_x2ap_CriticalityDiagnostics_IE_List_item; /* CriticalityDiagnostics_IE_List_item */ static int hf_x2ap_iECriticality; /* Criticality */ static int hf_x2ap_iE_ID; /* ProtocolIE_ID */ static int hf_x2ap_typeOfError; /* TypeOfError */ static int hf_x2ap_CSIReportList_item; /* CSIReportList_item */ static int hf_x2ap_uEID; /* UEID */ static int hf_x2ap_cSIReportPerCSIProcess; /* CSIReportPerCSIProcess */ static int hf_x2ap_CSIReportPerCSIProcess_item; /* CSIReportPerCSIProcess_item */ static int hf_x2ap_cSIProcessConfigurationIndex; /* INTEGER_1_7_ */ static int hf_x2ap_cSIReportPerCSIProcessItem; /* CSIReportPerCSIProcessItem */ static int hf_x2ap_CSIReportPerCSIProcessItem_item; /* CSIReportPerCSIProcessItem_item */ static int hf_x2ap_rI; /* INTEGER_1_8_ */ static int hf_x2ap_widebandCQI; /* WidebandCQI */ static int hf_x2ap_subbandSize; /* SubbandSize */ static int hf_x2ap_subbandCQIList; /* SubbandCQIList */ static int hf_x2ap_cho_trigger; /* CHOtrigger */ static int hf_x2ap_new_eNB_UE_X2AP_ID; /* UE_X2AP_ID */ static int hf_x2ap_new_eNB_UE_X2AP_ID_Extension; /* UE_X2AP_ID_Extension */ static int hf_x2ap_cHO_EstimatedArrivalProbability; /* CHO_Probability */ static int hf_x2ap_requestedTargetCellID; /* ECGI */ static int hf_x2ap_maxCHOpreparations; /* MaxCHOpreparations */ static int hf_x2ap_CandidateCellsToBeCancelledList_item; /* ECGI */ static int hf_x2ap_source_eNB_ID; /* GlobalENB_ID */ static int hf_x2ap_source_eNB_UE_X2AP_ID; /* UE_X2AP_ID */ static int hf_x2ap_source_eNB_UE_X2AP_ID_Ext; /* UE_X2AP_ID_Extension */ static int hf_x2ap_conditionalReconfig; /* T_conditionalReconfig */ static int hf_x2ap_activationSFN; /* INTEGER_0_1023 */ static int hf_x2ap_sharedResourceType; /* SharedResourceType */ static int hf_x2ap_reservedSubframePattern; /* ReservedSubframePattern */ static int hf_x2ap_dAPSIndicator; /* T_dAPSIndicator */ static int hf_x2ap_dAPSResponseIndicator; /* T_dAPSResponseIndicator */ static int hf_x2ap_highestSuccessDeliveredPDCPSN; /* INTEGER_0_4095 */ static int hf_x2ap_unchanged; /* NULL */ static int hf_x2ap_changed; /* DLResourceBitmapULandDLSharing */ static int hf_x2ap_naics_active; /* DynamicNAICSInformation */ static int hf_x2ap_naics_inactive; /* NULL */ static int hf_x2ap_transmissionModes; /* T_transmissionModes */ static int hf_x2ap_pB_information; /* INTEGER_0_3 */ static int hf_x2ap_pA_list; /* SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values */ static int hf_x2ap_pA_list_item; /* PA_Values */ static int hf_x2ap_pLMN_Identity; /* PLMN_Identity */ static int hf_x2ap_eUTRANcellIdentifier; /* EUTRANCellIdentifier */ static int hf_x2ap_enhancedRNTPBitmap; /* BIT_STRING_SIZE_12_8800_ */ static int hf_x2ap_rNTP_High_Power_Threshold; /* RNTP_Threshold */ static int hf_x2ap_enhancedRNTPStartTime; /* EnhancedRNTPStartTime */ static int hf_x2ap_macro_eNB_ID; /* BIT_STRING_SIZE_20 */ static int hf_x2ap_home_eNB_ID; /* BIT_STRING_SIZE_28 */ static int hf_x2ap_short_Macro_eNB_ID; /* BIT_STRING_SIZE_18 */ static int hf_x2ap_long_Macro_eNB_ID; /* BIT_STRING_SIZE_21 */ static int hf_x2ap_pDCPatSgNB; /* T_pDCPatSgNB */ static int hf_x2ap_mCGresources; /* T_mCGresources */ static int hf_x2ap_sCGresources; /* T_sCGresources */ static int hf_x2ap_EPLMNs_item; /* PLMN_Identity */ static int hf_x2ap_ERABActivityNotifyItemList_item; /* ERABActivityNotifyItem */ static int hf_x2ap_e_RAB_ID; /* E_RAB_ID */ static int hf_x2ap_activityReport; /* UserPlaneTrafficActivityReport */ static int hf_x2ap_qCI; /* QCI */ static int hf_x2ap_allocationAndRetentionPriority; /* AllocationAndRetentionPriority */ static int hf_x2ap_gbrQosInformation; /* GBR_QosInformation */ static int hf_x2ap_E_RAB_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_cause; /* Cause */ static int hf_x2ap_E_RABsSubjectToEarlyStatusTransfer_List_item; /* E_RABsSubjectToEarlyStatusTransfer_Item */ static int hf_x2ap_fIRST_DL_COUNTValue; /* COUNTvalue */ static int hf_x2ap_fIRST_DL_COUNTValueExtended; /* COUNTValueExtended */ static int hf_x2ap_fIRST_DL_COUNTValueforPDCPSNLength18; /* COUNTvaluePDCP_SNlength18 */ static int hf_x2ap_E_RABsSubjectToDLDiscarding_List_item; /* E_RABsSubjectToDLDiscarding_Item */ static int hf_x2ap_dISCARD_DL_COUNTValue; /* COUNTvalue */ static int hf_x2ap_dISCARD_DL_COUNTValueExtended; /* COUNTValueExtended */ static int hf_x2ap_dISCARD_DL_COUNTValueforPDCPSNLength18; /* COUNTvaluePDCP_SNlength18 */ static int hf_x2ap_E_RABUsageReportList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_startTimeStamp; /* T_startTimeStamp */ static int hf_x2ap_endTimeStamp; /* T_endTimeStamp */ static int hf_x2ap_usageCountUL; /* INTEGER_0_18446744073709551615 */ static int hf_x2ap_usageCountDL; /* INTEGER_0_18446744073709551615 */ static int hf_x2ap_fDD; /* FDD_Info */ static int hf_x2ap_tDD; /* TDD_Info */ static int hf_x2ap_expectedActivity; /* ExpectedUEActivityBehaviour */ static int hf_x2ap_expectedHOInterval; /* ExpectedHOInterval */ static int hf_x2ap_expectedActivityPeriod; /* ExpectedActivityPeriod */ static int hf_x2ap_expectedIdlePeriod; /* ExpectedIdlePeriod */ static int hf_x2ap_sourceofUEActivityBehaviourInformation; /* SourceOfUEActivityBehaviourInformation */ static int hf_x2ap_associatedSubframes; /* BIT_STRING_SIZE_5 */ static int hf_x2ap_extended_ul_InterferenceOverloadIndication; /* UL_InterferenceOverloadIndication */ static int hf_x2ap_rrcContainer; /* RRCContainer */ static int hf_x2ap_uL_EARFCN; /* EARFCN */ static int hf_x2ap_dL_EARFCN; /* EARFCN */ static int hf_x2ap_uL_Transmission_Bandwidth; /* Transmission_Bandwidth */ static int hf_x2ap_dL_Transmission_Bandwidth; /* Transmission_Bandwidth */ static int hf_x2ap_ul_NRFreqInfo; /* NRFreqInfo */ static int hf_x2ap_dl_NRFreqInfo; /* NRFreqInfo */ static int hf_x2ap_ForbiddenTAs_item; /* ForbiddenTAs_Item */ static int hf_x2ap_forbiddenTACs; /* ForbiddenTACs */ static int hf_x2ap_ForbiddenTACs_item; /* TAC */ static int hf_x2ap_ForbiddenLAs_item; /* ForbiddenLAs_Item */ static int hf_x2ap_forbiddenLACs; /* ForbiddenLACs */ static int hf_x2ap_ForbiddenLACs_item; /* LAC */ static int hf_x2ap_freqBandIndicatorNr; /* INTEGER_1_1024_ */ static int hf_x2ap_supportedSULBandList; /* SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem */ static int hf_x2ap_supportedSULBandList_item; /* SupportedSULFreqBandItem */ static int hf_x2ap_e_RAB_MaximumBitrateDL; /* BitRate */ static int hf_x2ap_e_RAB_MaximumBitrateUL; /* BitRate */ static int hf_x2ap_e_RAB_GuaranteedBitrateDL; /* BitRate */ static int hf_x2ap_e_RAB_GuaranteedBitrateUL; /* BitRate */ static int hf_x2ap_eNB_ID; /* ENB_ID */ static int hf_x2ap_gNB_ID; /* GNB_ID */ static int hf_x2ap_gNB; /* GlobalGNB_ID */ static int hf_x2ap_choice_extension; /* ProtocolIE_Single_Container */ static int hf_x2ap_GTPTLAs_item; /* GTPTLA_Item */ static int hf_x2ap_gTPTransportLayerAddresses; /* TransportLayerAddress */ static int hf_x2ap_transportLayerAddress; /* TransportLayerAddress */ static int hf_x2ap_gTP_TEID; /* GTP_TEI */ static int hf_x2ap_GUGroupIDList_item; /* GU_Group_ID */ static int hf_x2ap_mME_Group_ID; /* MME_Group_ID */ static int hf_x2ap_gU_Group_ID; /* GU_Group_ID */ static int hf_x2ap_mME_Code; /* MME_Code */ static int hf_x2ap_gNB_ID_01; /* BIT_STRING_SIZE_22_32 */ static int hf_x2ap_servingPLMN; /* PLMN_Identity */ static int hf_x2ap_equivalentPLMNs; /* EPLMNs */ static int hf_x2ap_forbiddenTAs; /* ForbiddenTAs */ static int hf_x2ap_forbiddenLAs; /* ForbiddenLAs */ static int hf_x2ap_forbiddenInterRATs; /* ForbiddenInterRATs */ static int hf_x2ap_dLHWLoadIndicator; /* LoadIndicator */ static int hf_x2ap_uLHWLoadIndicator; /* LoadIndicator */ static int hf_x2ap_e_UTRAN_Cell; /* LastVisitedEUTRANCellInformation */ static int hf_x2ap_uTRAN_Cell; /* LastVisitedUTRANCellInformation */ static int hf_x2ap_gERAN_Cell; /* LastVisitedGERANCellInformation */ static int hf_x2ap_nG_RAN_Cell; /* LastVisitedNGRANCellInformation */ static int hf_x2ap_global_Cell_ID; /* ECGI */ static int hf_x2ap_cellType; /* CellType */ static int hf_x2ap_time_UE_StayedInCell; /* Time_UE_StayedInCell */ static int hf_x2ap_undefined; /* NULL */ static int hf_x2ap_pSCell_id; /* NRCGI */ static int hf_x2ap_eventType; /* EventType */ static int hf_x2ap_reportArea; /* ReportArea */ static int hf_x2ap_reportInterval; /* ReportIntervalMDT */ static int hf_x2ap_reportAmount; /* ReportAmountMDT */ static int hf_x2ap_measurementThreshold; /* MeasurementThresholdA2 */ static int hf_x2ap_m3period; /* M3period */ static int hf_x2ap_m4period; /* M4period */ static int hf_x2ap_m4_links_to_log; /* Links_to_log */ static int hf_x2ap_m5period; /* M5period */ static int hf_x2ap_m5_links_to_log; /* Links_to_log */ static int hf_x2ap_m6report_interval; /* M6report_interval */ static int hf_x2ap_m6delay_threshold; /* M6delay_threshold */ static int hf_x2ap_m6_links_to_log; /* Links_to_log */ static int hf_x2ap_m7period; /* M7period */ static int hf_x2ap_m7_links_to_log; /* Links_to_log */ static int hf_x2ap_mdt_Activation; /* MDT_Activation */ static int hf_x2ap_areaScopeOfMDT; /* AreaScopeOfMDT */ static int hf_x2ap_measurementsToActivate; /* MeasurementsToActivate */ static int hf_x2ap_m1reportingTrigger; /* M1ReportingTrigger */ static int hf_x2ap_m1thresholdeventA2; /* M1ThresholdEventA2 */ static int hf_x2ap_m1periodicReporting; /* M1PeriodicReporting */ static int hf_x2ap_MDTPLMNList_item; /* PLMN_Identity */ static int hf_x2ap_threshold_RSRP; /* Threshold_RSRP */ static int hf_x2ap_threshold_RSRQ; /* Threshold_RSRQ */ static int hf_x2ap_eUTRA_Cell_ID; /* ECGI */ static int hf_x2ap_uLCoordinationInformation; /* BIT_STRING_SIZE_6_4400_ */ static int hf_x2ap_dLCoordinationInformation; /* BIT_STRING_SIZE_6_4400_ */ static int hf_x2ap_MBMS_Service_Area_Identity_List_item; /* MBMS_Service_Area_Identity */ static int hf_x2ap_MBSFN_Subframe_Infolist_item; /* MBSFN_Subframe_Info */ static int hf_x2ap_radioframeAllocationPeriod; /* RadioframeAllocationPeriod */ static int hf_x2ap_radioframeAllocationOffset; /* RadioframeAllocationOffset */ static int hf_x2ap_subframeAllocation; /* SubframeAllocation */ static int hf_x2ap_handoverTriggerChangeLowerLimit; /* INTEGER_M20_20 */ static int hf_x2ap_handoverTriggerChangeUpperLimit; /* INTEGER_M20_20 */ static int hf_x2ap_handoverTriggerChange; /* INTEGER_M20_20 */ static int hf_x2ap_MultibandInfoList_item; /* BandInfo */ static int hf_x2ap_maximumCellListSize; /* MaximumCellListSize */ static int hf_x2ap_freqBandIndicator; /* FreqBandIndicator */ static int hf_x2ap_rrcContainer_01; /* T_rrcContainer */ static int hf_x2ap_srbType; /* SRBType */ static int hf_x2ap_deliveryStatus; /* DeliveryStatus */ static int hf_x2ap_Neighbour_Information_item; /* Neighbour_Information_item */ static int hf_x2ap_pCI; /* PCI */ static int hf_x2ap_eARFCN; /* EARFCN */ static int hf_x2ap_capacityValue_01; /* INTEGER_0_100 */ static int hf_x2ap_ssbAreaCapacityValue_List; /* SSBAreaCapacityValue_List */ static int hf_x2ap_NRCarrierList_item; /* NRCarrierItem */ static int hf_x2ap_carrierSCS; /* NRSCS */ static int hf_x2ap_offsetToCarrier; /* INTEGER_0_2199_ */ static int hf_x2ap_carrierBandwidth; /* INTEGER_0_maxnoofNRPhysicalResourceBlocks_ */ static int hf_x2ap_compositeAvailableCapacityDL; /* NRCompositeAvailableCapacity */ static int hf_x2ap_compositeAvailableCapacityUL; /* NRCompositeAvailableCapacity */ static int hf_x2ap_cellCapacityClassValue_01; /* NRCellCapacityClassValue */ static int hf_x2ap_capacityValue_02; /* NRCapacityValue */ static int hf_x2ap_nRARFCN; /* INTEGER_0_3279165 */ static int hf_x2ap_freqBandListNr; /* SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem */ static int hf_x2ap_freqBandListNr_item; /* FreqBandNrItem */ static int hf_x2ap_sULInformation; /* SULInformation */ static int hf_x2ap_nRcellIdentifier; /* NRCellIdentifier */ static int hf_x2ap_NRRACHReportInformation_item; /* NRRACHReportList_Item */ static int hf_x2ap_nRRACHReport; /* NRRACHReportContainer */ static int hf_x2ap_uEAssitantIdentifier; /* SgNB_UE_X2AP_ID */ static int hf_x2ap_NRNeighbour_Information_item; /* NRNeighbour_Information_item */ static int hf_x2ap_nrpCI; /* NRPCI */ static int hf_x2ap_nrCellID; /* NRCGI */ static int hf_x2ap_configured_TAC; /* TAC */ static int hf_x2ap_measurementTimingConfiguration; /* T_measurementTimingConfiguration */ static int hf_x2ap_nRNeighbourModeInfo; /* T_nRNeighbourModeInfo */ static int hf_x2ap_fdd_01; /* FDD_InfoNeighbourServedNRCell_Information */ static int hf_x2ap_tdd_01; /* TDD_InfoNeighbourServedNRCell_Information */ static int hf_x2ap_fdd_or_tdd; /* T_fdd_or_tdd */ static int hf_x2ap_fdd_02; /* NPRACHConfiguration_FDD */ static int hf_x2ap_tdd_02; /* NPRACHConfiguration_TDD */ static int hf_x2ap_nprach_CP_length; /* NPRACH_CP_Length */ static int hf_x2ap_anchorCarrier_NPRACHConfig; /* T_anchorCarrier_NPRACHConfig */ static int hf_x2ap_anchorCarrier_EDT_NPRACHConfig; /* T_anchorCarrier_EDT_NPRACHConfig */ static int hf_x2ap_anchorCarrier_Format2_NPRACHConfig; /* T_anchorCarrier_Format2_NPRACHConfig */ static int hf_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig; /* T_anchorCarrier_Format2_EDT_NPRACHConfig */ static int hf_x2ap_non_anchorCarrier_NPRACHConfig; /* T_non_anchorCarrier_NPRACHConfig */ static int hf_x2ap_non_anchorCarrier_Format2_NPRACHConfig; /* T_non_anchorCarrier_Format2_NPRACHConfig */ static int hf_x2ap_nprach_preambleFormat; /* NPRACH_preambleFormat */ static int hf_x2ap_anchorCarrier_NPRACHConfigTDD; /* T_anchorCarrier_NPRACHConfigTDD */ static int hf_x2ap_non_anchorCarrierFequencyConfiglist; /* Non_AnchorCarrierFrequencylist */ static int hf_x2ap_non_anchorCarrier_NPRACHConfigTDD; /* T_non_anchorCarrier_NPRACHConfigTDD */ static int hf_x2ap_Non_AnchorCarrierFrequencylist_item; /* Non_AnchorCarrierFrequencylist_item */ static int hf_x2ap_non_anchorCarrioerFrquency; /* Non_anchorCarrierFrequency */ static int hf_x2ap_MeasurementResultforNRCellsPossiblyAggregated_item; /* MeasurementResultforNRCellsPossiblyAggregated_Item */ static int hf_x2ap_cellID; /* NRCGI */ static int hf_x2ap_nrCompositeAvailableCapacityGroup; /* NRCompositeAvailableCapacityGroup */ static int hf_x2ap_ssbAreaRadioResourceStatus_List; /* SSBAreaRadioResourceStatus_List */ static int hf_x2ap_dl_GBR_PRB_usage_for_MIMO; /* DL_GBR_PRB_usage_for_MIMO */ static int hf_x2ap_ul_GBR_PRB_usage_for_MIMO; /* UL_GBR_PRB_usage_for_MIMO */ static int hf_x2ap_dl_non_GBR_PRB_usage_for_MIMO; /* DL_non_GBR_PRB_usage_for_MIMO */ static int hf_x2ap_ul_non_GBR_PRB_usage_for_MIMO; /* UL_non_GBR_PRB_usage_for_MIMO */ static int hf_x2ap_dl_Total_PRB_usage_for_MIMO; /* DL_Total_PRB_usage_for_MIMO */ static int hf_x2ap_ul_Total_PRB_usage_for_MIMO; /* UL_Total_PRB_usage_for_MIMO */ static int hf_x2ap_nRSCS; /* NRSCS */ static int hf_x2ap_nRNRB; /* NRNRB */ static int hf_x2ap_uENRMeasurements; /* T_uENRMeasurements */ static int hf_x2ap_uESidelinkAggregateMaximumBitRate; /* BitRate */ static int hf_x2ap_nRencryptionAlgorithms; /* NRencryptionAlgorithms */ static int hf_x2ap_nRintegrityProtectionAlgorithms; /* NRintegrityProtectionAlgorithms */ static int hf_x2ap_vehicleUE; /* VehicleUE */ static int hf_x2ap_pedestrianUE; /* PedestrianUE */ static int hf_x2ap_pc5QoSFlowList; /* PC5QoSFlowList */ static int hf_x2ap_pc5LinkAggregatedBitRates; /* BitRate */ static int hf_x2ap_PC5QoSFlowList_item; /* PC5QoSFlowItem */ static int hf_x2ap_pQI; /* FiveQI */ static int hf_x2ap_pc5FlowBitRates; /* PC5FlowBitRates */ static int hf_x2ap_range; /* Range */ static int hf_x2ap_guaranteedFlowBitRate; /* BitRate */ static int hf_x2ap_maximumFlowBitRate; /* BitRate */ static int hf_x2ap_rootSequenceIndex; /* INTEGER_0_837 */ static int hf_x2ap_zeroCorrelationIndex; /* INTEGER_0_15 */ static int hf_x2ap_highSpeedFlag; /* BOOLEAN */ static int hf_x2ap_prach_FreqOffset; /* INTEGER_0_94 */ static int hf_x2ap_prach_ConfigIndex; /* INTEGER_0_63 */ static int hf_x2ap_plmnListforQMC; /* PLMNListforQMC */ static int hf_x2ap_PLMNListforQMC_item; /* PLMN_Identity */ static int hf_x2ap_proSeDirectDiscovery; /* ProSeDirectDiscovery */ static int hf_x2ap_proSeDirectCommunication; /* ProSeDirectCommunication */ static int hf_x2ap_protectedResourceList; /* ProtectedResourceList */ static int hf_x2ap_mBSFNControlRegionLength; /* T_mBSFNControlRegionLength */ static int hf_x2ap_pDCCHRegionLength; /* T_pDCCHRegionLength */ static int hf_x2ap_protectedFootprintTimePeriodicity; /* INTEGER_1_320_ */ static int hf_x2ap_protectedFootprintStartTime; /* INTEGER_1_20_ */ static int hf_x2ap_ProtectedResourceList_item; /* ProtectedResourceList_Item */ static int hf_x2ap_resourceType; /* ResourceType */ static int hf_x2ap_intraPRBProtectedResourceFootprint; /* BIT_STRING_SIZE_84_ */ static int hf_x2ap_protectedFootprintFrequencyPattern; /* BIT_STRING_SIZE_6_110_ */ static int hf_x2ap_protectedFootprintTimePattern; /* ProtectedFootprintTimePattern */ static int hf_x2ap_PSCell_UE_HistoryInformation_item; /* LastVisitedPSCell_Item */ static int hf_x2ap_dscp; /* BIT_STRING_SIZE_6 */ static int hf_x2ap_flow_label; /* BIT_STRING_SIZE_20 */ static int hf_x2ap_dL_GBR_PRB_usage; /* DL_GBR_PRB_usage */ static int hf_x2ap_uL_GBR_PRB_usage; /* UL_GBR_PRB_usage */ static int hf_x2ap_dL_non_GBR_PRB_usage; /* DL_non_GBR_PRB_usage */ static int hf_x2ap_uL_non_GBR_PRB_usage; /* UL_non_GBR_PRB_usage */ static int hf_x2ap_dL_Total_PRB_usage; /* DL_Total_PRB_usage */ static int hf_x2ap_uL_Total_PRB_usage; /* UL_Total_PRB_usage */ static int hf_x2ap_RAT_Restrictions_item; /* RAT_RestrictionsItem */ static int hf_x2ap_rAT_RestrictionInformation; /* T_rAT_RestrictionInformation */ static int hf_x2ap_rNTP_PerPRB; /* BIT_STRING_SIZE_6_110_ */ static int hf_x2ap_rNTP_Threshold; /* RNTP_Threshold */ static int hf_x2ap_numberOfCellSpecificAntennaPorts_02; /* T_numberOfCellSpecificAntennaPorts_02 */ static int hf_x2ap_p_B; /* INTEGER_0_3_ */ static int hf_x2ap_pDCCH_InterferenceImpact; /* INTEGER_0_4_ */ static int hf_x2ap_ReplacingCellsList_item; /* ReplacingCellsList_Item */ static int hf_x2ap_subframeType; /* SubframeType */ static int hf_x2ap_reservedSubframePattern_01; /* BIT_STRING_SIZE_10_160 */ static int hf_x2ap_mBSFNControlRegionLength_01; /* T_mBSFNControlRegionLength_01 */ static int hf_x2ap_non_truncated; /* BIT_STRING_SIZE_40 */ static int hf_x2ap_truncated; /* BIT_STRING_SIZE_24 */ static int hf_x2ap_reestablishment_Indication; /* Reestablishment_Indication */ static int hf_x2ap_RSRPMeasurementResult_item; /* RSRPMeasurementResult_item */ static int hf_x2ap_rSRPCellID; /* ECGI */ static int hf_x2ap_rSRPMeasured; /* INTEGER_0_97_ */ static int hf_x2ap_RSRPMRList_item; /* RSRPMRList_item */ static int hf_x2ap_rSRPMeasurementResult; /* RSRPMeasurementResult */ static int hf_x2ap_dLS1TNLLoadIndicator; /* LoadIndicator */ static int hf_x2ap_uLS1TNLLoadIndicator; /* LoadIndicator */ static int hf_x2ap_SCG_UE_HistoryInformation_item; /* LastVisitedPSCell_Item */ static int hf_x2ap_SecondaryRATUsageReportList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_secondaryRATType; /* T_secondaryRATType */ static int hf_x2ap_e_RABUsageReportList; /* E_RABUsageReportList */ static int hf_x2ap_integrityProtectionIndication; /* IntegrityProtectionIndication */ static int hf_x2ap_integrityProtectionResult; /* IntegrityProtectionResult */ static int hf_x2ap_sensorMeasConfig; /* SensorMeasConfig */ static int hf_x2ap_sensorMeasConfigNameList; /* SensorMeasConfigNameList */ static int hf_x2ap_SensorMeasConfigNameList_item; /* SensorMeasConfigNameItem */ static int hf_x2ap_sensorNameConfig; /* SensorNameConfig */ static int hf_x2ap_uncompensatedBarometricConfig; /* T_uncompensatedBarometricConfig */ static int hf_x2ap_ServedCells_item; /* ServedCells_item */ static int hf_x2ap_servedCellInfo; /* ServedCell_Information */ static int hf_x2ap_neighbour_Info; /* Neighbour_Information */ static int hf_x2ap_cellId; /* ECGI */ static int hf_x2ap_tAC; /* TAC */ static int hf_x2ap_eUTRA_Mode_Info; /* EUTRA_Mode_Info */ static int hf_x2ap_ServedCellSpecificInfoReq_NR_item; /* ServedCellSpecificInfoReq_NR_Item */ static int hf_x2ap_nRCGI; /* NRCGI */ static int hf_x2ap_additionalMTCListRequestIndicator; /* T_additionalMTCListRequestIndicator */ static int hf_x2ap_nR_CGI; /* NRCGI */ static int hf_x2ap_uLOnlySharing; /* ULOnlySharing */ static int hf_x2ap_uLandDLSharing; /* ULandDLSharing */ static int hf_x2ap_specialSubframePatterns; /* SpecialSubframePatterns */ static int hf_x2ap_subbandCQICodeword0; /* SubbandCQICodeword0 */ static int hf_x2ap_subbandCQICodeword1; /* SubbandCQICodeword1 */ static int hf_x2ap_periodicCommunicationIndicator; /* T_periodicCommunicationIndicator */ static int hf_x2ap_periodicTime; /* INTEGER_1_3600_ */ static int hf_x2ap_scheduledCommunicationTime; /* ScheduledCommunicationTime */ static int hf_x2ap_stationaryIndication; /* T_stationaryIndication */ static int hf_x2ap_trafficProfile; /* T_trafficProfile */ static int hf_x2ap_batteryIndication; /* T_batteryIndication */ static int hf_x2ap_dayofWeek; /* BIT_STRING_SIZE_7 */ static int hf_x2ap_timeofDayStart; /* INTEGER_0_86399_ */ static int hf_x2ap_timeofDayEnd; /* INTEGER_0_86399_ */ static int hf_x2ap_SSBAreaCapacityValue_List_item; /* SSBAreaCapacityValue_Item */ static int hf_x2ap_ssbIndex; /* SSBIndex */ static int hf_x2ap_ssbAreaCapacityValue; /* INTEGER_0_100 */ static int hf_x2ap_SSBAreaRadioResourceStatus_List_item; /* SSBAreaRadioResourceStatus_Item */ static int hf_x2ap_ssbAreaDLGBRPRBUsage; /* INTEGER_0_100 */ static int hf_x2ap_ssbAreaULGBRPRBUsage; /* INTEGER_0_100 */ static int hf_x2ap_ssbAreaDLNonGBRPRBUsage; /* INTEGER_0_100 */ static int hf_x2ap_ssbAreaULNonGBRPRBUsage; /* INTEGER_0_100 */ static int hf_x2ap_ssbAreaDLTotalPRBUsage; /* INTEGER_0_100 */ static int hf_x2ap_ssbAreaULTotalPRBUsage; /* INTEGER_0_100 */ static int hf_x2ap_ssbAreaDLSchedulingPDCCHCCEUsage; /* INTEGER_0_100 */ static int hf_x2ap_ssbAreaULSchedulingPDCCHCCEUsage; /* INTEGER_0_100 */ static int hf_x2ap_shortBitmap; /* BIT_STRING_SIZE_4 */ static int hf_x2ap_mediumBitmap; /* BIT_STRING_SIZE_8 */ static int hf_x2ap_longBitmap; /* BIT_STRING_SIZE_64 */ static int hf_x2ap_four_bitCQI; /* INTEGER_0_15_ */ static int hf_x2ap_two_bitSubbandDifferentialCQI; /* INTEGER_0_3_ */ static int hf_x2ap_two_bitDifferentialCQI; /* INTEGER_0_3_ */ static int hf_x2ap_three_bitSpatialDifferentialCQI; /* INTEGER_0_7_ */ static int hf_x2ap_SubbandCQIList_item; /* SubbandCQIItem */ static int hf_x2ap_subbandCQI; /* SubbandCQI */ static int hf_x2ap_subbandIndex; /* INTEGER_0_27_ */ static int hf_x2ap_oneframe; /* Oneframe */ static int hf_x2ap_fourframes; /* Fourframes */ static int hf_x2ap_sUL_ARFCN; /* INTEGER_0_3279165 */ static int hf_x2ap_sUL_TxBW; /* NR_TxBW */ static int hf_x2ap_sFN_Time_Offset; /* BIT_STRING_SIZE_24 */ static int hf_x2ap_tAListforMDT; /* TAListforMDT */ static int hf_x2ap_tAIListforMDT; /* TAIListforMDT */ static int hf_x2ap_TAIListforMDT_item; /* TAI_Item */ static int hf_x2ap_TAListforMDT_item; /* TAC */ static int hf_x2ap_tAListforQMC; /* TAListforQMC */ static int hf_x2ap_TAListforQMC_item; /* TAC */ static int hf_x2ap_tAIListforQMC; /* TAIListforQMC */ static int hf_x2ap_TAIListforQMC_item; /* TAI_Item */ static int hf_x2ap_transmission_Bandwidth; /* Transmission_Bandwidth */ static int hf_x2ap_subframeAssignment; /* SubframeAssignment */ static int hf_x2ap_specialSubframe_Info; /* SpecialSubframe_Info */ static int hf_x2ap_nRFreqInfo; /* NRFreqInfo */ static int hf_x2ap_TNLA_To_Add_List_item; /* TNLA_To_Add_Item */ static int hf_x2ap_tNLAssociationTransportLayerAddress; /* CPTransportLayerInformation */ static int hf_x2ap_tNLAssociationUsage; /* TNLAssociationUsage */ static int hf_x2ap_TNLA_To_Update_List_item; /* TNLA_To_Update_Item */ static int hf_x2ap_TNLA_To_Remove_List_item; /* TNLA_To_Remove_Item */ static int hf_x2ap_TNLA_Setup_List_item; /* TNLA_Setup_Item */ static int hf_x2ap_TNLA_Failed_To_Setup_List_item; /* TNLA_Failed_To_Setup_Item */ static int hf_x2ap_dlTNLMaximumOfferedCapacity; /* INTEGER_1_16777216_ */ static int hf_x2ap_dlTNLAvailableCapacity; /* INTEGER_0_100_ */ static int hf_x2ap_ulTNLMaximumOfferedCapacity; /* INTEGER_1_16777216_ */ static int hf_x2ap_ulTNLAvailableCapacity; /* INTEGER_0_100_ */ static int hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List_item; /* Transport_UP_Layer_Addresses_Info_To_Add_Item */ static int hf_x2ap_iP_SecTransportLayerAddress; /* TransportLayerAddress */ static int hf_x2ap_gTPTransportLayerAddressesToAdd; /* GTPTLAs */ static int hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List_item; /* Transport_UP_Layer_Addresses_Info_To_Remove_Item */ static int hf_x2ap_gTPTransportLayerAddressesToRemove; /* GTPTLAs */ static int hf_x2ap_transport_UP_Layer_Addresses_Info_To_Add_List; /* Transport_UP_Layer_Addresses_Info_To_Add_List */ static int hf_x2ap_transport_UP_Layer_Addresses_Info_To_Remove_List; /* Transport_UP_Layer_Addresses_Info_To_Remove_List */ static int hf_x2ap_eUTRANTraceID; /* EUTRANTraceID */ static int hf_x2ap_interfacesToTrace; /* InterfacesToTrace */ static int hf_x2ap_traceDepth; /* TraceDepth */ static int hf_x2ap_traceCollectionEntityIPAddress; /* TraceCollectionEntityIPAddress */ static int hf_x2ap_portnumber; /* Port_Number */ static int hf_x2ap_uDP_Port_Number; /* Port_Number */ static int hf_x2ap_uEaggregateMaximumBitRateDownlink; /* BitRate */ static int hf_x2ap_uEaggregateMaximumBitRateUplink; /* BitRate */ static int hf_x2ap_containerForAppLayerMeasConfig; /* OCTET_STRING_SIZE_1_1000 */ static int hf_x2ap_areaScopeOfQMC; /* AreaScopeOfQMC */ static int hf_x2ap_UE_HistoryInformation_item; /* LastVisitedCell_Item */ static int hf_x2ap_encryptionAlgorithms; /* EncryptionAlgorithms */ static int hf_x2ap_integrityProtectionAlgorithms; /* IntegrityProtectionAlgorithms */ static int hf_x2ap_UEsToBeResetList_item; /* UEsToBeResetList_Item */ static int hf_x2ap_meNB_ID; /* UE_X2AP_ID */ static int hf_x2ap_meNB_ID_ext; /* UE_X2AP_ID_Extension */ static int hf_x2ap_sgNB_ID; /* SgNB_UE_X2AP_ID */ static int hf_x2ap_uLResourcesULandDLSharing; /* ULResourcesULandDLSharing */ static int hf_x2ap_dLResourcesULandDLSharing; /* DLResourcesULandDLSharing */ static int hf_x2ap_uL_PDCP; /* UL_UE_Configuration */ static int hf_x2ap_UL_HighInterferenceIndicationInfo_item; /* UL_HighInterferenceIndicationInfo_Item */ static int hf_x2ap_target_Cell_ID; /* ECGI */ static int hf_x2ap_ul_interferenceindication; /* UL_HighInterferenceIndication */ static int hf_x2ap_UL_InterferenceOverloadIndication_item; /* UL_InterferenceOverloadIndication_Item */ static int hf_x2ap_uLResourceBitmapULOnlySharing; /* DataTrafficResources */ static int hf_x2ap_changed_01; /* ULResourceBitmapULandDLSharing */ static int hf_x2ap_fdd_03; /* UsableABSInformationFDD */ static int hf_x2ap_tdd_03; /* UsableABSInformationTDD */ static int hf_x2ap_usable_abs_pattern_info; /* BIT_STRING_SIZE_40 */ static int hf_x2ap_usaable_abs_pattern_info; /* BIT_STRING_SIZE_1_70_ */ static int hf_x2ap_widebandCQICodeword0; /* INTEGER_0_15_ */ static int hf_x2ap_widebandCQICodeword1; /* WidebandCQICodeword1 */ static int hf_x2ap_wlanMeasConfig; /* WLANMeasConfig */ static int hf_x2ap_wlanMeasConfigNameList; /* WLANMeasConfigNameList */ static int hf_x2ap_wlan_rssi; /* T_wlan_rssi */ static int hf_x2ap_wlan_rtt; /* T_wlan_rtt */ static int hf_x2ap_WLANMeasConfigNameList_item; /* WLANName */ static int hf_x2ap_wTID_Type1; /* WTID_Type1 */ static int hf_x2ap_wTID_Type2; /* WTID_Long_Type2 */ static int hf_x2ap_shortWTID; /* BIT_STRING_SIZE_24 */ static int hf_x2ap_protocolIEs; /* ProtocolIE_Container */ static int hf_x2ap_mME_UE_S1AP_ID; /* UE_S1AP_ID */ static int hf_x2ap_uESecurityCapabilities; /* UESecurityCapabilities */ static int hf_x2ap_aS_SecurityInformation; /* AS_SecurityInformation */ static int hf_x2ap_uEaggregateMaximumBitRate; /* UEAggregateMaximumBitRate */ static int hf_x2ap_subscriberProfileIDforRFP; /* SubscriberProfileIDforRFP */ static int hf_x2ap_e_RABs_ToBeSetup_List; /* E_RABs_ToBeSetup_List */ static int hf_x2ap_rRC_Context; /* RRC_Context */ static int hf_x2ap_handoverRestrictionList; /* HandoverRestrictionList */ static int hf_x2ap_locationReportingInformation; /* LocationReportingInformation */ static int hf_x2ap_E_RABs_ToBeSetup_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_e_RAB_Level_QoS_Parameters; /* E_RAB_Level_QoS_Parameters */ static int hf_x2ap_dL_Forwarding; /* DL_Forwarding */ static int hf_x2ap_source_GlobalSeNB_ID; /* GlobalENB_ID */ static int hf_x2ap_seNB_UE_X2AP_ID; /* UE_X2AP_ID */ static int hf_x2ap_seNB_UE_X2AP_ID_Extension; /* UE_X2AP_ID_Extension */ static int hf_x2ap_wTID; /* WTID */ static int hf_x2ap_wT_UE_XwAP_ID; /* WT_UE_XwAP_ID */ static int hf_x2ap_source_GlobalSgNB_ID; /* GlobalGNB_ID */ static int hf_x2ap_sgNB_UE_X2AP_ID; /* SgNB_UE_X2AP_ID */ static int hf_x2ap_E_RABs_Admitted_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_uL_GTP_TunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_dL_GTP_TunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_first_dl_count; /* FirstDLCount */ static int hf_x2ap_dl_discarding; /* DLDiscarding */ static int hf_x2ap_e_RABsSubjectToEarlyStatusTransfer; /* E_RABsSubjectToEarlyStatusTransfer_List */ static int hf_x2ap_e_RABsSubjectToDLDiscarding_List; /* E_RABsSubjectToDLDiscarding_List */ static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_receiveStatusofULPDCPSDUs; /* ReceiveStatusofULPDCPSDUs */ static int hf_x2ap_uL_COUNTvalue; /* COUNTvalue */ static int hf_x2ap_dL_COUNTvalue; /* COUNTvalue */ static int hf_x2ap_CellInformation_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_cell_ID; /* ECGI */ static int hf_x2ap_ul_InterferenceOverloadIndication; /* UL_InterferenceOverloadIndication */ static int hf_x2ap_ul_HighInterferenceIndicationInfo; /* UL_HighInterferenceIndicationInfo */ static int hf_x2ap_relativeNarrowbandTxPower; /* RelativeNarrowbandTxPower */ static int hf_x2ap_ServedCellsToModify_item; /* ServedCellsToModify_Item */ static int hf_x2ap_old_ecgi; /* ECGI */ static int hf_x2ap_Old_ECGIs_item; /* ECGI */ static int hf_x2ap_CellToReport_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_MeasurementInitiationResult_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_measurementFailureCause_List; /* MeasurementFailureCause_List */ static int hf_x2ap_MeasurementFailureCause_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_measurementFailedReportCharacteristics; /* T_measurementFailedReportCharacteristics */ static int hf_x2ap_CompleteFailureCauseInformation_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_CellMeasurementResult_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_hWLoadIndicator; /* HWLoadIndicator */ static int hf_x2ap_s1TNLLoadIndicator; /* S1TNLLoadIndicator */ static int hf_x2ap_radioResourceStatus; /* RadioResourceStatus */ static int hf_x2ap_privateIEs; /* PrivateIE_Container */ static int hf_x2ap_ServedCellsToActivate_item; /* ServedCellsToActivate_Item */ static int hf_x2ap_ecgi; /* ECGI */ static int hf_x2ap_ActivatedCellList_item; /* ActivatedCellList_Item */ static int hf_x2ap_source_GlobalENB_ID; /* GlobalENB_ID */ static int hf_x2ap_target_GlobalENB_ID; /* GlobalENB_ID */ static int hf_x2ap_E_RABs_ToBeAdded_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_sCG_Bearer; /* E_RABs_ToBeAdded_Item_SCG_Bearer */ static int hf_x2ap_split_Bearer; /* E_RABs_ToBeAdded_Item_Split_Bearer */ static int hf_x2ap_s1_UL_GTPtunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_meNB_GTPtunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_sCG_Bearer_01; /* E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer */ static int hf_x2ap_split_Bearer_01; /* E_RABs_Admitted_ToBeAdded_Item_Split_Bearer */ static int hf_x2ap_s1_DL_GTPtunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_dL_Forwarding_GTPtunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_uL_Forwarding_GTPtunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_seNB_GTPtunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_success; /* ResponseInformationSeNBReconfComp_SuccessItem */ static int hf_x2ap_reject_by_MeNB; /* ResponseInformationSeNBReconfComp_RejectByMeNBItem */ static int hf_x2ap_meNBtoSeNBContainer; /* MeNBtoSeNBContainer */ static int hf_x2ap_uE_SecurityCapabilities; /* UESecurityCapabilities */ static int hf_x2ap_seNB_SecurityKey; /* SeNBSecurityKey */ static int hf_x2ap_seNBUEAggregateMaximumBitRate; /* UEAggregateMaximumBitRate */ static int hf_x2ap_e_RABs_ToBeAdded; /* E_RABs_ToBeAdded_List_ModReq */ static int hf_x2ap_e_RABs_ToBeModified; /* E_RABs_ToBeModified_List_ModReq */ static int hf_x2ap_e_RABs_ToBeReleased; /* E_RABs_ToBeReleased_List_ModReq */ static int hf_x2ap_E_RABs_ToBeAdded_List_ModReq_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_sCG_Bearer_02; /* E_RABs_ToBeAdded_ModReqItem_SCG_Bearer */ static int hf_x2ap_split_Bearer_02; /* E_RABs_ToBeAdded_ModReqItem_Split_Bearer */ static int hf_x2ap_E_RABs_ToBeModified_List_ModReq_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_sCG_Bearer_03; /* E_RABs_ToBeModified_ModReqItem_SCG_Bearer */ static int hf_x2ap_split_Bearer_03; /* E_RABs_ToBeModified_ModReqItem_Split_Bearer */ static int hf_x2ap_E_RABs_ToBeReleased_List_ModReq_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_sCG_Bearer_04; /* E_RABs_ToBeReleased_ModReqItem_SCG_Bearer */ static int hf_x2ap_split_Bearer_04; /* E_RABs_ToBeReleased_ModReqItem_Split_Bearer */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_sCG_Bearer_05; /* E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer */ static int hf_x2ap_split_Bearer_05; /* E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer */ static int hf_x2ap_E_RABs_Admitted_ToBeModified_ModAckList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_sCG_Bearer_06; /* E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer */ static int hf_x2ap_split_Bearer_06; /* E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer */ static int hf_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_sCG_Bearer_07; /* E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer */ static int hf_x2ap_split_Bearer_07; /* E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer */ static int hf_x2ap_E_RABs_ToBeReleased_ModReqd_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_E_RABs_ToBeReleased_List_RelReq_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_sCG_Bearer_08; /* E_RABs_ToBeReleased_RelReqItem_SCG_Bearer */ static int hf_x2ap_split_Bearer_08; /* E_RABs_ToBeReleased_RelReqItem_Split_Bearer */ static int hf_x2ap_E_RABs_ToBeReleased_List_RelConf_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_sCG_Bearer_09; /* E_RABs_ToBeReleased_RelConfItem_SCG_Bearer */ static int hf_x2ap_split_Bearer_09; /* E_RABs_ToBeReleased_RelConfItem_Split_Bearer */ static int hf_x2ap_E_RABs_SubjectToCounterCheck_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_uL_Count; /* INTEGER_0_4294967295 */ static int hf_x2ap_dL_Count; /* INTEGER_0_4294967295 */ static int hf_x2ap_e_RABs_ToBeSetup_ListRetrieve; /* E_RABs_ToBeSetup_ListRetrieve */ static int hf_x2ap_managBasedMDTallowed; /* ManagementBasedMDTallowed */ static int hf_x2ap_managBasedMDTPLMNList; /* MDTPLMNList */ static int hf_x2ap_E_RABs_ToBeSetup_ListRetrieve_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_bearerType; /* BearerType */ static int hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_drb_ID; /* DRB_ID */ static int hf_x2ap_en_DC_ResourceConfiguration; /* EN_DC_ResourceConfiguration */ static int hf_x2ap_resource_configuration; /* T_resource_configuration */ static int hf_x2ap_sgNBPDCPpresent; /* E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent; /* E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent */ static int hf_x2ap_full_E_RAB_Level_QoS_Parameters; /* E_RAB_Level_QoS_Parameters */ static int hf_x2ap_max_MCG_admit_E_RAB_Level_QoS_Parameters; /* GBR_QosInformation */ static int hf_x2ap_meNB_DL_GTP_TEIDatMCG; /* GTPtunnelEndpoint */ static int hf_x2ap_requested_SCG_E_RAB_Level_QoS_Parameters; /* E_RAB_Level_QoS_Parameters */ static int hf_x2ap_meNB_UL_GTP_TEIDatPDCP; /* GTPtunnelEndpoint */ static int hf_x2ap_secondary_meNB_UL_GTP_TEIDatPDCP; /* GTPtunnelEndpoint */ static int hf_x2ap_rlc_Mode; /* RLCMode */ static int hf_x2ap_uL_Configuration; /* ULConfiguration */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_01; /* T_resource_configuration_01 */ static int hf_x2ap_sgNBPDCPpresent_01; /* E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_01; /* E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent */ static int hf_x2ap_sgNB_UL_GTP_TEIDatPDCP; /* GTPtunnelEndpoint */ static int hf_x2ap_mCG_E_RAB_Level_QoS_Parameters; /* E_RAB_Level_QoS_Parameters */ static int hf_x2ap_sgNB_DL_GTP_TEIDatSCG; /* GTPtunnelEndpoint */ static int hf_x2ap_secondary_sgNB_DL_GTP_TEIDatSCG; /* GTPtunnelEndpoint */ static int hf_x2ap_success_SgNBReconfComp; /* ResponseInformationSgNBReconfComp_SuccessItem */ static int hf_x2ap_reject_by_MeNB_SgNBReconfComp; /* ResponseInformationSgNBReconfComp_RejectByMeNBItem */ static int hf_x2ap_meNBtoSgNBContainer; /* MeNBtoSgNBContainer */ static int hf_x2ap_nRUE_SecurityCapabilities; /* NRUESecurityCapabilities */ static int hf_x2ap_sgNB_SecurityKey; /* SgNBSecurityKey */ static int hf_x2ap_sgNBUEAggregateMaximumBitRate; /* UEAggregateMaximumBitRate */ static int hf_x2ap_e_RABs_ToBeAdded_01; /* E_RABs_ToBeAdded_SgNBModReq_List */ static int hf_x2ap_e_RABs_ToBeModified_01; /* E_RABs_ToBeModified_SgNBModReq_List */ static int hf_x2ap_e_RABs_ToBeReleased_01; /* E_RABs_ToBeReleased_SgNBModReq_List */ static int hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_02; /* T_resource_configuration_02 */ static int hf_x2ap_sgNBPDCPpresent_02; /* E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_02; /* E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent */ static int hf_x2ap_max_MN_admit_E_RAB_Level_QoS_Parameters; /* GBR_QosInformation */ static int hf_x2ap_E_RABs_ToBeModified_SgNBModReq_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_03; /* T_resource_configuration_03 */ static int hf_x2ap_sgNBPDCPpresent_03; /* E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_03; /* E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_04; /* T_resource_configuration_04 */ static int hf_x2ap_sgNBPDCPpresent_04; /* E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_04; /* E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent */ static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_05; /* T_resource_configuration_05 */ static int hf_x2ap_sgNBPDCPpresent_05; /* E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_05; /* E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent */ static int hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_06; /* T_resource_configuration_06 */ static int hf_x2ap_sgNBPDCPpresent_06; /* E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_06; /* E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent */ static int hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_07; /* T_resource_configuration_07 */ static int hf_x2ap_sgNBPDCPpresent_07; /* E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_07; /* E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_08; /* T_resource_configuration_08 */ static int hf_x2ap_sgNBPDCPpresent_08; /* E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_08; /* E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent */ static int hf_x2ap_requested_MCG_E_RAB_Level_QoS_Parameters; /* E_RAB_Level_QoS_Parameters */ static int hf_x2ap_s1_DL_GTP_TEIDatSgNB; /* GTPtunnelEndpoint */ static int hf_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_09; /* T_resource_configuration_09 */ static int hf_x2ap_sgNBPDCPpresent_09; /* E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_09; /* E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_10; /* T_resource_configuration_10 */ static int hf_x2ap_sgNBPDCPpresent_10; /* E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_10; /* E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent */ static int hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_rlc_Mode_transferred; /* RLCMode */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_11; /* T_resource_configuration_11 */ static int hf_x2ap_sgNBPDCPpresent_11; /* E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_11; /* E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent */ static int hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_resource_configuration_12; /* T_resource_configuration_12 */ static int hf_x2ap_sgNBPDCPpresent_12; /* E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent */ static int hf_x2ap_sgNBPDCPnotpresent_12; /* E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent */ static int hf_x2ap_init_eNB; /* ProtocolIE_Container */ static int hf_x2ap_init_en_gNB; /* ProtocolIE_Container */ static int hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_item; /* ServedEUTRAcellsENDCX2ManagementList_item */ static int hf_x2ap_servedEUTRACellInfo; /* ServedCell_Information */ static int hf_x2ap_nrNeighbourInfo; /* NRNeighbour_Information */ static int hf_x2ap_ServedNRcellsENDCX2ManagementList_item; /* ServedNRcellsENDCX2ManagementList_item */ static int hf_x2ap_servedNRCellInfo; /* ServedNRCell_Information */ static int hf_x2ap_nRNeighbourInfo; /* NRNeighbour_Information */ static int hf_x2ap_nrModeInfo; /* T_nrModeInfo */ static int hf_x2ap_fdd_04; /* FDD_InfoServedNRCell_Information */ static int hf_x2ap_tdd_04; /* TDD_InfoServedNRCell_Information */ static int hf_x2ap_measurementTimingConfiguration_01; /* T_measurementTimingConfiguration_01 */ static int hf_x2ap_ul_NR_TxBW; /* NR_TxBW */ static int hf_x2ap_dl_NR_TxBW; /* NR_TxBW */ static int hf_x2ap_nR_TxBW; /* NR_TxBW */ static int hf_x2ap_cellAssistanceInformation; /* CellAssistanceInformation */ static int hf_x2ap_limited_list; /* Limited_list */ static int hf_x2ap_full_list; /* T_full_list */ static int hf_x2ap_Limited_list_item; /* Limited_list_item */ static int hf_x2ap_respond_eNB; /* ProtocolIE_Container */ static int hf_x2ap_respond_en_gNB; /* ProtocolIE_Container */ static int hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item; /* ServedEUTRAcellsToModifyListENDCConfUpd_item */ static int hf_x2ap_old_ECGI; /* ECGI */ static int hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_item; /* ECGI */ static int hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_item; /* ServedNRCellsToModify_Item */ static int hf_x2ap_old_nrcgi; /* NRCGI */ static int hf_x2ap_servedNRCellInformation; /* ServedNRCell_Information */ static int hf_x2ap_nrNeighbourInformation; /* NRNeighbour_Information */ static int hf_x2ap_nrDeactivationIndication; /* DeactivationIndication */ static int hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_item; /* NRCGI */ static int hf_x2ap_ServedNRCellsToActivate_item; /* ServedNRCellsToActivate_Item */ static int hf_x2ap_ActivatedNRCellList_item; /* ActivatedNRCellList_Item */ static int hf_x2ap_CellToReport_NR_ENDC_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_nr_cell_ID; /* NRCGI */ static int hf_x2ap_ssbToReport_List; /* SSBToReport_List */ static int hf_x2ap_CellToReport_E_UTRA_ENDC_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_e_utra_cell_ID; /* ECGI */ static int hf_x2ap_SSBToReport_List_item; /* SSBToReport_Item */ static int hf_x2ap_CellMeasurementResult_NR_ENDC_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_nr_radioResourceStatus; /* NRRadioResourceStatus */ static int hf_x2ap_tnlCapacityIndicator; /* TNLCapacityIndicator */ static int hf_x2ap_nr_compositeAvailableCapacityGroup; /* NRCompositeAvailableCapacityGroup */ static int hf_x2ap_numberofActiveUEs; /* INTEGER_0_16777215_ */ static int hf_x2ap_CellMeasurementResult_E_UTRA_ENDC_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_compositeAvailableCapacityGroup; /* CompositeAvailableCapacityGroup */ static int hf_x2ap_initiate_eNB; /* ProtocolIE_Container */ static int hf_x2ap_initiate_en_gNB; /* ProtocolIE_Container */ static int hf_x2ap_ListofEUTRACellsinEUTRACoordinationReq_item; /* ECGI */ static int hf_x2ap_ListofEUTRACellsinNRCoordinationReq_item; /* ECGI */ static int hf_x2ap_ListofNRCellsinNRCoordinationReq_item; /* NRCGI */ static int hf_x2ap_ListofEUTRACellsinEUTRACoordinationResp_item; /* ECGI */ static int hf_x2ap_ListofNRCellsinNRCoordinationResp_item; /* NRCGI */ static int hf_x2ap_E_RABs_DataForwardingAddress_List_item; /* ProtocolIE_Single_Container */ static int hf_x2ap_dl_GTPtunnelEndpoint; /* GTPtunnelEndpoint */ static int hf_x2ap_initiatingMessage; /* InitiatingMessage */ static int hf_x2ap_successfulOutcome; /* SuccessfulOutcome */ static int hf_x2ap_unsuccessfulOutcome; /* UnsuccessfulOutcome */ static int hf_x2ap_initiatingMessage_value; /* InitiatingMessage_value */ static int hf_x2ap_successfulOutcome_value; /* SuccessfulOutcome_value */ static int hf_x2ap_value; /* UnsuccessfulOutcome_value */ /* Initialize the subtree pointers */ static int ett_x2ap; static int ett_x2ap_TransportLayerAddress; static int ett_x2ap_PLMN_Identity; static int ett_x2ap_TargeteNBtoSource_eNBTransparentContainer; static int ett_x2ap_RRC_Context; static int ett_x2ap_UE_HistoryInformationFromTheUE; static int ett_x2ap_ReportCharacteristics; static int ett_x2ap_measurementFailedReportCharacteristics; static int ett_x2ap_UE_RLF_Report_Container; static int ett_x2ap_UE_RLF_Report_Container_for_extended_bands; static int ett_x2ap_MeNBtoSeNBContainer; static int ett_x2ap_SeNBtoMeNBContainer; static int ett_x2ap_EUTRANTraceID; static int ett_x2ap_InterfacesToTrace; static int ett_x2ap_TraceCollectionEntityIPAddress; static int ett_x2ap_EncryptionAlgorithms; static int ett_x2ap_IntegrityProtectionAlgorithms; static int ett_x2ap_MeasurementsToActivate; static int ett_x2ap_MDT_Location_Info; static int ett_x2ap_transmissionModes; static int ett_x2ap_X2AP_Message; static int ett_x2ap_MeNBtoSgNBContainer; static int ett_x2ap_SgNBtoMeNBContainer; static int ett_x2ap_RRCContainer; static int ett_x2ap_NRencryptionAlgorithms; static int ett_x2ap_NRintegrityProtectionAlgorithms; static int ett_x2ap_measurementTimingConfiguration; static int ett_x2ap_LastVisitedNGRANCellInformation; static int ett_x2ap_LastVisitedUTRANCellInformation; static int ett_x2ap_EndcSONConfigurationTransfer; static int ett_x2ap_EPCHandoverRestrictionListContainer; static int ett_x2ap_NBIoT_RLF_Report_Container; static int ett_x2ap_anchorCarrier_NPRACHConfig; static int ett_x2ap_anchorCarrier_EDT_NPRACHConfig; static int ett_x2ap_anchorCarrier_Format2_NPRACHConfig; static int ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig; static int ett_x2ap_non_anchorCarrier_NPRACHConfig; static int ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig; static int ett_x2ap_anchorCarrier_NPRACHConfigTDD; static int ett_x2ap_non_anchorCarrier_NPRACHConfigTDD; static int ett_x2ap_Non_anchorCarrierFrequency; static int ett_x2ap_ReportCharacteristics_ENDC; static int ett_x2ap_TargetCellInNGRAN; static int ett_x2ap_TDDULDLConfigurationCommonNR; static int ett_x2ap_MDT_ConfigurationNR; static int ett_x2ap_NRCellPRACHConfig; static int ett_x2ap_IntendedTDD_DL_ULConfiguration_NR; static int ett_x2ap_UERadioCapability; static int ett_x2ap_LastVisitedPSCell_Item; static int ett_x2ap_NRRACHReportContainer; static int ett_x2ap_rAT_RestrictionInformation; static gint ett_x2ap_PrivateIE_ID; static gint ett_x2ap_ProtocolIE_Container; static gint ett_x2ap_ProtocolIE_Field; static gint ett_x2ap_ProtocolExtensionContainer; static gint ett_x2ap_ProtocolExtensionField; static gint ett_x2ap_PrivateIE_Container; static gint ett_x2ap_PrivateIE_Field; static gint ett_x2ap_ABSInformation; static gint ett_x2ap_ABSInformationFDD; static gint ett_x2ap_ABSInformationTDD; static gint ett_x2ap_ABS_Status; static gint ett_x2ap_Additional_Measurement_Timing_Configuration_List; static gint ett_x2ap_Additional_Measurement_Timing_Configuration_Item; static gint ett_x2ap_CSI_RS_MTC_Configuration_List; static gint ett_x2ap_CSI_RS_MTC_Configuration_Item; static gint ett_x2ap_CSI_RS_Neighbour_List; static gint ett_x2ap_CSI_RS_Neighbour_Item; static gint ett_x2ap_CSI_RS_MTC_Neighbour_List; static gint ett_x2ap_CSI_RS_MTC_Neighbour_Item; static gint ett_x2ap_AdditionalListofForwardingGTPTunnelEndpoint; static gint ett_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_Item; static gint ett_x2ap_AdditionalSpecialSubframe_Info; static gint ett_x2ap_AdditionalSpecialSubframeExtension_Info; static gint ett_x2ap_AllocationAndRetentionPriority; static gint ett_x2ap_AreaScopeOfMDT; static gint ett_x2ap_AreaScopeOfQMC; static gint ett_x2ap_AS_SecurityInformation; static gint ett_x2ap_AdditionalPLMNs_Item; static gint ett_x2ap_BroadcastPLMNs_Item; static gint ett_x2ap_BluetoothMeasurementConfiguration; static gint ett_x2ap_BluetoothMeasConfigNameList; static gint ett_x2ap_BPLMN_ID_Info_EUTRA; static gint ett_x2ap_BPLMN_ID_Info_EUTRA_Item; static gint ett_x2ap_BPLMN_ID_Info_NR; static gint ett_x2ap_BPLMN_ID_Info_NR_Item; static gint ett_x2ap_BroadcastextPLMNs; static gint ett_x2ap_Cause; static gint ett_x2ap_CellBasedMDT; static gint ett_x2ap_CellBasedQMC; static gint ett_x2ap_CellIdListforMDT; static gint ett_x2ap_CellIdListforQMC; static gint ett_x2ap_CellReplacingInfo; static gint ett_x2ap_CellType; static gint ett_x2ap_CPACcandidatePSCells_list; static gint ett_x2ap_CPACcandidatePSCells_item; static gint ett_x2ap_CPAinformation_REQ; static gint ett_x2ap_CPAinformation_REQ_ACK; static gint ett_x2ap_CPCinformation_REQD; static gint ett_x2ap_CPC_target_SgNB_reqd_list; static gint ett_x2ap_CPC_target_SgNB_reqd_item; static gint ett_x2ap_CPCinformation_CONF; static gint ett_x2ap_CPC_target_SgNB_conf_list; static gint ett_x2ap_CPC_target_SgNB_conf_item; static gint ett_x2ap_CPCinformation_NOTIFY; static gint ett_x2ap_CPAinformation_MOD; static gint ett_x2ap_CPCupdate_MOD; static gint ett_x2ap_CPC_target_SgNB_mod_list; static gint ett_x2ap_CPC_target_SgNB_mod_item; static gint ett_x2ap_CPAinformation_MOD_ACK; static gint ett_x2ap_CPACinformation_REQD; static gint ett_x2ap_CNTypeRestrictions; static gint ett_x2ap_CNTypeRestrictionsItem; static gint ett_x2ap_CoMPHypothesisSet; static gint ett_x2ap_CoMPHypothesisSetItem; static gint ett_x2ap_CoMPInformation; static gint ett_x2ap_CoMPInformationItem; static gint ett_x2ap_CoMPInformationItem_item; static gint ett_x2ap_CoMPInformationStartTime; static gint ett_x2ap_CoMPInformationStartTime_item; static gint ett_x2ap_CompositeAvailableCapacity; static gint ett_x2ap_CompositeAvailableCapacityGroup; static gint ett_x2ap_COUNTvalue; static gint ett_x2ap_COUNTValueExtended; static gint ett_x2ap_COUNTvaluePDCP_SNlength18; static gint ett_x2ap_CoverageModificationList; static gint ett_x2ap_CoverageModification_Item; static gint ett_x2ap_CPTransportLayerInformation; static gint ett_x2ap_CriticalityDiagnostics; static gint ett_x2ap_CriticalityDiagnostics_IE_List; static gint ett_x2ap_CriticalityDiagnostics_IE_List_item; static gint ett_x2ap_CSIReportList; static gint ett_x2ap_CSIReportList_item; static gint ett_x2ap_CSIReportPerCSIProcess; static gint ett_x2ap_CSIReportPerCSIProcess_item; static gint ett_x2ap_CSIReportPerCSIProcessItem; static gint ett_x2ap_CSIReportPerCSIProcessItem_item; static gint ett_x2ap_CHOinformation_REQ; static gint ett_x2ap_CHOinformation_ACK; static gint ett_x2ap_CandidateCellsToBeCancelledList; static gint ett_x2ap_CHOinformation_AddReq; static gint ett_x2ap_CHOinformation_ModReq; static gint ett_x2ap_DataTrafficResourceIndication; static gint ett_x2ap_DAPSRequestInfo; static gint ett_x2ap_DAPSResponseInfo; static gint ett_x2ap_DeliveryStatus; static gint ett_x2ap_DLResourcesULandDLSharing; static gint ett_x2ap_DynamicDLTransmissionInformation; static gint ett_x2ap_DynamicNAICSInformation; static gint ett_x2ap_SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values; static gint ett_x2ap_ECGI; static gint ett_x2ap_EnhancedRNTP; static gint ett_x2ap_EnhancedRNTPStartTime; static gint ett_x2ap_ENB_ID; static gint ett_x2ap_EN_DC_ResourceConfiguration; static gint ett_x2ap_EPLMNs; static gint ett_x2ap_ERABActivityNotifyItemList; static gint ett_x2ap_ERABActivityNotifyItem; static gint ett_x2ap_E_RAB_Level_QoS_Parameters; static gint ett_x2ap_E_RAB_List; static gint ett_x2ap_E_RAB_Item; static gint ett_x2ap_E_RABsSubjectToEarlyStatusTransfer_List; static gint ett_x2ap_E_RABsSubjectToEarlyStatusTransfer_Item; static gint ett_x2ap_E_RABsSubjectToDLDiscarding_List; static gint ett_x2ap_E_RABsSubjectToDLDiscarding_Item; static gint ett_x2ap_E_RABUsageReportList; static gint ett_x2ap_E_RABUsageReport_Item; static gint ett_x2ap_EUTRA_Mode_Info; static gint ett_x2ap_ExpectedUEBehaviour; static gint ett_x2ap_ExpectedUEActivityBehaviour; static gint ett_x2ap_ExtendedULInterferenceOverloadInfo; static gint ett_x2ap_FastMCGRecovery; static gint ett_x2ap_FDD_Info; static gint ett_x2ap_FDD_InfoNeighbourServedNRCell_Information; static gint ett_x2ap_ForbiddenTAs; static gint ett_x2ap_ForbiddenTAs_Item; static gint ett_x2ap_ForbiddenTACs; static gint ett_x2ap_ForbiddenLAs; static gint ett_x2ap_ForbiddenLAs_Item; static gint ett_x2ap_ForbiddenLACs; static gint ett_x2ap_FreqBandNrItem; static gint ett_x2ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem; static gint ett_x2ap_GBR_QosInformation; static gint ett_x2ap_GlobalENB_ID; static gint ett_x2ap_GlobalGNB_ID; static gint ett_x2ap_Global_RAN_NODE_ID; static gint ett_x2ap_GTPTLAs; static gint ett_x2ap_GTPTLA_Item; static gint ett_x2ap_GTPtunnelEndpoint; static gint ett_x2ap_GUGroupIDList; static gint ett_x2ap_GU_Group_ID; static gint ett_x2ap_GUMMEI; static gint ett_x2ap_GNB_ID; static gint ett_x2ap_HandoverRestrictionList; static gint ett_x2ap_HWLoadIndicator; static gint ett_x2ap_LastVisitedCell_Item; static gint ett_x2ap_LastVisitedEUTRANCellInformation; static gint ett_x2ap_LastVisitedGERANCellInformation; static gint ett_x2ap_LocationInformationSgNB; static gint ett_x2ap_LocationReportingInformation; static gint ett_x2ap_M1PeriodicReporting; static gint ett_x2ap_M1ThresholdEventA2; static gint ett_x2ap_M3Configuration; static gint ett_x2ap_M4Configuration; static gint ett_x2ap_M5Configuration; static gint ett_x2ap_M6Configuration; static gint ett_x2ap_M7Configuration; static gint ett_x2ap_MDT_Configuration; static gint ett_x2ap_MDTPLMNList; static gint ett_x2ap_MeasurementThresholdA2; static gint ett_x2ap_MeNBResourceCoordinationInformation; static gint ett_x2ap_MBMS_Service_Area_Identity_List; static gint ett_x2ap_MBSFN_Subframe_Infolist; static gint ett_x2ap_MBSFN_Subframe_Info; static gint ett_x2ap_MobilityParametersModificationRange; static gint ett_x2ap_MobilityParametersInformation; static gint ett_x2ap_MultibandInfoList; static gint ett_x2ap_MessageOversizeNotification; static gint ett_x2ap_BandInfo; static gint ett_x2ap_SplitSRB; static gint ett_x2ap_Neighbour_Information; static gint ett_x2ap_Neighbour_Information_item; static gint ett_x2ap_NRCapacityValue; static gint ett_x2ap_NRCarrierList; static gint ett_x2ap_NRCarrierItem; static gint ett_x2ap_NRCompositeAvailableCapacityGroup; static gint ett_x2ap_NRCompositeAvailableCapacity; static gint ett_x2ap_NRFreqInfo; static gint ett_x2ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem; static gint ett_x2ap_NRCGI; static gint ett_x2ap_NRRACHReportInformation; static gint ett_x2ap_NRRACHReportList_Item; static gint ett_x2ap_NRNeighbour_Information; static gint ett_x2ap_NRNeighbour_Information_item; static gint ett_x2ap_T_nRNeighbourModeInfo; static gint ett_x2ap_NPRACHConfiguration; static gint ett_x2ap_T_fdd_or_tdd; static gint ett_x2ap_NPRACHConfiguration_FDD; static gint ett_x2ap_NPRACHConfiguration_TDD; static gint ett_x2ap_Non_AnchorCarrierFrequencylist; static gint ett_x2ap_Non_AnchorCarrierFrequencylist_item; static gint ett_x2ap_MeasurementResultforNRCellsPossiblyAggregated; static gint ett_x2ap_MeasurementResultforNRCellsPossiblyAggregated_Item; static gint ett_x2ap_NRRadioResourceStatus; static gint ett_x2ap_MIMOPRBusageInformation; static gint ett_x2ap_NR_TxBW; static gint ett_x2ap_NRUeReport; static gint ett_x2ap_NRUESidelinkAggregateMaximumBitRate; static gint ett_x2ap_NRUESecurityCapabilities; static gint ett_x2ap_NRV2XServicesAuthorized; static gint ett_x2ap_PC5QoSParameters; static gint ett_x2ap_PC5QoSFlowList; static gint ett_x2ap_PC5QoSFlowItem; static gint ett_x2ap_PC5FlowBitRates; static gint ett_x2ap_PRACH_Configuration; static gint ett_x2ap_PLMNAreaBasedQMC; static gint ett_x2ap_PLMNListforQMC; static gint ett_x2ap_ProSeAuthorized; static gint ett_x2ap_ProtectedEUTRAResourceIndication; static gint ett_x2ap_ProtectedFootprintTimePattern; static gint ett_x2ap_ProtectedResourceList; static gint ett_x2ap_ProtectedResourceList_Item; static gint ett_x2ap_PSCell_UE_HistoryInformation; static gint ett_x2ap_QoS_Mapping_Information; static gint ett_x2ap_RadioResourceStatus; static gint ett_x2ap_RAT_Restrictions; static gint ett_x2ap_RAT_RestrictionsItem; static gint ett_x2ap_RelativeNarrowbandTxPower; static gint ett_x2ap_ReplacingCellsList; static gint ett_x2ap_ReplacingCellsList_Item; static gint ett_x2ap_ReservedSubframePattern; static gint ett_x2ap_ResumeID; static gint ett_x2ap_RLC_Status; static gint ett_x2ap_RSRPMeasurementResult; static gint ett_x2ap_RSRPMeasurementResult_item; static gint ett_x2ap_RSRPMRList; static gint ett_x2ap_RSRPMRList_item; static gint ett_x2ap_S1TNLLoadIndicator; static gint ett_x2ap_SCG_UE_HistoryInformation; static gint ett_x2ap_SecondaryRATUsageReportList; static gint ett_x2ap_SecondaryRATUsageReport_Item; static gint ett_x2ap_SecurityIndication; static gint ett_x2ap_SecurityResult; static gint ett_x2ap_SensorMeasurementConfiguration; static gint ett_x2ap_SensorMeasConfigNameList; static gint ett_x2ap_SensorMeasConfigNameItem; static gint ett_x2ap_SensorNameConfig; static gint ett_x2ap_ServedCells; static gint ett_x2ap_ServedCells_item; static gint ett_x2ap_ServedCell_Information; static gint ett_x2ap_ServedCellSpecificInfoReq_NR; static gint ett_x2ap_ServedCellSpecificInfoReq_NR_Item; static gint ett_x2ap_SgNBResourceCoordinationInformation; static gint ett_x2ap_SharedResourceType; static gint ett_x2ap_SpecialSubframe_Info; static gint ett_x2ap_SubbandCQI; static gint ett_x2ap_Subscription_Based_UE_DifferentiationInfo; static gint ett_x2ap_ScheduledCommunicationTime; static gint ett_x2ap_SSBAreaCapacityValue_List; static gint ett_x2ap_SSBAreaCapacityValue_Item; static gint ett_x2ap_SSBAreaRadioResourceStatus_List; static gint ett_x2ap_SSBAreaRadioResourceStatus_Item; static gint ett_x2ap_SSB_PositionsInBurst; static gint ett_x2ap_SubbandCQICodeword0; static gint ett_x2ap_SubbandCQICodeword1; static gint ett_x2ap_SubbandCQIList; static gint ett_x2ap_SubbandCQIItem; static gint ett_x2ap_SubframeAllocation; static gint ett_x2ap_SULInformation; static gint ett_x2ap_SupportedSULFreqBandItem; static gint ett_x2ap_SFN_Offset; static gint ett_x2ap_TABasedMDT; static gint ett_x2ap_TAIBasedMDT; static gint ett_x2ap_TAIListforMDT; static gint ett_x2ap_TAI_Item; static gint ett_x2ap_TAListforMDT; static gint ett_x2ap_TABasedQMC; static gint ett_x2ap_TAListforQMC; static gint ett_x2ap_TAIBasedQMC; static gint ett_x2ap_TAIListforQMC; static gint ett_x2ap_TDD_Info; static gint ett_x2ap_TDD_InfoNeighbourServedNRCell_Information; static gint ett_x2ap_TNLA_To_Add_List; static gint ett_x2ap_TNLA_To_Add_Item; static gint ett_x2ap_TNLA_To_Update_List; static gint ett_x2ap_TNLA_To_Update_Item; static gint ett_x2ap_TNLA_To_Remove_List; static gint ett_x2ap_TNLA_To_Remove_Item; static gint ett_x2ap_TNLA_Setup_List; static gint ett_x2ap_TNLA_Setup_Item; static gint ett_x2ap_TNLA_Failed_To_Setup_List; static gint ett_x2ap_TNLA_Failed_To_Setup_Item; static gint ett_x2ap_TNLCapacityIndicator; static gint ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List; static gint ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_Item; static gint ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List; static gint ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_Item; static gint ett_x2ap_TNLConfigurationInfo; static gint ett_x2ap_TraceActivation; static gint ett_x2ap_TransportLayerAddressAndPort; static gint ett_x2ap_TunnelInformation; static gint ett_x2ap_UEAggregateMaximumBitRate; static gint ett_x2ap_UEAppLayerMeasConfig; static gint ett_x2ap_UE_HistoryInformation; static gint ett_x2ap_UESecurityCapabilities; static gint ett_x2ap_UESidelinkAggregateMaximumBitRate; static gint ett_x2ap_UEsToBeResetList; static gint ett_x2ap_UEsToBeResetList_Item; static gint ett_x2ap_ULandDLSharing; static gint ett_x2ap_ULConfiguration; static gint ett_x2ap_UL_HighInterferenceIndicationInfo; static gint ett_x2ap_UL_HighInterferenceIndicationInfo_Item; static gint ett_x2ap_UL_InterferenceOverloadIndication; static gint ett_x2ap_ULOnlySharing; static gint ett_x2ap_ULResourcesULandDLSharing; static gint ett_x2ap_UsableABSInformation; static gint ett_x2ap_UsableABSInformationFDD; static gint ett_x2ap_UsableABSInformationTDD; static gint ett_x2ap_V2XServicesAuthorized; static gint ett_x2ap_WidebandCQI; static gint ett_x2ap_WidebandCQICodeword1; static gint ett_x2ap_WLANMeasurementConfiguration; static gint ett_x2ap_WLANMeasConfigNameList; static gint ett_x2ap_WTID; static gint ett_x2ap_WTID_Type1; static gint ett_x2ap_HandoverRequest; static gint ett_x2ap_UE_ContextInformation; static gint ett_x2ap_E_RABs_ToBeSetup_List; static gint ett_x2ap_E_RABs_ToBeSetup_Item; static gint ett_x2ap_UE_ContextReferenceAtSeNB; static gint ett_x2ap_UE_ContextReferenceAtWT; static gint ett_x2ap_UE_ContextReferenceAtSgNB; static gint ett_x2ap_HandoverRequestAcknowledge; static gint ett_x2ap_E_RABs_Admitted_List; static gint ett_x2ap_E_RABs_Admitted_Item; static gint ett_x2ap_HandoverPreparationFailure; static gint ett_x2ap_HandoverReport; static gint ett_x2ap_EarlyStatusTransfer; static gint ett_x2ap_ProcedureStageChoice; static gint ett_x2ap_FirstDLCount; static gint ett_x2ap_DLDiscarding; static gint ett_x2ap_SNStatusTransfer; static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_List; static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_Item; static gint ett_x2ap_UEContextRelease; static gint ett_x2ap_HandoverCancel; static gint ett_x2ap_HandoverSuccess; static gint ett_x2ap_ConditionalHandoverCancel; static gint ett_x2ap_ErrorIndication; static gint ett_x2ap_ResetRequest; static gint ett_x2ap_ResetResponse; static gint ett_x2ap_X2SetupRequest; static gint ett_x2ap_X2SetupResponse; static gint ett_x2ap_X2SetupFailure; static gint ett_x2ap_LoadInformation; static gint ett_x2ap_CellInformation_List; static gint ett_x2ap_CellInformation_Item; static gint ett_x2ap_ENBConfigurationUpdate; static gint ett_x2ap_ServedCellsToModify; static gint ett_x2ap_ServedCellsToModify_Item; static gint ett_x2ap_Old_ECGIs; static gint ett_x2ap_ENBConfigurationUpdateAcknowledge; static gint ett_x2ap_ENBConfigurationUpdateFailure; static gint ett_x2ap_ResourceStatusRequest; static gint ett_x2ap_CellToReport_List; static gint ett_x2ap_CellToReport_Item; static gint ett_x2ap_ResourceStatusResponse; static gint ett_x2ap_MeasurementInitiationResult_List; static gint ett_x2ap_MeasurementInitiationResult_Item; static gint ett_x2ap_MeasurementFailureCause_List; static gint ett_x2ap_MeasurementFailureCause_Item; static gint ett_x2ap_ResourceStatusFailure; static gint ett_x2ap_CompleteFailureCauseInformation_List; static gint ett_x2ap_CompleteFailureCauseInformation_Item; static gint ett_x2ap_ResourceStatusUpdate; static gint ett_x2ap_CellMeasurementResult_List; static gint ett_x2ap_CellMeasurementResult_Item; static gint ett_x2ap_PrivateMessage; static gint ett_x2ap_MobilityChangeRequest; static gint ett_x2ap_MobilityChangeAcknowledge; static gint ett_x2ap_MobilityChangeFailure; static gint ett_x2ap_RLFIndication; static gint ett_x2ap_CellActivationRequest; static gint ett_x2ap_ServedCellsToActivate; static gint ett_x2ap_ServedCellsToActivate_Item; static gint ett_x2ap_CellActivationResponse; static gint ett_x2ap_ActivatedCellList; static gint ett_x2ap_ActivatedCellList_Item; static gint ett_x2ap_CellActivationFailure; static gint ett_x2ap_X2Release; static gint ett_x2ap_X2APMessageTransfer; static gint ett_x2ap_RNL_Header; static gint ett_x2ap_SeNBAdditionRequest; static gint ett_x2ap_E_RABs_ToBeAdded_List; static gint ett_x2ap_E_RABs_ToBeAdded_Item; static gint ett_x2ap_E_RABs_ToBeAdded_Item_SCG_Bearer; static gint ett_x2ap_E_RABs_ToBeAdded_Item_Split_Bearer; static gint ett_x2ap_SeNBAdditionRequestAcknowledge; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_List; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_Item; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer; static gint ett_x2ap_SeNBAdditionRequestReject; static gint ett_x2ap_SeNBReconfigurationComplete; static gint ett_x2ap_ResponseInformationSeNBReconfComp; static gint ett_x2ap_ResponseInformationSeNBReconfComp_SuccessItem; static gint ett_x2ap_ResponseInformationSeNBReconfComp_RejectByMeNBItem; static gint ett_x2ap_SeNBModificationRequest; static gint ett_x2ap_UE_ContextInformationSeNBModReq; static gint ett_x2ap_E_RABs_ToBeAdded_List_ModReq; static gint ett_x2ap_E_RABs_ToBeAdded_ModReqItem; static gint ett_x2ap_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer; static gint ett_x2ap_E_RABs_ToBeAdded_ModReqItem_Split_Bearer; static gint ett_x2ap_E_RABs_ToBeModified_List_ModReq; static gint ett_x2ap_E_RABs_ToBeModified_ModReqItem; static gint ett_x2ap_E_RABs_ToBeModified_ModReqItem_SCG_Bearer; static gint ett_x2ap_E_RABs_ToBeModified_ModReqItem_Split_Bearer; static gint ett_x2ap_E_RABs_ToBeReleased_List_ModReq; static gint ett_x2ap_E_RABs_ToBeReleased_ModReqItem; static gint ett_x2ap_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer; static gint ett_x2ap_E_RABs_ToBeReleased_ModReqItem_Split_Bearer; static gint ett_x2ap_SeNBModificationRequestAcknowledge; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer; static gint ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckList; static gint ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem; static gint ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer; static gint ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer; static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList; static gint ett_x2ap_E_RABs_Admitted_ToReleased_ModAckItem; static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer; static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer; static gint ett_x2ap_SeNBModificationRequestReject; static gint ett_x2ap_SeNBModificationRequired; static gint ett_x2ap_E_RABs_ToBeReleased_ModReqd; static gint ett_x2ap_E_RABs_ToBeReleased_ModReqdItem; static gint ett_x2ap_SeNBModificationConfirm; static gint ett_x2ap_SeNBModificationRefuse; static gint ett_x2ap_SeNBReleaseRequest; static gint ett_x2ap_E_RABs_ToBeReleased_List_RelReq; static gint ett_x2ap_E_RABs_ToBeReleased_RelReqItem; static gint ett_x2ap_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer; static gint ett_x2ap_E_RABs_ToBeReleased_RelReqItem_Split_Bearer; static gint ett_x2ap_SeNBReleaseRequired; static gint ett_x2ap_SeNBReleaseConfirm; static gint ett_x2ap_E_RABs_ToBeReleased_List_RelConf; static gint ett_x2ap_E_RABs_ToBeReleased_RelConfItem; static gint ett_x2ap_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer; static gint ett_x2ap_E_RABs_ToBeReleased_RelConfItem_Split_Bearer; static gint ett_x2ap_SeNBCounterCheckRequest; static gint ett_x2ap_E_RABs_SubjectToCounterCheck_List; static gint ett_x2ap_E_RABs_SubjectToCounterCheckItem; static gint ett_x2ap_X2RemovalRequest; static gint ett_x2ap_X2RemovalResponse; static gint ett_x2ap_X2RemovalFailure; static gint ett_x2ap_RetrieveUEContextRequest; static gint ett_x2ap_RetrieveUEContextResponse; static gint ett_x2ap_UE_ContextInformationRetrieve; static gint ett_x2ap_E_RABs_ToBeSetup_ListRetrieve; static gint ett_x2ap_E_RABs_ToBeSetupRetrieve_Item; static gint ett_x2ap_RetrieveUEContextFailure; static gint ett_x2ap_SgNBAdditionRequest; static gint ett_x2ap_E_RABs_ToBeAdded_SgNBAddReqList; static gint ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item; static gint ett_x2ap_T_resource_configuration; static gint ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent; static gint ett_x2ap_SgNBAdditionRequestAcknowledge; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item; static gint ett_x2ap_T_resource_configuration_01; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent; static gint ett_x2ap_SgNBAdditionRequestReject; static gint ett_x2ap_SgNBReconfigurationComplete; static gint ett_x2ap_ResponseInformationSgNBReconfComp; static gint ett_x2ap_ResponseInformationSgNBReconfComp_SuccessItem; static gint ett_x2ap_ResponseInformationSgNBReconfComp_RejectByMeNBItem; static gint ett_x2ap_SgNBModificationRequest; static gint ett_x2ap_UE_ContextInformation_SgNBModReq; static gint ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_List; static gint ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item; static gint ett_x2ap_T_resource_configuration_02; static gint ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent; static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReq_List; static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item; static gint ett_x2ap_T_resource_configuration_03; static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_List; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item; static gint ett_x2ap_T_resource_configuration_04; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent; static gint ett_x2ap_SgNBModificationRequestAcknowledge; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item; static gint ett_x2ap_T_resource_configuration_05; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent; static gint ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList; static gint ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item; static gint ett_x2ap_T_resource_configuration_06; static gint ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent; static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList; static gint ett_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item; static gint ett_x2ap_T_resource_configuration_07; static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent; static gint ett_x2ap_SgNBModificationRequestReject; static gint ett_x2ap_SgNBModificationRequired; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReqdList; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item; static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReqdList; static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item; static gint ett_x2ap_T_resource_configuration_08; static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent; static gint ett_x2ap_SgNBModificationConfirm; static gint ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList; static gint ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item; static gint ett_x2ap_T_resource_configuration_09; static gint ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent; static gint ett_x2ap_SgNBModificationRefuse; static gint ett_x2ap_SgNBReleaseRequest; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelReqList; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item; static gint ett_x2ap_T_resource_configuration_10; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent; static gint ett_x2ap_SgNBReleaseRequestAcknowledge; static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList; static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item; static gint ett_x2ap_SgNBReleaseRequestReject; static gint ett_x2ap_SgNBReleaseRequired; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelReqd_Item; static gint ett_x2ap_SgNBReleaseConfirm; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelConfList; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item; static gint ett_x2ap_T_resource_configuration_11; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent; static gint ett_x2ap_SgNBCounterCheckRequest; static gint ett_x2ap_E_RABs_SubjectToSgNBCounterCheck_List; static gint ett_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item; static gint ett_x2ap_SgNBChangeRequired; static gint ett_x2ap_AccessAndMobilityIndication; static gint ett_x2ap_SgNBChangeConfirm; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBChaConfList; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item; static gint ett_x2ap_T_resource_configuration_12; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent; static gint ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent; static gint ett_x2ap_RRCTransfer; static gint ett_x2ap_SgNBChangeRefuse; static gint ett_x2ap_ENDCX2SetupRequest; static gint ett_x2ap_InitiatingNodeType_EndcX2Setup; static gint ett_x2ap_ServedEUTRAcellsENDCX2ManagementList; static gint ett_x2ap_ServedEUTRAcellsENDCX2ManagementList_item; static gint ett_x2ap_ServedNRcellsENDCX2ManagementList; static gint ett_x2ap_ServedNRcellsENDCX2ManagementList_item; static gint ett_x2ap_ServedNRCell_Information; static gint ett_x2ap_T_nrModeInfo; static gint ett_x2ap_FDD_InfoServedNRCell_Information; static gint ett_x2ap_TDD_InfoServedNRCell_Information; static gint ett_x2ap_CellandCapacityAssistInfo; static gint ett_x2ap_CellAssistanceInformation; static gint ett_x2ap_Limited_list; static gint ett_x2ap_Limited_list_item; static gint ett_x2ap_ENDCX2SetupResponse; static gint ett_x2ap_RespondingNodeType_EndcX2Setup; static gint ett_x2ap_ENDCX2SetupFailure; static gint ett_x2ap_ENDCConfigurationUpdate; static gint ett_x2ap_InitiatingNodeType_EndcConfigUpdate; static gint ett_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd; static gint ett_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item; static gint ett_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd; static gint ett_x2ap_ServedNRcellsToModifyENDCConfUpdList; static gint ett_x2ap_ServedNRCellsToModify_Item; static gint ett_x2ap_ServedNRcellsToDeleteENDCConfUpdList; static gint ett_x2ap_ENDCConfigurationUpdateAcknowledge; static gint ett_x2ap_RespondingNodeType_EndcConfigUpdate; static gint ett_x2ap_ENDCConfigurationUpdateFailure; static gint ett_x2ap_ENDCCellActivationRequest; static gint ett_x2ap_ServedNRCellsToActivate; static gint ett_x2ap_ServedNRCellsToActivate_Item; static gint ett_x2ap_ENDCCellActivationResponse; static gint ett_x2ap_ActivatedNRCellList; static gint ett_x2ap_ActivatedNRCellList_Item; static gint ett_x2ap_ENDCCellActivationFailure; static gint ett_x2ap_ENDCResourceStatusRequest; static gint ett_x2ap_CellToReport_NR_ENDC_List; static gint ett_x2ap_CellToReport_NR_ENDC_Item; static gint ett_x2ap_CellToReport_E_UTRA_ENDC_List; static gint ett_x2ap_CellToReport_E_UTRA_ENDC_Item; static gint ett_x2ap_SSBToReport_List; static gint ett_x2ap_SSBToReport_Item; static gint ett_x2ap_ENDCResourceStatusResponse; static gint ett_x2ap_ENDCResourceStatusFailure; static gint ett_x2ap_ENDCResourceStatusUpdate; static gint ett_x2ap_CellMeasurementResult_NR_ENDC_List; static gint ett_x2ap_CellMeasurementResult_NR_ENDC_Item; static gint ett_x2ap_CellMeasurementResult_E_UTRA_ENDC_List; static gint ett_x2ap_CellMeasurementResult_E_UTRA_ENDC_Item; static gint ett_x2ap_SecondaryRATDataUsageReport; static gint ett_x2ap_SgNBActivityNotification; static gint ett_x2ap_ENDCPartialResetRequired; static gint ett_x2ap_ENDCPartialResetConfirm; static gint ett_x2ap_EUTRANRCellResourceCoordinationRequest; static gint ett_x2ap_InitiatingNodeType_EutranrCellResourceCoordination; static gint ett_x2ap_ListofEUTRACellsinEUTRACoordinationReq; static gint ett_x2ap_ListofEUTRACellsinNRCoordinationReq; static gint ett_x2ap_ListofNRCellsinNRCoordinationReq; static gint ett_x2ap_EUTRANRCellResourceCoordinationResponse; static gint ett_x2ap_RespondingNodeType_EutranrCellResourceCoordination; static gint ett_x2ap_ListofEUTRACellsinEUTRACoordinationResp; static gint ett_x2ap_ListofNRCellsinNRCoordinationResp; static gint ett_x2ap_ENDCX2RemovalRequest; static gint ett_x2ap_InitiatingNodeType_EndcX2Removal; static gint ett_x2ap_ENDCX2RemovalResponse; static gint ett_x2ap_RespondingNodeType_EndcX2Removal; static gint ett_x2ap_ENDCX2RemovalFailure; static gint ett_x2ap_DataForwardingAddressIndication; static gint ett_x2ap_E_RABs_DataForwardingAddress_List; static gint ett_x2ap_E_RABs_DataForwardingAddress_Item; static gint ett_x2ap_GNBStatusIndication; static gint ett_x2ap_ENDCConfigurationTransfer; static gint ett_x2ap_TraceStart; static gint ett_x2ap_DeactivateTrace; static gint ett_x2ap_CellTrafficTrace; static gint ett_x2ap_F1CTrafficTransfer; static gint ett_x2ap_UERadioCapabilityIDMappingRequest; static gint ett_x2ap_UERadioCapabilityIDMappingResponse; static gint ett_x2ap_CPC_cancel; static gint ett_x2ap_X2AP_PDU; static gint ett_x2ap_InitiatingMessage; static gint ett_x2ap_SuccessfulOutcome; static gint ett_x2ap_UnsuccessfulOutcome; /* 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_); static int dissect_x2ap_ReportCharacteristics_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); static int dissect_x2ap_ReportingPeriodicity_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); typedef enum { RRC_CONTAINER_TYPE_UNKNOWN, RRC_CONTAINER_TYPE_PDCP_C_PDU, RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT, RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB, RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB } rrc_container_type_e; enum{ INITIATING_MESSAGE, SUCCESSFUL_OUTCOME, UNSUCCESSFUL_OUTCOME }; struct x2ap_private_data { guint32 procedure_code; guint32 protocol_ie_id; guint32 message_type; rrc_container_type_e rrc_container_type; e212_number_type_t number_type; }; enum { X2AP_RRC_CONTEXT_LTE, X2AP_RRC_CONTEXT_NBIOT }; static const enum_val_t x2ap_rrc_context_vals[] = { {"lte", "LTE", X2AP_RRC_CONTEXT_LTE}, {"nb-iot","NB-IoT", X2AP_RRC_CONTEXT_NBIOT}, {NULL, NULL, -1} }; /* Global variables */ static gint g_x2ap_dissect_rrc_context_as = X2AP_RRC_CONTEXT_LTE; /* Dissector tables */ static dissector_table_t x2ap_ies_dissector_table; static dissector_table_t x2ap_extension_dissector_table; static dissector_table_t x2ap_proc_imsg_dissector_table; static dissector_table_t x2ap_proc_sout_dissector_table; static dissector_table_t x2ap_proc_uout_dissector_table; static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *); 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 int dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); void proto_reg_handoff_x2ap(void); static dissector_handle_t x2ap_handle; static const true_false_string x2ap_tfs_failed_succeeded = { "Failed", "Succeeded" }; static const true_false_string x2ap_tfs_activate_do_not_activate = { "Activate", "Do not activate" }; static void x2ap_Time_UE_StayedInCell_EnhancedGranularity_fmt(gchar *s, guint32 v) { snprintf(s, ITEM_LABEL_LENGTH, "%.1fs", ((float)v)/10); } static void x2ap_handoverTriggerChange_fmt(gchar *s, guint32 v) { snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%d)", ((float)v)/2, (gint32)v); } static void x2ap_Threshold_RSRP_fmt(gchar *s, guint32 v) { snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", (gint32)v-140, v); } static void x2ap_Threshold_RSRQ_fmt(gchar *s, guint32 v) { snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-20, v); } static void x2ap_Packet_LossRate_fmt(gchar *s, guint32 v) { snprintf(s, ITEM_LABEL_LENGTH, "%.1f %% (%u)", (float)v/10, v); } static struct x2ap_private_data* x2ap_get_private_data(packet_info *pinfo) { struct x2ap_private_data *x2ap_data = (struct x2ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_x2ap, 0); if (!x2ap_data) { x2ap_data = wmem_new0(pinfo->pool, struct x2ap_private_data); p_add_proto_data(pinfo->pool, pinfo, proto_x2ap, 0, x2ap_data); } return x2ap_data; } static const value_string x2ap_Criticality_vals[] = { { 0, "reject" }, { 1, "ignore" }, { 2, "notify" }, { 0, NULL } }; static int dissect_x2ap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static int dissect_x2ap_INTEGER_0_maxPrivateIEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxPrivateIEs, NULL, FALSE); return offset; } static int dissect_x2ap_T_global(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &actx->external.direct_reference); actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE; return offset; } static const value_string x2ap_PrivateIE_ID_vals[] = { { 0, "local" }, { 1, "global" }, { 0, NULL } }; static const per_choice_t PrivateIE_ID_choice[] = { { 0, &hf_x2ap_local , ASN1_NO_EXTENSIONS , dissect_x2ap_INTEGER_0_maxPrivateIEs }, { 1, &hf_x2ap_global , ASN1_NO_EXTENSIONS , dissect_x2ap_T_global }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_PrivateIE_ID, PrivateIE_ID_choice, NULL); return offset; } static const value_string x2ap_ProcedureCode_vals[] = { { id_handoverPreparation, "id-handoverPreparation" }, { id_handoverCancel, "id-handoverCancel" }, { id_loadIndication, "id-loadIndication" }, { id_errorIndication, "id-errorIndication" }, { id_snStatusTransfer, "id-snStatusTransfer" }, { id_uEContextRelease, "id-uEContextRelease" }, { id_x2Setup, "id-x2Setup" }, { id_reset, "id-reset" }, { id_eNBConfigurationUpdate, "id-eNBConfigurationUpdate" }, { id_resourceStatusReportingInitiation, "id-resourceStatusReportingInitiation" }, { id_resourceStatusReporting, "id-resourceStatusReporting" }, { id_privateMessage, "id-privateMessage" }, { id_mobilitySettingsChange, "id-mobilitySettingsChange" }, { id_rLFIndication, "id-rLFIndication" }, { id_handoverReport, "id-handoverReport" }, { id_cellActivation, "id-cellActivation" }, { id_x2Release, "id-x2Release" }, { id_x2APMessageTransfer, "id-x2APMessageTransfer" }, { id_x2Removal, "id-x2Removal" }, { id_seNBAdditionPreparation, "id-seNBAdditionPreparation" }, { id_seNBReconfigurationCompletion, "id-seNBReconfigurationCompletion" }, { id_meNBinitiatedSeNBModificationPreparation, "id-meNBinitiatedSeNBModificationPreparation" }, { id_seNBinitiatedSeNBModification, "id-seNBinitiatedSeNBModification" }, { id_meNBinitiatedSeNBRelease, "id-meNBinitiatedSeNBRelease" }, { id_seNBinitiatedSeNBRelease, "id-seNBinitiatedSeNBRelease" }, { id_seNBCounterCheck, "id-seNBCounterCheck" }, { id_retrieveUEContext, "id-retrieveUEContext" }, { id_sgNBAdditionPreparation, "id-sgNBAdditionPreparation" }, { id_sgNBReconfigurationCompletion, "id-sgNBReconfigurationCompletion" }, { id_meNBinitiatedSgNBModificationPreparation, "id-meNBinitiatedSgNBModificationPreparation" }, { id_sgNBinitiatedSgNBModification, "id-sgNBinitiatedSgNBModification" }, { id_meNBinitiatedSgNBRelease, "id-meNBinitiatedSgNBRelease" }, { id_sgNBinitiatedSgNBRelease, "id-sgNBinitiatedSgNBRelease" }, { id_sgNBCounterCheck, "id-sgNBCounterCheck" }, { id_sgNBChange, "id-sgNBChange" }, { id_rRCTransfer, "id-rRCTransfer" }, { id_endcX2Setup, "id-endcX2Setup" }, { id_endcConfigurationUpdate, "id-endcConfigurationUpdate" }, { id_secondaryRATDataUsageReport, "id-secondaryRATDataUsageReport" }, { id_endcCellActivation, "id-endcCellActivation" }, { id_endcPartialReset, "id-endcPartialReset" }, { id_eUTRANRCellResourceCoordination, "id-eUTRANRCellResourceCoordination" }, { id_SgNBActivityNotification, "id-SgNBActivityNotification" }, { id_endcX2Removal, "id-endcX2Removal" }, { id_dataForwardingAddressIndication, "id-dataForwardingAddressIndication" }, { id_gNBStatusIndication, "id-gNBStatusIndication" }, { id_deactivateTrace, "id-deactivateTrace" }, { id_traceStart, "id-traceStart" }, { id_endcConfigurationTransfer, "id-endcConfigurationTransfer" }, { id_handoverSuccess, "id-handoverSuccess" }, { id_conditionalHandoverCancel, "id-conditionalHandoverCancel" }, { id_earlyStatusTransfer, "id-earlyStatusTransfer" }, { id_cellTrafficTrace, "id-cellTrafficTrace" }, { id_endcresourceStatusReporting, "id-endcresourceStatusReporting" }, { id_endcresourceStatusReportingInitiation, "id-endcresourceStatusReportingInitiation" }, { id_f1CTrafficTransfer, "id-f1CTrafficTransfer" }, { id_UERadioCapabilityIDMapping, "id-UERadioCapabilityIDMapping" }, { id_accessAndMobilityIndication, "id-accessAndMobilityIndication" }, { id_procedure_code_58_not_to_be_used, "id-procedure-code-58-not-to-be-used" }, { id_CPC_cancel, "id-CPC-cancel" }, { 0, NULL } }; static value_string_ext x2ap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(x2ap_ProcedureCode_vals); static int dissect_x2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &x2ap_data->procedure_code, FALSE); return offset; } static const value_string x2ap_ProtocolIE_ID_vals[] = { { id_E_RABs_Admitted_Item, "id-E-RABs-Admitted-Item" }, { id_E_RABs_Admitted_List, "id-E-RABs-Admitted-List" }, { id_E_RAB_Item, "id-E-RAB-Item" }, { id_E_RABs_NotAdmitted_List, "id-E-RABs-NotAdmitted-List" }, { id_E_RABs_ToBeSetup_Item, "id-E-RABs-ToBeSetup-Item" }, { id_Cause, "id-Cause" }, { id_CellInformation, "id-CellInformation" }, { id_CellInformation_Item, "id-CellInformation-Item" }, { id_Unknown_8, "id-Unknown-8" }, { id_New_eNB_UE_X2AP_ID, "id-New-eNB-UE-X2AP-ID" }, { id_Old_eNB_UE_X2AP_ID, "id-Old-eNB-UE-X2AP-ID" }, { id_TargetCell_ID, "id-TargetCell-ID" }, { id_TargeteNBtoSource_eNBTransparentContainer, "id-TargeteNBtoSource-eNBTransparentContainer" }, { id_TraceActivation, "id-TraceActivation" }, { id_UE_ContextInformation, "id-UE-ContextInformation" }, { id_UE_HistoryInformation, "id-UE-HistoryInformation" }, { id_UE_X2AP_ID, "id-UE-X2AP-ID" }, { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" }, { id_E_RABs_SubjectToStatusTransfer_List, "id-E-RABs-SubjectToStatusTransfer-List" }, { id_E_RABs_SubjectToStatusTransfer_Item, "id-E-RABs-SubjectToStatusTransfer-Item" }, { id_ServedCells, "id-ServedCells" }, { id_GlobalENB_ID, "id-GlobalENB-ID" }, { id_TimeToWait, "id-TimeToWait" }, { id_GUMMEI_ID, "id-GUMMEI-ID" }, { id_GUGroupIDList, "id-GUGroupIDList" }, { id_ServedCellsToAdd, "id-ServedCellsToAdd" }, { id_ServedCellsToModify, "id-ServedCellsToModify" }, { id_ServedCellsToDelete, "id-ServedCellsToDelete" }, { id_Registration_Request, "id-Registration-Request" }, { id_CellToReport, "id-CellToReport" }, { id_ReportingPeriodicity, "id-ReportingPeriodicity" }, { id_CellToReport_Item, "id-CellToReport-Item" }, { id_CellMeasurementResult, "id-CellMeasurementResult" }, { id_CellMeasurementResult_Item, "id-CellMeasurementResult-Item" }, { id_GUGroupIDToAddList, "id-GUGroupIDToAddList" }, { id_GUGroupIDToDeleteList, "id-GUGroupIDToDeleteList" }, { id_SRVCCOperationPossible, "id-SRVCCOperationPossible" }, { id_Measurement_ID, "id-Measurement-ID" }, { id_ReportCharacteristics, "id-ReportCharacteristics" }, { id_ENB1_Measurement_ID, "id-ENB1-Measurement-ID" }, { id_ENB2_Measurement_ID, "id-ENB2-Measurement-ID" }, { id_Number_of_Antennaports, "id-Number-of-Antennaports" }, { id_CompositeAvailableCapacityGroup, "id-CompositeAvailableCapacityGroup" }, { id_ENB1_Cell_ID, "id-ENB1-Cell-ID" }, { id_ENB2_Cell_ID, "id-ENB2-Cell-ID" }, { id_ENB2_Proposed_Mobility_Parameters, "id-ENB2-Proposed-Mobility-Parameters" }, { id_ENB1_Mobility_Parameters, "id-ENB1-Mobility-Parameters" }, { id_ENB2_Mobility_Parameters_Modification_Range, "id-ENB2-Mobility-Parameters-Modification-Range" }, { id_FailureCellPCI, "id-FailureCellPCI" }, { id_Re_establishmentCellECGI, "id-Re-establishmentCellECGI" }, { id_FailureCellCRNTI, "id-FailureCellCRNTI" }, { id_ShortMAC_I, "id-ShortMAC-I" }, { id_SourceCellECGI, "id-SourceCellECGI" }, { id_FailureCellECGI, "id-FailureCellECGI" }, { id_HandoverReportType, "id-HandoverReportType" }, { id_PRACH_Configuration, "id-PRACH-Configuration" }, { id_MBSFN_Subframe_Info, "id-MBSFN-Subframe-Info" }, { id_ServedCellsToActivate, "id-ServedCellsToActivate" }, { id_ActivatedCellList, "id-ActivatedCellList" }, { id_DeactivationIndication, "id-DeactivationIndication" }, { id_UE_RLF_Report_Container, "id-UE-RLF-Report-Container" }, { id_ABSInformation, "id-ABSInformation" }, { id_InvokeIndication, "id-InvokeIndication" }, { id_ABS_Status, "id-ABS-Status" }, { id_PartialSuccessIndicator, "id-PartialSuccessIndicator" }, { id_MeasurementInitiationResult_List, "id-MeasurementInitiationResult-List" }, { id_MeasurementInitiationResult_Item, "id-MeasurementInitiationResult-Item" }, { id_MeasurementFailureCause_Item, "id-MeasurementFailureCause-Item" }, { id_CompleteFailureCauseInformation_List, "id-CompleteFailureCauseInformation-List" }, { id_CompleteFailureCauseInformation_Item, "id-CompleteFailureCauseInformation-Item" }, { id_CSG_Id, "id-CSG-Id" }, { id_CSGMembershipStatus, "id-CSGMembershipStatus" }, { id_MDTConfiguration, "id-MDTConfiguration" }, { id_Unknown_73, "id-Unknown-73" }, { id_ManagementBasedMDTallowed, "id-ManagementBasedMDTallowed" }, { id_RRCConnSetupIndicator, "id-RRCConnSetupIndicator" }, { id_NeighbourTAC, "id-NeighbourTAC" }, { id_Time_UE_StayedInCell_EnhancedGranularity, "id-Time-UE-StayedInCell-EnhancedGranularity" }, { id_RRCConnReestabIndicator, "id-RRCConnReestabIndicator" }, { id_MBMS_Service_Area_List, "id-MBMS-Service-Area-List" }, { id_HO_cause, "id-HO-cause" }, { id_TargetCellInUTRAN, "id-TargetCellInUTRAN" }, { id_MobilityInformation, "id-MobilityInformation" }, { id_SourceCellCRNTI, "id-SourceCellCRNTI" }, { id_MultibandInfoList, "id-MultibandInfoList" }, { id_M3Configuration, "id-M3Configuration" }, { id_M4Configuration, "id-M4Configuration" }, { id_M5Configuration, "id-M5Configuration" }, { id_MDT_Location_Info, "id-MDT-Location-Info" }, { id_ManagementBasedMDTPLMNList, "id-ManagementBasedMDTPLMNList" }, { id_SignallingBasedMDTPLMNList, "id-SignallingBasedMDTPLMNList" }, { id_ReceiveStatusOfULPDCPSDUsExtended, "id-ReceiveStatusOfULPDCPSDUsExtended" }, { id_ULCOUNTValueExtended, "id-ULCOUNTValueExtended" }, { id_DLCOUNTValueExtended, "id-DLCOUNTValueExtended" }, { id_eARFCNExtension, "id-eARFCNExtension" }, { id_UL_EARFCNExtension, "id-UL-EARFCNExtension" }, { id_DL_EARFCNExtension, "id-DL-EARFCNExtension" }, { id_AdditionalSpecialSubframe_Info, "id-AdditionalSpecialSubframe-Info" }, { id_Masked_IMEISV, "id-Masked-IMEISV" }, { id_IntendedULDLConfiguration, "id-IntendedULDLConfiguration" }, { id_ExtendedULInterferenceOverloadInfo, "id-ExtendedULInterferenceOverloadInfo" }, { id_RNL_Header, "id-RNL-Header" }, { id_x2APMessage, "id-x2APMessage" }, { id_ProSeAuthorized, "id-ProSeAuthorized" }, { id_ExpectedUEBehaviour, "id-ExpectedUEBehaviour" }, { id_UE_HistoryInformationFromTheUE, "id-UE-HistoryInformationFromTheUE" }, { id_DynamicDLTransmissionInformation, "id-DynamicDLTransmissionInformation" }, { id_UE_RLF_Report_Container_for_extended_bands, "id-UE-RLF-Report-Container-for-extended-bands" }, { id_CoMPInformation, "id-CoMPInformation" }, { id_ReportingPeriodicityRSRPMR, "id-ReportingPeriodicityRSRPMR" }, { id_RSRPMRList, "id-RSRPMRList" }, { id_MeNB_UE_X2AP_ID, "id-MeNB-UE-X2AP-ID" }, { id_SeNB_UE_X2AP_ID, "id-SeNB-UE-X2AP-ID" }, { id_UE_SecurityCapabilities, "id-UE-SecurityCapabilities" }, { id_SeNBSecurityKey, "id-SeNBSecurityKey" }, { id_SeNBUEAggregateMaximumBitRate, "id-SeNBUEAggregateMaximumBitRate" }, { id_ServingPLMN, "id-ServingPLMN" }, { id_E_RABs_ToBeAdded_List, "id-E-RABs-ToBeAdded-List" }, { id_E_RABs_ToBeAdded_Item, "id-E-RABs-ToBeAdded-Item" }, { id_MeNBtoSeNBContainer, "id-MeNBtoSeNBContainer" }, { id_E_RABs_Admitted_ToBeAdded_List, "id-E-RABs-Admitted-ToBeAdded-List" }, { id_E_RABs_Admitted_ToBeAdded_Item, "id-E-RABs-Admitted-ToBeAdded-Item" }, { id_SeNBtoMeNBContainer, "id-SeNBtoMeNBContainer" }, { id_ResponseInformationSeNBReconfComp, "id-ResponseInformationSeNBReconfComp" }, { id_UE_ContextInformationSeNBModReq, "id-UE-ContextInformationSeNBModReq" }, { id_E_RABs_ToBeAdded_ModReqItem, "id-E-RABs-ToBeAdded-ModReqItem" }, { id_E_RABs_ToBeModified_ModReqItem, "id-E-RABs-ToBeModified-ModReqItem" }, { id_E_RABs_ToBeReleased_ModReqItem, "id-E-RABs-ToBeReleased-ModReqItem" }, { id_E_RABs_Admitted_ToBeAdded_ModAckList, "id-E-RABs-Admitted-ToBeAdded-ModAckList" }, { id_E_RABs_Admitted_ToBeModified_ModAckList, "id-E-RABs-Admitted-ToBeModified-ModAckList" }, { id_E_RABs_Admitted_ToBeReleased_ModAckList, "id-E-RABs-Admitted-ToBeReleased-ModAckList" }, { id_E_RABs_Admitted_ToBeAdded_ModAckItem, "id-E-RABs-Admitted-ToBeAdded-ModAckItem" }, { id_E_RABs_Admitted_ToBeModified_ModAckItem, "id-E-RABs-Admitted-ToBeModified-ModAckItem" }, { id_E_RABs_Admitted_ToBeReleased_ModAckItem, "id-E-RABs-Admitted-ToBeReleased-ModAckItem" }, { id_E_RABs_ToBeReleased_ModReqd, "id-E-RABs-ToBeReleased-ModReqd" }, { id_E_RABs_ToBeReleased_ModReqdItem, "id-E-RABs-ToBeReleased-ModReqdItem" }, { id_SCGChangeIndication, "id-SCGChangeIndication" }, { id_E_RABs_ToBeReleased_List_RelReq, "id-E-RABs-ToBeReleased-List-RelReq" }, { id_E_RABs_ToBeReleased_RelReqItem, "id-E-RABs-ToBeReleased-RelReqItem" }, { id_E_RABs_ToBeReleased_List_RelConf, "id-E-RABs-ToBeReleased-List-RelConf" }, { id_E_RABs_ToBeReleased_RelConfItem, "id-E-RABs-ToBeReleased-RelConfItem" }, { id_E_RABs_SubjectToCounterCheck_List, "id-E-RABs-SubjectToCounterCheck-List" }, { id_E_RABs_SubjectToCounterCheckItem, "id-E-RABs-SubjectToCounterCheckItem" }, { id_CoverageModificationList, "id-CoverageModificationList" }, { id_Unknown_144, "id-Unknown-144" }, { id_ReportingPeriodicityCSIR, "id-ReportingPeriodicityCSIR" }, { id_CSIReportList, "id-CSIReportList" }, { id_UEID, "id-UEID" }, { id_enhancedRNTP, "id-enhancedRNTP" }, { id_ProSeUEtoNetworkRelaying, "id-ProSeUEtoNetworkRelaying" }, { id_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18, "id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18" }, { id_ULCOUNTValuePDCP_SNlength18, "id-ULCOUNTValuePDCP-SNlength18" }, { id_DLCOUNTValuePDCP_SNlength18, "id-DLCOUNTValuePDCP-SNlength18" }, { id_UE_ContextReferenceAtSeNB, "id-UE-ContextReferenceAtSeNB" }, { id_UE_ContextKeptIndicator, "id-UE-ContextKeptIndicator" }, { id_New_eNB_UE_X2AP_ID_Extension, "id-New-eNB-UE-X2AP-ID-Extension" }, { id_Old_eNB_UE_X2AP_ID_Extension, "id-Old-eNB-UE-X2AP-ID-Extension" }, { id_MeNB_UE_X2AP_ID_Extension, "id-MeNB-UE-X2AP-ID-Extension" }, { id_SeNB_UE_X2AP_ID_Extension, "id-SeNB-UE-X2AP-ID-Extension" }, { id_LHN_ID, "id-LHN-ID" }, { id_FreqBandIndicatorPriority, "id-FreqBandIndicatorPriority" }, { id_M6Configuration, "id-M6Configuration" }, { id_M7Configuration, "id-M7Configuration" }, { id_Tunnel_Information_for_BBF, "id-Tunnel-Information-for-BBF" }, { id_SIPTO_BearerDeactivationIndication, "id-SIPTO-BearerDeactivationIndication" }, { id_GW_TransportLayerAddress, "id-GW-TransportLayerAddress" }, { id_Correlation_ID, "id-Correlation-ID" }, { id_SIPTO_Correlation_ID, "id-SIPTO-Correlation-ID" }, { id_SIPTO_L_GW_TransportLayerAddress, "id-SIPTO-L-GW-TransportLayerAddress" }, { id_X2RemovalThreshold, "id-X2RemovalThreshold" }, { id_CellReportingIndicator, "id-CellReportingIndicator" }, { id_BearerType, "id-BearerType" }, { id_resumeID, "id-resumeID" }, { id_UE_ContextInformationRetrieve, "id-UE-ContextInformationRetrieve" }, { id_E_RABs_ToBeSetupRetrieve_Item, "id-E-RABs-ToBeSetupRetrieve-Item" }, { id_NewEUTRANCellIdentifier, "id-NewEUTRANCellIdentifier" }, { id_V2XServicesAuthorized, "id-V2XServicesAuthorized" }, { id_OffsetOfNbiotChannelNumberToDL_EARFCN, "id-OffsetOfNbiotChannelNumberToDL-EARFCN" }, { id_OffsetOfNbiotChannelNumberToUL_EARFCN, "id-OffsetOfNbiotChannelNumberToUL-EARFCN" }, { id_AdditionalSpecialSubframeExtension_Info, "id-AdditionalSpecialSubframeExtension-Info" }, { id_BandwidthReducedSI, "id-BandwidthReducedSI" }, { id_MakeBeforeBreakIndicator, "id-MakeBeforeBreakIndicator" }, { id_UE_ContextReferenceAtWT, "id-UE-ContextReferenceAtWT" }, { id_WT_UE_ContextKeptIndicator, "id-WT-UE-ContextKeptIndicator" }, { id_UESidelinkAggregateMaximumBitRate, "id-UESidelinkAggregateMaximumBitRate" }, { id_uL_GTPtunnelEndpoint, "id-uL-GTPtunnelEndpoint" }, { id_Unknown_186, "id-Unknown-186" }, { id_Unknown_187, "id-Unknown-187" }, { id_Unknown_188, "id-Unknown-188" }, { id_Unknown_189, "id-Unknown-189" }, { id_Unknown_190, "id-Unknown-190" }, { id_Unknown_191, "id-Unknown-191" }, { id_Unknown_192, "id-Unknown-192" }, { id_DL_scheduling_PDCCH_CCE_usage, "id-DL-scheduling-PDCCH-CCE-usage" }, { id_UL_scheduling_PDCCH_CCE_usage, "id-UL-scheduling-PDCCH-CCE-usage" }, { id_UEAppLayerMeasConfig, "id-UEAppLayerMeasConfig" }, { id_extended_e_RAB_MaximumBitrateDL, "id-extended-e-RAB-MaximumBitrateDL" }, { id_extended_e_RAB_MaximumBitrateUL, "id-extended-e-RAB-MaximumBitrateUL" }, { id_extended_e_RAB_GuaranteedBitrateDL, "id-extended-e-RAB-GuaranteedBitrateDL" }, { id_extended_e_RAB_GuaranteedBitrateUL, "id-extended-e-RAB-GuaranteedBitrateUL" }, { id_extended_uEaggregateMaximumBitRateDownlink, "id-extended-uEaggregateMaximumBitRateDownlink" }, { id_extended_uEaggregateMaximumBitRateUplink, "id-extended-uEaggregateMaximumBitRateUplink" }, { id_NRrestrictioninEPSasSecondaryRAT, "id-NRrestrictioninEPSasSecondaryRAT" }, { id_SgNBSecurityKey, "id-SgNBSecurityKey" }, { id_SgNBUEAggregateMaximumBitRate, "id-SgNBUEAggregateMaximumBitRate" }, { id_E_RABs_ToBeAdded_SgNBAddReqList, "id-E-RABs-ToBeAdded-SgNBAddReqList" }, { id_MeNBtoSgNBContainer, "id-MeNBtoSgNBContainer" }, { id_SgNB_UE_X2AP_ID, "id-SgNB-UE-X2AP-ID" }, { id_RequestedSplitSRBs, "id-RequestedSplitSRBs" }, { id_E_RABs_ToBeAdded_SgNBAddReq_Item, "id-E-RABs-ToBeAdded-SgNBAddReq-Item" }, { id_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList, "id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList" }, { id_SgNBtoMeNBContainer, "id-SgNBtoMeNBContainer" }, { id_AdmittedSplitSRBs, "id-AdmittedSplitSRBs" }, { id_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item, "id-E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item" }, { id_ResponseInformationSgNBReconfComp, "id-ResponseInformationSgNBReconfComp" }, { id_UE_ContextInformation_SgNBModReq, "id-UE-ContextInformation-SgNBModReq" }, { id_E_RABs_ToBeAdded_SgNBModReq_Item, "id-E-RABs-ToBeAdded-SgNBModReq-Item" }, { id_E_RABs_ToBeModified_SgNBModReq_Item, "id-E-RABs-ToBeModified-SgNBModReq-Item" }, { id_E_RABs_ToBeReleased_SgNBModReq_Item, "id-E-RABs-ToBeReleased-SgNBModReq-Item" }, { id_E_RABs_Admitted_ToBeAdded_SgNBModAckList, "id-E-RABs-Admitted-ToBeAdded-SgNBModAckList" }, { id_E_RABs_Admitted_ToBeModified_SgNBModAckList, "id-E-RABs-Admitted-ToBeModified-SgNBModAckList" }, { id_E_RABs_Admitted_ToBeReleased_SgNBModAckList, "id-E-RABs-Admitted-ToBeReleased-SgNBModAckList" }, { id_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, "id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item" }, { id_E_RABs_Admitted_ToBeModified_SgNBModAck_Item, "id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item" }, { id_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item, "id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item" }, { id_E_RABs_ToBeReleased_SgNBModReqdList, "id-E-RABs-ToBeReleased-SgNBModReqdList" }, { id_E_RABs_ToBeModified_SgNBModReqdList, "id-E-RABs-ToBeModified-SgNBModReqdList" }, { id_E_RABs_ToBeReleased_SgNBModReqd_Item, "id-E-RABs-ToBeReleased-SgNBModReqd-Item" }, { id_E_RABs_ToBeModified_SgNBModReqd_Item, "id-E-RABs-ToBeModified-SgNBModReqd-Item" }, { id_E_RABs_ToBeReleased_SgNBChaConfList, "id-E-RABs-ToBeReleased-SgNBChaConfList" }, { id_E_RABs_ToBeReleased_SgNBChaConf_Item, "id-E-RABs-ToBeReleased-SgNBChaConf-Item" }, { id_E_RABs_ToBeReleased_SgNBRelReqList, "id-E-RABs-ToBeReleased-SgNBRelReqList" }, { id_E_RABs_ToBeReleased_SgNBRelReq_Item, "id-E-RABs-ToBeReleased-SgNBRelReq-Item" }, { id_E_RABs_ToBeReleased_SgNBRelConfList, "id-E-RABs-ToBeReleased-SgNBRelConfList" }, { id_E_RABs_ToBeReleased_SgNBRelConf_Item, "id-E-RABs-ToBeReleased-SgNBRelConf-Item" }, { id_E_RABs_SubjectToSgNBCounterCheck_List, "id-E-RABs-SubjectToSgNBCounterCheck-List" }, { id_E_RABs_SubjectToSgNBCounterCheck_Item, "id-E-RABs-SubjectToSgNBCounterCheck-Item" }, { id_RRCContainer, "id-RRCContainer" }, { id_SRBType, "id-SRBType" }, { id_Target_SgNB_ID, "id-Target-SgNB-ID" }, { id_HandoverRestrictionList, "id-HandoverRestrictionList" }, { id_SCGConfigurationQuery, "id-SCGConfigurationQuery" }, { id_SplitSRB, "id-SplitSRB" }, { id_NRUeReport, "id-NRUeReport" }, { id_InitiatingNodeType_EndcX2Setup, "id-InitiatingNodeType-EndcX2Setup" }, { id_InitiatingNodeType_EndcConfigUpdate, "id-InitiatingNodeType-EndcConfigUpdate" }, { id_RespondingNodeType_EndcX2Setup, "id-RespondingNodeType-EndcX2Setup" }, { id_RespondingNodeType_EndcConfigUpdate, "id-RespondingNodeType-EndcConfigUpdate" }, { id_NRUESecurityCapabilities, "id-NRUESecurityCapabilities" }, { id_PDCPChangeIndication, "id-PDCPChangeIndication" }, { id_ServedEUTRAcellsENDCX2ManagementList, "id-ServedEUTRAcellsENDCX2ManagementList" }, { id_CellAssistanceInformation, "id-CellAssistanceInformation" }, { id_Globalen_gNB_ID, "id-Globalen-gNB-ID" }, { id_ServedNRcellsENDCX2ManagementList, "id-ServedNRcellsENDCX2ManagementList" }, { id_UE_ContextReferenceAtSgNB, "id-UE-ContextReferenceAtSgNB" }, { id_SecondaryRATUsageReport, "id-SecondaryRATUsageReport" }, { id_ActivationID, "id-ActivationID" }, { id_MeNBResourceCoordinationInformation, "id-MeNBResourceCoordinationInformation" }, { id_SgNBResourceCoordinationInformation, "id-SgNBResourceCoordinationInformation" }, { id_ServedEUTRAcellsToModifyListENDCConfUpd, "id-ServedEUTRAcellsToModifyListENDCConfUpd" }, { id_ServedEUTRAcellsToDeleteListENDCConfUpd, "id-ServedEUTRAcellsToDeleteListENDCConfUpd" }, { id_ServedNRcellsToModifyListENDCConfUpd, "id-ServedNRcellsToModifyListENDCConfUpd" }, { id_ServedNRcellsToDeleteListENDCConfUpd, "id-ServedNRcellsToDeleteListENDCConfUpd" }, { id_E_RABUsageReport_Item, "id-E-RABUsageReport-Item" }, { id_Old_SgNB_UE_X2AP_ID, "id-Old-SgNB-UE-X2AP-ID" }, { id_SecondaryRATUsageReportList, "id-SecondaryRATUsageReportList" }, { id_SecondaryRATUsageReport_Item, "id-SecondaryRATUsageReport-Item" }, { id_ServedNRCellsToActivate, "id-ServedNRCellsToActivate" }, { id_ActivatedNRCellList, "id-ActivatedNRCellList" }, { id_SelectedPLMN, "id-SelectedPLMN" }, { id_UEs_ToBeReset, "id-UEs-ToBeReset" }, { id_UEs_Admitted_ToBeReset, "id-UEs-Admitted-ToBeReset" }, { id_RRCConfigIndication, "id-RRCConfigIndication" }, { id_DownlinkPacketLossRate, "id-DownlinkPacketLossRate" }, { id_UplinkPacketLossRate, "id-UplinkPacketLossRate" }, { id_SubscriberProfileIDforRFP, "id-SubscriberProfileIDforRFP" }, { id_serviceType, "id-serviceType" }, { id_AerialUEsubscriptionInformation, "id-AerialUEsubscriptionInformation" }, { id_SGNB_Addition_Trigger_Ind, "id-SGNB-Addition-Trigger-Ind" }, { id_MeNBCell_ID, "id-MeNBCell-ID" }, { id_RequestedSplitSRBsrelease, "id-RequestedSplitSRBsrelease" }, { id_AdmittedSplitSRBsrelease, "id-AdmittedSplitSRBsrelease" }, { id_NRS_NSSS_PowerOffset, "id-NRS-NSSS-PowerOffset" }, { id_NSSS_NumOccasionDifferentPrecoder, "id-NSSS-NumOccasionDifferentPrecoder" }, { id_ProtectedEUTRAResourceIndication, "id-ProtectedEUTRAResourceIndication" }, { id_InitiatingNodeType_EutranrCellResourceCoordination, "id-InitiatingNodeType-EutranrCellResourceCoordination" }, { id_RespondingNodeType_EutranrCellResourceCoordination, "id-RespondingNodeType-EutranrCellResourceCoordination" }, { id_DataTrafficResourceIndication, "id-DataTrafficResourceIndication" }, { id_SpectrumSharingGroupID, "id-SpectrumSharingGroupID" }, { id_ListofEUTRACellsinEUTRACoordinationReq, "id-ListofEUTRACellsinEUTRACoordinationReq" }, { id_ListofEUTRACellsinEUTRACoordinationResp, "id-ListofEUTRACellsinEUTRACoordinationResp" }, { id_ListofEUTRACellsinNRCoordinationReq, "id-ListofEUTRACellsinNRCoordinationReq" }, { id_ListofNRCellsinNRCoordinationReq, "id-ListofNRCellsinNRCoordinationReq" }, { id_ListofNRCellsinNRCoordinationResp, "id-ListofNRCellsinNRCoordinationResp" }, { id_E_RABs_AdmittedToBeModified_SgNBModConfList, "id-E-RABs-AdmittedToBeModified-SgNBModConfList" }, { id_E_RABs_AdmittedToBeModified_SgNBModConf_Item, "id-E-RABs-AdmittedToBeModified-SgNBModConf-Item" }, { id_UEContextLevelUserPlaneActivity, "id-UEContextLevelUserPlaneActivity" }, { id_ERABActivityNotifyItemList, "id-ERABActivityNotifyItemList" }, { id_InitiatingNodeType_EndcX2Removal, "id-InitiatingNodeType-EndcX2Removal" }, { id_RespondingNodeType_EndcX2Removal, "id-RespondingNodeType-EndcX2Removal" }, { id_RLC_Status, "id-RLC-Status" }, { id_CNTypeRestrictions, "id-CNTypeRestrictions" }, { id_uLpDCPSnLength, "id-uLpDCPSnLength" }, { id_BluetoothMeasurementConfiguration, "id-BluetoothMeasurementConfiguration" }, { id_WLANMeasurementConfiguration, "id-WLANMeasurementConfiguration" }, { id_NRrestrictionin5GS, "id-NRrestrictionin5GS" }, { id_dL_Forwarding, "id-dL-Forwarding" }, { id_E_RABs_DataForwardingAddress_List, "id-E-RABs-DataForwardingAddress-List" }, { id_E_RABs_DataForwardingAddress_Item, "id-E-RABs-DataForwardingAddress-Item" }, { id_Subscription_Based_UE_DifferentiationInfo, "id-Subscription-Based-UE-DifferentiationInfo" }, { id_GNBOverloadInformation, "id-GNBOverloadInformation" }, { id_dLPDCPSnLength, "id-dLPDCPSnLength" }, { id_secondarysgNBDLGTPTEIDatPDCP, "id-secondarysgNBDLGTPTEIDatPDCP" }, { id_secondarymeNBULGTPTEIDatPDCP, "id-secondarymeNBULGTPTEIDatPDCP" }, { id_lCID, "id-lCID" }, { id_duplicationActivation, "id-duplicationActivation" }, { id_ECGI, "id-ECGI" }, { id_RLCMode_transferred, "id-RLCMode-transferred" }, { id_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList, "id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList" }, { id_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item, "id-E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item" }, { id_E_RABs_ToBeReleased_SgNBRelReqdList, "id-E-RABs-ToBeReleased-SgNBRelReqdList" }, { id_E_RABs_ToBeReleased_SgNBRelReqd_Item, "id-E-RABs-ToBeReleased-SgNBRelReqd-Item" }, { id_NRCGI, "id-NRCGI" }, { id_MeNBCoordinationAssistanceInformation, "id-MeNBCoordinationAssistanceInformation" }, { id_SgNBCoordinationAssistanceInformation, "id-SgNBCoordinationAssistanceInformation" }, { id_new_drb_ID_req, "id-new-drb-ID-req" }, { id_endcSONConfigurationTransfer, "id-endcSONConfigurationTransfer" }, { id_NRNeighbourInfoToAdd, "id-NRNeighbourInfoToAdd" }, { id_NRNeighbourInfoToModify, "id-NRNeighbourInfoToModify" }, { id_DesiredActNotificationLevel, "id-DesiredActNotificationLevel" }, { id_LocationInformationSgNBReporting, "id-LocationInformationSgNBReporting" }, { id_LocationInformationSgNB, "id-LocationInformationSgNB" }, { id_LastNG_RANPLMNIdentity, "id-LastNG-RANPLMNIdentity" }, { id_EUTRANTraceID, "id-EUTRANTraceID" }, { id_additionalPLMNs_Item, "id-additionalPLMNs-Item" }, { id_InterfaceInstanceIndication, "id-InterfaceInstanceIndication" }, { id_BPLMN_ID_Info_EUTRA, "id-BPLMN-ID-Info-EUTRA" }, { id_BPLMN_ID_Info_NR, "id-BPLMN-ID-Info-NR" }, { id_NBIoT_UL_DL_AlignmentOffset, "id-NBIoT-UL-DL-AlignmentOffset" }, { id_ERABs_transferred_to_MeNB, "id-ERABs-transferred-to-MeNB" }, { id_AdditionalRRMPriorityIndex, "id-AdditionalRRMPriorityIndex" }, { id_LowerLayerPresenceStatusChange, "id-LowerLayerPresenceStatusChange" }, { id_FastMCGRecovery_SN_to_MN, "id-FastMCGRecovery-SN-to-MN" }, { id_RequestedFastMCGRecoveryViaSRB3, "id-RequestedFastMCGRecoveryViaSRB3" }, { id_AvailableFastMCGRecoveryViaSRB3, "id-AvailableFastMCGRecoveryViaSRB3" }, { id_RequestedFastMCGRecoveryViaSRB3Release, "id-RequestedFastMCGRecoveryViaSRB3Release" }, { id_ReleaseFastMCGRecoveryViaSRB3, "id-ReleaseFastMCGRecoveryViaSRB3" }, { id_FastMCGRecovery_MN_to_SN, "id-FastMCGRecovery-MN-to-SN" }, { id_PartialListIndicator, "id-PartialListIndicator" }, { id_MaximumCellListSize, "id-MaximumCellListSize" }, { id_MessageOversizeNotification, "id-MessageOversizeNotification" }, { id_CellandCapacityAssistInfo, "id-CellandCapacityAssistInfo" }, { id_TNLConfigurationInfo, "id-TNLConfigurationInfo" }, { id_TNLA_To_Add_List, "id-TNLA-To-Add-List" }, { id_TNLA_To_Update_List, "id-TNLA-To-Update-List" }, { id_TNLA_To_Remove_List, "id-TNLA-To-Remove-List" }, { id_TNLA_Setup_List, "id-TNLA-Setup-List" }, { id_TNLA_Failed_To_Setup_List, "id-TNLA-Failed-To-Setup-List" }, { id_UnlicensedSpectrumRestriction, "id-UnlicensedSpectrumRestriction" }, { id_UEContextReferenceatSourceNGRAN, "id-UEContextReferenceatSourceNGRAN" }, { id_EPCHandoverRestrictionListContainer, "id-EPCHandoverRestrictionListContainer" }, { id_CHOinformation_REQ, "id-CHOinformation-REQ" }, { id_CHOinformation_ACK, "id-CHOinformation-ACK" }, { id_DAPSRequestInfo, "id-DAPSRequestInfo" }, { id_RequestedTargetCellID, "id-RequestedTargetCellID" }, { id_CandidateCellsToBeCancelledList, "id-CandidateCellsToBeCancelledList" }, { id_DAPSResponseInfo, "id-DAPSResponseInfo" }, { id_ProcedureStage, "id-ProcedureStage" }, { id_CHO_DC_Indicator, "id-CHO-DC-Indicator" }, { id_Ethernet_Type, "id-Ethernet-Type" }, { id_NRV2XServicesAuthorized, "id-NRV2XServicesAuthorized" }, { id_NRUESidelinkAggregateMaximumBitRate, "id-NRUESidelinkAggregateMaximumBitRate" }, { id_PC5QoSParameters, "id-PC5QoSParameters" }, { id_NPRACHConfiguration, "id-NPRACHConfiguration" }, { id_NBIoT_RLF_Report_Container, "id-NBIoT-RLF-Report-Container" }, { id_MDTConfigurationNR, "id-MDTConfigurationNR" }, { id_PrivacyIndicator, "id-PrivacyIndicator" }, { id_TraceCollectionEntityIPAddress, "id-TraceCollectionEntityIPAddress" }, { id_UERadioCapabilityID, "id-UERadioCapabilityID" }, { id_SNtriggered, "id-SNtriggered" }, { id_CSI_RSTransmissionIndication, "id-CSI-RSTransmissionIndication" }, { id_DLCarrierList, "id-DLCarrierList" }, { id_TargetCellInNGRAN, "id-TargetCellInNGRAN" }, { id_E_UTRAN_Node1_Measurement_ID, "id-E-UTRAN-Node1-Measurement-ID" }, { id_E_UTRAN_Node2_Measurement_ID, "id-E-UTRAN-Node2-Measurement-ID" }, { id_TDDULDLConfigurationCommonNR, "id-TDDULDLConfigurationCommonNR" }, { id_CarrierList, "id-CarrierList" }, { id_ULCarrierList, "id-ULCarrierList" }, { id_FrequencyShift7p5khz, "id-FrequencyShift7p5khz" }, { id_SSB_PositionsInBurst, "id-SSB-PositionsInBurst" }, { id_NRCellPRACHConfig, "id-NRCellPRACHConfig" }, { id_CellToReport_NR_ENDC, "id-CellToReport-NR-ENDC" }, { id_CellToReport_NR_ENDC_Item, "id-CellToReport-NR-ENDC-Item" }, { id_CellMeasurementResult_NR_ENDC, "id-CellMeasurementResult-NR-ENDC" }, { id_CellMeasurementResult_NR_ENDC_Item, "id-CellMeasurementResult-NR-ENDC-Item" }, { id_IABNodeIndication, "id-IABNodeIndication" }, { id_QoS_Mapping_Information, "id-QoS-Mapping-Information" }, { id_F1CTrafficContainer, "id-F1CTrafficContainer" }, { id_Unknown_398, "id-Unknown-398" }, { id_IntendedTDD_DL_ULConfiguration_NR, "id-IntendedTDD-DL-ULConfiguration-NR" }, { id_UERadioCapability, "id-UERadioCapability" }, { id_CellMeasurementResult_E_UTRA_ENDC, "id-CellMeasurementResult-E-UTRA-ENDC" }, { id_CellMeasurementResult_E_UTRA_ENDC_Item, "id-CellMeasurementResult-E-UTRA-ENDC-Item" }, { id_CellToReport_E_UTRA_ENDC, "id-CellToReport-E-UTRA-ENDC" }, { id_CellToReport_E_UTRA_ENDC_Item, "id-CellToReport-E-UTRA-ENDC-Item" }, { id_TraceCollectionEntityURI, "id-TraceCollectionEntityURI" }, { id_SFN_Offset, "id-SFN-Offset" }, { id_CHO_DC_EarlyDataForwarding, "id-CHO-DC-EarlyDataForwarding" }, { id_IMSvoiceEPSfallbackfrom5G, "id-IMSvoiceEPSfallbackfrom5G" }, { id_AdditionLocationInformation, "id-AdditionLocationInformation" }, { id_DirectForwardingPathAvailability, "id-DirectForwardingPathAvailability" }, { id_sourceNG_RAN_node_id, "id-sourceNG-RAN-node-id" }, { id_SourceDLForwardingIPAddress, "id-SourceDLForwardingIPAddress" }, { id_SourceNodeDLForwardingIPAddress, "id-SourceNodeDLForwardingIPAddress" }, { id_NRRACHReportInformation, "id-NRRACHReportInformation" }, { id_SCG_UE_HistoryInformation, "id-SCG-UE-HistoryInformation" }, { id_PSCellHistoryInformationRetrieve, "id-PSCellHistoryInformationRetrieve" }, { id_MeasurementResultforNRCellsPossiblyAggregated, "id-MeasurementResultforNRCellsPossiblyAggregated" }, { id_PSCell_UE_HistoryInformation, "id-PSCell-UE-HistoryInformation" }, { id_PSCellChangeHistory, "id-PSCellChangeHistory" }, { id_CHOinformation_AddReq, "id-CHOinformation-AddReq" }, { id_CHOinformation_ModReq, "id-CHOinformation-ModReq" }, { id_SCGActivationStatus, "id-SCGActivationStatus" }, { id_SCGActivationRequest, "id-SCGActivationRequest" }, { id_CPAinformation_REQ, "id-CPAinformation-REQ" }, { id_CPAinformation_REQ_ACK, "id-CPAinformation-REQ-ACK" }, { id_CPAinformation_MOD, "id-CPAinformation-MOD" }, { id_CPAinformation_MOD_ACK, "id-CPAinformation-MOD-ACK" }, { id_CPACinformation_REQD, "id-CPACinformation-REQD" }, { id_CPCinformation_REQD, "id-CPCinformation-REQD" }, { id_CPCinformation_CONF, "id-CPCinformation-CONF" }, { id_CPCinformation_NOTIFY, "id-CPCinformation-NOTIFY" }, { id_CPCupdate_MOD, "id-CPCupdate-MOD" }, { id_Additional_Measurement_Timing_Configuration_List, "id-Additional-Measurement-Timing-Configuration-List" }, { id_ServedCellSpecificInfoReq_NR, "id-ServedCellSpecificInfoReq-NR" }, { id_SecurityIndication, "id-SecurityIndication" }, { id_SecurityResult, "id-SecurityResult" }, { id_RAT_Restrictions, "id-RAT-Restrictions" }, { id_SCGreconfigNotification, "id-SCGreconfigNotification" }, { id_MIMOPRBusageInformation, "id-MIMOPRBusageInformation" }, { id_SensorMeasurementConfiguration, "id-SensorMeasurementConfiguration" }, { id_AdditionalListofForwardingGTPTunnelEndpoint, "id-AdditionalListofForwardingGTPTunnelEndpoint" }, { 0, NULL } }; static value_string_ext x2ap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(x2ap_ProtocolIE_ID_vals); static int dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxProtocolIEs, &x2ap_data->protocol_ie_id, FALSE); if (tree) { proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(x2ap_data->protocol_ie_id, &x2ap_ProtocolIE_ID_vals_ext, "unknown (%d)")); } return offset; } static const value_string x2ap_TriggeringMessage_vals[] = { { 0, "initiating-message" }, { 1, "successful-outcome" }, { 2, "unsuccessful-outcome" }, { 0, NULL } }; static int dissect_x2ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static int dissect_x2ap_ProtocolIE_Field_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue); return offset; } static const per_sequence_t ProtocolIE_Field_sequence[] = { { &hf_x2ap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID }, { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality }, { &hf_x2ap_protocolIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field_value }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ProtocolIE_Field, ProtocolIE_Field_sequence); return offset; } static const per_sequence_t ProtocolIE_Container_sequence_of[1] = { { &hf_x2ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Field }, }; static int dissect_x2ap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of, 0, maxProtocolIEs, FALSE); return offset; } static int dissect_x2ap_ProtocolIE_Single_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_x2ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index); return offset; } static int dissect_x2ap_T_extensionValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue); return offset; } static const per_sequence_t ProtocolExtensionField_sequence[] = { { &hf_x2ap_extension_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID }, { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality }, { &hf_x2ap_extensionValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_T_extensionValue }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ProtocolExtensionField(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ProtocolExtensionField, ProtocolExtensionField_sequence); return offset; } static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = { { &hf_x2ap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolExtensionField }, }; static int dissect_x2ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of, 1, maxProtocolExtensions, FALSE); return offset; } static int dissect_x2ap_PrivateIE_Field_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { if (actx->external.direct_ref_present){ offset=call_per_oid_callback(actx->external.direct_reference, tvb, actx->pinfo, tree, offset, actx, hf_index); }else{ offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL); } return offset; } static const per_sequence_t PrivateIE_Field_sequence[] = { { &hf_x2ap_private_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_ID }, { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality }, { &hf_x2ap_privateIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Field_value }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_PrivateIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_PrivateIE_Field, PrivateIE_Field_sequence); return offset; } static const per_sequence_t PrivateIE_Container_sequence_of[1] = { { &hf_x2ap_PrivateIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Field }, }; static int dissect_x2ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_PrivateIE_Container, PrivateIE_Container_sequence_of, 1, maxPrivateIEs, FALSE); return offset; } static int dissect_x2ap_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 value_string x2ap_T_numberOfCellSpecificAntennaPorts_vals[] = { { 0, "one" }, { 1, "two" }, { 2, "four" }, { 0, NULL } }; static int dissect_x2ap_T_numberOfCellSpecificAntennaPorts(tvbuff_t *tvb _U_, int offset _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 ABSInformationFDD_sequence[] = { { &hf_x2ap_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 }, { &hf_x2ap_numberOfCellSpecificAntennaPorts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts }, { &hf_x2ap_measurement_subset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ABSInformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ABSInformationFDD, ABSInformationFDD_sequence); return offset; } static int dissect_x2ap_BIT_STRING_SIZE_1_70_(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, 70, TRUE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_01_vals[] = { { 0, "one" }, { 1, "two" }, { 2, "four" }, { 0, NULL } }; static int dissect_x2ap_T_numberOfCellSpecificAntennaPorts_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const per_sequence_t ABSInformationTDD_sequence[] = { { &hf_x2ap_abs_pattern_info_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ }, { &hf_x2ap_numberOfCellSpecificAntennaPorts_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts_01 }, { &hf_x2ap_measurement_subset_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ABSInformationTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ABSInformationTDD, ABSInformationTDD_sequence); return offset; } static int dissect_x2ap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_null(tvb, offset, actx, tree, hf_index); return offset; } static const value_string x2ap_ABSInformation_vals[] = { { 0, "fdd" }, { 1, "tdd" }, { 2, "abs-inactive" }, { 0, NULL } }; static const per_choice_t ABSInformation_choice[] = { { 0, &hf_x2ap_fdd , ASN1_EXTENSION_ROOT , dissect_x2ap_ABSInformationFDD }, { 1, &hf_x2ap_tdd , ASN1_EXTENSION_ROOT , dissect_x2ap_ABSInformationTDD }, { 2, &hf_x2ap_abs_inactive , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_ABSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_ABSInformation, ABSInformation_choice, NULL); return offset; } static int dissect_x2ap_DL_ABS_status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 100U, NULL, FALSE); return offset; } static const per_sequence_t UsableABSInformationFDD_sequence[] = { { &hf_x2ap_usable_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_40 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UsableABSInformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UsableABSInformationFDD, UsableABSInformationFDD_sequence); return offset; } static const per_sequence_t UsableABSInformationTDD_sequence[] = { { &hf_x2ap_usaable_abs_pattern_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_1_70_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UsableABSInformationTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UsableABSInformationTDD, UsableABSInformationTDD_sequence); return offset; } static const value_string x2ap_UsableABSInformation_vals[] = { { 0, "fdd" }, { 1, "tdd" }, { 0, NULL } }; static const per_choice_t UsableABSInformation_choice[] = { { 0, &hf_x2ap_fdd_03 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationFDD }, { 1, &hf_x2ap_tdd_03 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationTDD }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_UsableABSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_UsableABSInformation, UsableABSInformation_choice, NULL); return offset; } static const per_sequence_t ABS_Status_sequence[] = { { &hf_x2ap_dL_ABS_status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_ABS_status }, { &hf_x2ap_usableABSInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UsableABSInformation }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ABS_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_x2ap_ABS_Status, ABS_Status_sequence); return offset; } static int dissect_x2ap_ActivationID(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_INTEGER_0_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 16U, NULL, FALSE); return offset; } static int dissect_x2ap_INTEGER_0_95(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 95U, NULL, FALSE); return offset; } static const value_string x2ap_T_csi_RS_Status_vals[] = { { 0, "activated" }, { 1, "deactivated" }, { 0, NULL } }; static int dissect_x2ap_T_csi_RS_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); e212_number_type_t number_type = x2ap_data->number_type; x2ap_data->number_type = E212_NONE; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 3, 3, FALSE, ¶meter_tvb); if(tvb_reported_length(tvb)==0) return offset; if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_PLMN_Identity); dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, number_type, FALSE); return offset; } static int dissect_x2ap_NRCellIdentifier(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 NRCGI_sequence[] = { { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_nRcellIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCellIdentifier }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NRCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); x2ap_data->number_type = E212_NRCGI; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NRCGI, NRCGI_sequence); return offset; } static const per_sequence_t CSI_RS_MTC_Neighbour_Item_sequence[] = { { &hf_x2ap_csi_RS_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_95 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CSI_RS_MTC_Neighbour_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_x2ap_CSI_RS_MTC_Neighbour_Item, CSI_RS_MTC_Neighbour_Item_sequence); return offset; } static const per_sequence_t CSI_RS_MTC_Neighbour_List_sequence_of[1] = { { &hf_x2ap_CSI_RS_MTC_Neighbour_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CSI_RS_MTC_Neighbour_Item }, }; static int dissect_x2ap_CSI_RS_MTC_Neighbour_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_x2ap_CSI_RS_MTC_Neighbour_List, CSI_RS_MTC_Neighbour_List_sequence_of, 1, maxnoofCSIRSneighbourCellsInMTC, FALSE); return offset; } static const per_sequence_t CSI_RS_Neighbour_Item_sequence[] = { { &hf_x2ap_nr_cgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_csi_RS_MTC_Neighbour_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CSI_RS_MTC_Neighbour_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CSI_RS_Neighbour_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_x2ap_CSI_RS_Neighbour_Item, CSI_RS_Neighbour_Item_sequence); return offset; } static const per_sequence_t CSI_RS_Neighbour_List_sequence_of[1] = { { &hf_x2ap_CSI_RS_Neighbour_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CSI_RS_Neighbour_Item }, }; static int dissect_x2ap_CSI_RS_Neighbour_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_x2ap_CSI_RS_Neighbour_List, CSI_RS_Neighbour_List_sequence_of, 1, maxnoofCSIRSneighbourCells, FALSE); return offset; } static const per_sequence_t CSI_RS_MTC_Configuration_Item_sequence[] = { { &hf_x2ap_csi_RS_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_95 }, { &hf_x2ap_csi_RS_Status , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_csi_RS_Status }, { &hf_x2ap_csi_RS_Neighbour_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CSI_RS_Neighbour_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CSI_RS_MTC_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_x2ap_CSI_RS_MTC_Configuration_Item, CSI_RS_MTC_Configuration_Item_sequence); return offset; } static const per_sequence_t CSI_RS_MTC_Configuration_List_sequence_of[1] = { { &hf_x2ap_CSI_RS_MTC_Configuration_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CSI_RS_MTC_Configuration_Item }, }; static int dissect_x2ap_CSI_RS_MTC_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_x2ap_CSI_RS_MTC_Configuration_List, CSI_RS_MTC_Configuration_List_sequence_of, 1, maxnoofCSIRSconfigurations, FALSE); return offset; } static const per_sequence_t Additional_Measurement_Timing_Configuration_Item_sequence[] = { { &hf_x2ap_additionalMeasurementTimingConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_16 }, { &hf_x2ap_csi_RS_MTC_Configuration_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CSI_RS_MTC_Configuration_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_Additional_Measurement_Timing_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_x2ap_Additional_Measurement_Timing_Configuration_Item, Additional_Measurement_Timing_Configuration_Item_sequence); return offset; } static const per_sequence_t Additional_Measurement_Timing_Configuration_List_sequence_of[1] = { { &hf_x2ap_Additional_Measurement_Timing_Configuration_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Additional_Measurement_Timing_Configuration_Item }, }; static int dissect_x2ap_Additional_Measurement_Timing_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_x2ap_Additional_Measurement_Timing_Configuration_List, Additional_Measurement_Timing_Configuration_List_sequence_of, 1, maxnoofMTCItems, FALSE); return offset; } static int dissect_x2ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; int len; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 1, 160, TRUE, NULL, 0, ¶meter_tvb, &len); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TransportLayerAddress); if (len == 32) { /* IPv4 */ proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN); } else if (len == 128) { /* IPv6 */ proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA); } else if (len == 160) { /* IPv4 */ proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN); /* IPv6 */ proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA); } return offset; } static int dissect_x2ap_GTP_TEI(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 per_sequence_t GTPtunnelEndpoint_sequence[] = { { &hf_x2ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress }, { &hf_x2ap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTP_TEI }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_GTPtunnelEndpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_GTPtunnelEndpoint, GTPtunnelEndpoint_sequence); return offset; } static const per_sequence_t AdditionalListofForwardingGTPTunnelEndpoint_Item_sequence[] = { { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_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_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_Item, AdditionalListofForwardingGTPTunnelEndpoint_Item_sequence); return offset; } static const per_sequence_t AdditionalListofForwardingGTPTunnelEndpoint_sequence_of[1] = { { &hf_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_Item }, }; static int dissect_x2ap_AdditionalListofForwardingGTPTunnelEndpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_AdditionalListofForwardingGTPTunnelEndpoint, AdditionalListofForwardingGTPTunnelEndpoint_sequence_of, 1, maxnoofTargetSgNBsMinusOne, FALSE); return offset; } static const value_string x2ap_AdditionLocationInformation_vals[] = { { 0, "includePSCell" }, { 0, NULL } }; static int dissect_x2ap_AdditionLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_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 x2ap_AdditionalSpecialSubframePatterns_vals[] = { { 0, "ssp0" }, { 1, "ssp1" }, { 2, "ssp2" }, { 3, "ssp3" }, { 4, "ssp4" }, { 5, "ssp5" }, { 6, "ssp6" }, { 7, "ssp7" }, { 8, "ssp8" }, { 9, "ssp9" }, { 0, NULL } }; static int dissect_x2ap_AdditionalSpecialSubframePatterns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 10, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_CyclicPrefixDL_vals[] = { { 0, "normal" }, { 1, "extended" }, { 0, NULL } }; static int dissect_x2ap_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 value_string x2ap_CyclicPrefixUL_vals[] = { { 0, "normal" }, { 1, "extended" }, { 0, NULL } }; static int dissect_x2ap_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 AdditionalSpecialSubframe_Info_sequence[] = { { &hf_x2ap_additionalspecialSubframePatterns, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AdditionalSpecialSubframePatterns }, { &hf_x2ap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixDL }, { &hf_x2ap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixUL }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_AdditionalSpecialSubframe_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_x2ap_AdditionalSpecialSubframe_Info, AdditionalSpecialSubframe_Info_sequence); return offset; } static const value_string x2ap_AdditionalSpecialSubframePatternsExtension_vals[] = { { 0, "ssp10" }, { 0, NULL } }; static int dissect_x2ap_AdditionalSpecialSubframePatternsExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_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 AdditionalSpecialSubframeExtension_Info_sequence[] = { { &hf_x2ap_additionalspecialSubframePatternsExtension, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AdditionalSpecialSubframePatternsExtension }, { &hf_x2ap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixDL }, { &hf_x2ap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixUL }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_AdditionalSpecialSubframeExtension_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_x2ap_AdditionalSpecialSubframeExtension_Info, AdditionalSpecialSubframeExtension_Info_sequence); return offset; } static const value_string x2ap_AvailableFastMCGRecoveryViaSRB3_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_AvailableFastMCGRecoveryViaSRB3(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_AerialUEsubscriptionInformation_vals[] = { { 0, "allowed" }, { 1, "not-allowed" }, { 0, NULL } }; static int dissect_x2ap_AerialUEsubscriptionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_PriorityLevel_vals[] = { { 0, "spare" }, { 1, "highest" }, { 14, "lowest" }, { 15, "no-priority" }, { 0, NULL } }; static int dissect_x2ap_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 value_string x2ap_Pre_emptionCapability_vals[] = { { 0, "shall-not-trigger-pre-emption" }, { 1, "may-trigger-pre-emption" }, { 0, NULL } }; static int dissect_x2ap_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 x2ap_Pre_emptionVulnerability_vals[] = { { 0, "not-pre-emptable" }, { 1, "pre-emptable" }, { 0, NULL } }; static int dissect_x2ap_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 AllocationAndRetentionPriority_sequence[] = { { &hf_x2ap_priorityLevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PriorityLevel }, { &hf_x2ap_pre_emptionCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Pre_emptionCapability }, { &hf_x2ap_pre_emptionVulnerability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Pre_emptionVulnerability }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_AllocationAndRetentionPriority, AllocationAndRetentionPriority_sequence); return offset; } static int dissect_x2ap_EUTRANCellIdentifier(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; } static const per_sequence_t ECGI_sequence[] = { { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_eUTRANcellIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANCellIdentifier }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ECGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); x2ap_data->number_type = E212_ECGI; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ECGI, ECGI_sequence); return offset; } static const per_sequence_t CellIdListforMDT_sequence_of[1] = { { &hf_x2ap_CellIdListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, }; static int dissect_x2ap_CellIdListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CellIdListforMDT, CellIdListforMDT_sequence_of, 1, maxnoofCellIDforMDT, FALSE); return offset; } static const per_sequence_t CellBasedMDT_sequence[] = { { &hf_x2ap_cellIdListforMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellIdListforMDT }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellBasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CellBasedMDT, CellBasedMDT_sequence); return offset; } static int dissect_x2ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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); } return offset; } static const per_sequence_t TAListforMDT_sequence_of[1] = { { &hf_x2ap_TAListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC }, }; static int dissect_x2ap_TAListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_TAListforMDT, TAListforMDT_sequence_of, 1, maxnoofTAforMDT, FALSE); return offset; } static const per_sequence_t TABasedMDT_sequence[] = { { &hf_x2ap_tAListforMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAListforMDT }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TABasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_TABasedMDT, TABasedMDT_sequence); return offset; } static const per_sequence_t TAI_Item_sequence[] = { { &hf_x2ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC }, { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TAI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); x2ap_data->number_type = E212_TAI; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_TAI_Item, TAI_Item_sequence); return offset; } static const per_sequence_t TAIListforMDT_sequence_of[1] = { { &hf_x2ap_TAIListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAI_Item }, }; static int dissect_x2ap_TAIListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_TAIListforMDT, TAIListforMDT_sequence_of, 1, maxnoofTAforMDT, FALSE); return offset; } static const per_sequence_t TAIBasedMDT_sequence[] = { { &hf_x2ap_tAIListforMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAIListforMDT }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TAIBasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_TAIBasedMDT, TAIBasedMDT_sequence); return offset; } static const value_string x2ap_AreaScopeOfMDT_vals[] = { { 0, "cellBased" }, { 1, "tABased" }, { 2, "pLMNWide" }, { 3, "tAIBased" }, { 0, NULL } }; static const per_choice_t AreaScopeOfMDT_choice[] = { { 0, &hf_x2ap_cellBased , ASN1_EXTENSION_ROOT , dissect_x2ap_CellBasedMDT }, { 1, &hf_x2ap_tABased , ASN1_EXTENSION_ROOT , dissect_x2ap_TABasedMDT }, { 2, &hf_x2ap_pLMNWide , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL }, { 3, &hf_x2ap_tAIBased , ASN1_NOT_EXTENSION_ROOT, dissect_x2ap_TAIBasedMDT }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_AreaScopeOfMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_AreaScopeOfMDT, AreaScopeOfMDT_choice, NULL); return offset; } static const per_sequence_t CellIdListforQMC_sequence_of[1] = { { &hf_x2ap_CellIdListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, }; static int dissect_x2ap_CellIdListforQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CellIdListforQMC, CellIdListforQMC_sequence_of, 1, maxnoofCellIDforQMC, FALSE); return offset; } static const per_sequence_t CellBasedQMC_sequence[] = { { &hf_x2ap_cellIdListforQMC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellIdListforQMC }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellBasedQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CellBasedQMC, CellBasedQMC_sequence); return offset; } static const per_sequence_t TAListforQMC_sequence_of[1] = { { &hf_x2ap_TAListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC }, }; static int dissect_x2ap_TAListforQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_TAListforQMC, TAListforQMC_sequence_of, 1, maxnoofTAforQMC, FALSE); return offset; } static const per_sequence_t TABasedQMC_sequence[] = { { &hf_x2ap_tAListforQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAListforQMC }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TABasedQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_TABasedQMC, TABasedQMC_sequence); return offset; } static const per_sequence_t TAIListforQMC_sequence_of[1] = { { &hf_x2ap_TAIListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAI_Item }, }; static int dissect_x2ap_TAIListforQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_TAIListforQMC, TAIListforQMC_sequence_of, 1, maxnoofTAforQMC, FALSE); return offset; } static const per_sequence_t TAIBasedQMC_sequence[] = { { &hf_x2ap_tAIListforQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAIListforQMC }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TAIBasedQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_TAIBasedQMC, TAIBasedQMC_sequence); return offset; } static const per_sequence_t PLMNListforQMC_sequence_of[1] = { { &hf_x2ap_PLMNListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, }; static int dissect_x2ap_PLMNListforQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_PLMNListforQMC, PLMNListforQMC_sequence_of, 1, maxnoofPLMNforQMC, FALSE); return offset; } static const per_sequence_t PLMNAreaBasedQMC_sequence[] = { { &hf_x2ap_plmnListforQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMNListforQMC }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_PLMNAreaBasedQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_PLMNAreaBasedQMC, PLMNAreaBasedQMC_sequence); return offset; } static const value_string x2ap_AreaScopeOfQMC_vals[] = { { 0, "cellBased" }, { 1, "tABased" }, { 2, "tAIBased" }, { 3, "pLMNAreaBased" }, { 0, NULL } }; static const per_choice_t AreaScopeOfQMC_choice[] = { { 0, &hf_x2ap_cellBased_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_CellBasedQMC }, { 1, &hf_x2ap_tABased_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_TABasedQMC }, { 2, &hf_x2ap_tAIBased_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_TAIBasedQMC }, { 3, &hf_x2ap_pLMNAreaBased , ASN1_EXTENSION_ROOT , dissect_x2ap_PLMNAreaBasedQMC }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_AreaScopeOfQMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_AreaScopeOfQMC, AreaScopeOfQMC_choice, NULL); return offset; } static int dissect_x2ap_Key_eNodeB_Star(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 256, 256, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_NextHopChainingCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 7U, NULL, FALSE); return offset; } static const per_sequence_t AS_SecurityInformation_sequence[] = { { &hf_x2ap_key_eNodeB_star, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Key_eNodeB_Star }, { &hf_x2ap_nextHopChainingCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NextHopChainingCount }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_AS_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_AS_SecurityInformation, AS_SecurityInformation_sequence); return offset; } static const per_sequence_t AdditionalPLMNs_Item_sequence_of[1] = { { &hf_x2ap_AdditionalPLMNs_Item_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, }; static int dissect_x2ap_AdditionalPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_AdditionalPLMNs_Item, AdditionalPLMNs_Item_sequence_of, 1, maxnoofAdditionalPLMNs, FALSE); return offset; } static const value_string x2ap_BandwidthReducedSI_vals[] = { { 0, "scheduled" }, { 0, NULL } }; static int dissect_x2ap_BandwidthReducedSI(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_BearerType_vals[] = { { 0, "non-IP" }, { 0, NULL } }; static int dissect_x2ap_BearerType(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_BenefitMetric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -101, 100U, NULL, TRUE); return offset; } static int dissect_x2ap_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(10000000000), NULL, FALSE); return offset; } static const per_sequence_t BroadcastPLMNs_Item_sequence_of[1] = { { &hf_x2ap_BroadcastPLMNs_Item_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, }; static int dissect_x2ap_BroadcastPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_BroadcastPLMNs_Item, BroadcastPLMNs_Item_sequence_of, 1, maxnoofBPLMNs, FALSE); return offset; } static const value_string x2ap_BluetoothMeasConfig_vals[] = { { 0, "setup" }, { 0, NULL } }; static int dissect_x2ap_BluetoothMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_BluetoothName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 1, 248, FALSE, ¶meter_tvb); actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA); return offset; } static const per_sequence_t BluetoothMeasConfigNameList_sequence_of[1] = { { &hf_x2ap_BluetoothMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_BluetoothName }, }; static int dissect_x2ap_BluetoothMeasConfigNameList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_BluetoothMeasConfigNameList, BluetoothMeasConfigNameList_sequence_of, 1, maxnoofBluetoothName, FALSE); return offset; } static const value_string x2ap_T_bt_rssi_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_T_bt_rssi(tvbuff_t *tvb _U_, int offset _U_, asn1_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 BluetoothMeasurementConfiguration_sequence[] = { { &hf_x2ap_bluetoothMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BluetoothMeasConfig }, { &hf_x2ap_bluetoothMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BluetoothMeasConfigNameList }, { &hf_x2ap_bt_rssi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_bt_rssi }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_BluetoothMeasurementConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_BluetoothMeasurementConfiguration, BluetoothMeasurementConfiguration_sequence); return offset; } static const per_sequence_t BPLMN_ID_Info_EUTRA_Item_sequence[] = { { &hf_x2ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastPLMNs_Item }, { &hf_x2ap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC }, { &hf_x2ap_e_utraCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANCellIdentifier }, { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_BPLMN_ID_Info_EUTRA_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_x2ap_BPLMN_ID_Info_EUTRA_Item, BPLMN_ID_Info_EUTRA_Item_sequence); return offset; } static const per_sequence_t BPLMN_ID_Info_EUTRA_sequence_of[1] = { { &hf_x2ap_BPLMN_ID_Info_EUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_BPLMN_ID_Info_EUTRA_Item }, }; static int dissect_x2ap_BPLMN_ID_Info_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_BPLMN_ID_Info_EUTRA, BPLMN_ID_Info_EUTRA_sequence_of, 1, maxnoofBPLMNs, FALSE); return offset; } static const per_sequence_t BroadcastextPLMNs_sequence_of[1] = { { &hf_x2ap_BroadcastextPLMNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, }; static int dissect_x2ap_BroadcastextPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_BroadcastextPLMNs, BroadcastextPLMNs_sequence_of, 1, maxnoofextBPLMNs, FALSE); return offset; } static int dissect_x2ap_FiveGS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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 const per_sequence_t BPLMN_ID_Info_NR_Item_sequence[] = { { &hf_x2ap_broadcastPLMNs_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastextPLMNs }, { &hf_x2ap_fiveGS_TAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_FiveGS_TAC }, { &hf_x2ap_nr_CI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCellIdentifier }, { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_BPLMN_ID_Info_NR_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_x2ap_BPLMN_ID_Info_NR_Item, BPLMN_ID_Info_NR_Item_sequence); return offset; } static const per_sequence_t BPLMN_ID_Info_NR_sequence_of[1] = { { &hf_x2ap_BPLMN_ID_Info_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_BPLMN_ID_Info_NR_Item }, }; static int dissect_x2ap_BPLMN_ID_Info_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_BPLMN_ID_Info_NR, BPLMN_ID_Info_NR_sequence_of, 1, maxnoofextBPLMNs, FALSE); return offset; } static int dissect_x2ap_CapacityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_CauseRadioNetwork_vals[] = { { 0, "handover-desirable-for-radio-reasons" }, { 1, "time-critical-handover" }, { 2, "resource-optimisation-handover" }, { 3, "reduce-load-in-serving-cell" }, { 4, "partial-handover" }, { 5, "unknown-new-eNB-UE-X2AP-ID" }, { 6, "unknown-old-eNB-UE-X2AP-ID" }, { 7, "unknown-pair-of-UE-X2AP-ID" }, { 8, "ho-target-not-allowed" }, { 9, "tx2relocoverall-expiry" }, { 10, "trelocprep-expiry" }, { 11, "cell-not-available" }, { 12, "no-radio-resources-available-in-target-cell" }, { 13, "invalid-MME-GroupID" }, { 14, "unknown-MME-Code" }, { 15, "encryption-and-or-integrity-protection-algorithms-not-supported" }, { 16, "reportCharacteristicsEmpty" }, { 17, "noReportPeriodicity" }, { 18, "existingMeasurementID" }, { 19, "unknown-eNB-Measurement-ID" }, { 20, "measurement-temporarily-not-available" }, { 21, "unspecified" }, { 22, "load-balancing" }, { 23, "handover-optimisation" }, { 24, "value-out-of-allowed-range" }, { 25, "multiple-E-RAB-ID-instances" }, { 26, "switch-off-ongoing" }, { 27, "not-supported-QCI-value" }, { 28, "measurement-not-supported-for-the-object" }, { 29, "tDCoverall-expiry" }, { 30, "tDCprep-expiry" }, { 31, "action-desirable-for-radio-reasons" }, { 32, "reduce-load" }, { 33, "resource-optimisation" }, { 34, "time-critical-action" }, { 35, "target-not-allowed" }, { 36, "no-radio-resources-available" }, { 37, "invalid-QoS-combination" }, { 38, "encryption-algorithms-not-supported" }, { 39, "procedure-cancelled" }, { 40, "rRM-purpose" }, { 41, "improve-user-bit-rate" }, { 42, "user-inactivity" }, { 43, "radio-connection-with-UE-lost" }, { 44, "failure-in-the-radio-interface-procedure" }, { 45, "bearer-option-not-supported" }, { 46, "mCG-Mobility" }, { 47, "sCG-Mobility" }, { 48, "count-reaches-max-value" }, { 49, "unknown-old-en-gNB-UE-X2AP-ID" }, { 50, "pDCP-Overload" }, { 51, "cho-cpc-resources-tobechanged" }, { 52, "ue-power-saving" }, { 53, "insufficient-ue-capabilities" }, { 54, "normal-release" }, { 55, "unknown-E-UTRAN-Node-Measurement-ID" }, { 56, "sCG-activation-deactivation-failure" }, { 57, "sCG-deactivation-failure-due-to-data-transmission" }, { 58, "up-integrity-protection-not-possible" }, { 0, NULL } }; static value_string_ext x2ap_CauseRadioNetwork_vals_ext = VALUE_STRING_EXT_INIT(x2ap_CauseRadioNetwork_vals); static int dissect_x2ap_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, 22, NULL, TRUE, 37, NULL); return offset; } static const value_string x2ap_CauseTransport_vals[] = { { 0, "transport-resource-unavailable" }, { 1, "unspecified" }, { 0, NULL } }; static int dissect_x2ap_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); return offset; } static const value_string x2ap_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, "unspecified" }, { 6, "abstract-syntax-error-falsely-constructed-message" }, { 0, NULL } }; static int dissect_x2ap_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 value_string x2ap_CauseMisc_vals[] = { { 0, "control-processing-overload" }, { 1, "hardware-failure" }, { 2, "om-intervention" }, { 3, "not-enough-user-plane-processing-resources" }, { 4, "unspecified" }, { 0, NULL } }; static int dissect_x2ap_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 x2ap_Cause_vals[] = { { 0, "radioNetwork" }, { 1, "transport" }, { 2, "protocol" }, { 3, "misc" }, { 0, NULL } }; static const per_choice_t Cause_choice[] = { { 0, &hf_x2ap_radioNetwork , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseRadioNetwork }, { 1, &hf_x2ap_transport , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseTransport }, { 2, &hf_x2ap_protocol , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseProtocol }, { 3, &hf_x2ap_misc , ASN1_EXTENSION_ROOT , dissect_x2ap_CauseMisc }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_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_x2ap_Cause, Cause_choice, NULL); return offset; } static int dissect_x2ap_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 x2ap_CellDeploymentStatusIndicator_vals[] = { { 0, "pre-change-notification" }, { 0, NULL } }; static int dissect_x2ap_CellDeploymentStatusIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ReplacingCellsList_Item_sequence[] = { { &hf_x2ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ReplacingCellsList_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_x2ap_ReplacingCellsList_Item, ReplacingCellsList_Item_sequence); return offset; } static const per_sequence_t ReplacingCellsList_sequence_of[1] = { { &hf_x2ap_ReplacingCellsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ReplacingCellsList_Item }, }; static int dissect_x2ap_ReplacingCellsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ReplacingCellsList, ReplacingCellsList_sequence_of, 0, maxCellineNB, FALSE); return offset; } static const per_sequence_t CellReplacingInfo_sequence[] = { { &hf_x2ap_replacingCellsList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReplacingCellsList }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellReplacingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CellReplacingInfo, CellReplacingInfo_sequence); return offset; } static const value_string x2ap_CellReportingIndicator_vals[] = { { 0, "stop-request" }, { 0, NULL } }; static int dissect_x2ap_CellReportingIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_Cell_Size_vals[] = { { 0, "verysmall" }, { 1, "small" }, { 2, "medium" }, { 3, "large" }, { 0, NULL } }; static int dissect_x2ap_Cell_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, TRUE, 0, NULL); return offset; } static const per_sequence_t CellType_sequence[] = { { &hf_x2ap_cell_Size , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cell_Size }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_CellType, CellType_sequence); return offset; } static const per_sequence_t CPACcandidatePSCells_item_sequence[] = { { &hf_x2ap_pscell_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPACcandidatePSCells_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_x2ap_CPACcandidatePSCells_item, CPACcandidatePSCells_item_sequence); return offset; } static const per_sequence_t CPACcandidatePSCells_list_sequence_of[1] = { { &hf_x2ap_CPACcandidatePSCells_list_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPACcandidatePSCells_item }, }; static int dissect_x2ap_CPACcandidatePSCells_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_x2ap_CPACcandidatePSCells_list, CPACcandidatePSCells_list_sequence_of, 1, maxnoofPSCellCandidates, FALSE); return offset; } static const value_string x2ap_CPCindicator_vals[] = { { 0, "cpc-initiation" }, { 1, "cpc-modification" }, { 2, "cpc-cancel" }, { 0, NULL } }; static int dissect_x2ap_CPCindicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_CPCdataforwarding_vals[] = { { 0, "cpc-triggered" }, { 1, "early-data-transmission-stop" }, { 2, "coordination-only" }, { 0, NULL } }; static int dissect_x2ap_CPCdataforwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_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, 1, NULL); return offset; } static int dissect_x2ap_INTEGER_1_maxnoofPSCellCandidates(tvbuff_t *tvb _U_, int offset _U_, 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, maxnoofPSCellCandidates, NULL, FALSE); return offset; } static int dissect_x2ap_CHO_Probability(tvbuff_t *tvb _U_, int offset _U_, 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, FALSE); return offset; } static const per_sequence_t CPAinformation_REQ_sequence[] = { { &hf_x2ap_max_no_of_pscells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_maxnoofPSCellCandidates }, { &hf_x2ap_estimatedArrivalProbability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CHO_Probability }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPAinformation_REQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CPAinformation_REQ, CPAinformation_REQ_sequence); return offset; } static const per_sequence_t CPAinformation_REQ_ACK_sequence[] = { { &hf_x2ap_candidate_pscells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPACcandidatePSCells_list }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPAinformation_REQ_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CPAinformation_REQ_ACK, CPAinformation_REQ_ACK_sequence); return offset; } static int dissect_x2ap_BIT_STRING_SIZE_22_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 22, 32, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_GNB_ID_vals[] = { { 0, "gNB-ID" }, { 0, NULL } }; static const per_choice_t GNB_ID_choice[] = { { 0, &hf_x2ap_gNB_ID_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_22_32 }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_GNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_GNB_ID, GNB_ID_choice, NULL); return offset; } static const per_sequence_t GlobalGNB_ID_sequence[] = { { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_gNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GNB_ID }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_GlobalGNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_GlobalGNB_ID, GlobalGNB_ID_sequence); return offset; } static int dissect_x2ap_SgNBtoMeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SgNBtoMeNBContainer); dissect_nr_rrc_CG_Config_PDU(parameter_tvb, actx->pinfo, subtree, NULL); return offset; } static const per_sequence_t CPC_target_SgNB_reqd_item_sequence[] = { { &hf_x2ap_target_SgNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GlobalGNB_ID }, { &hf_x2ap_cpc_indicator , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPCindicator }, { &hf_x2ap_max_no_of_pscells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_maxnoofPSCellCandidates }, { &hf_x2ap_estimatedArrivalProbability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CHO_Probability }, { &hf_x2ap_sgNBtoMeNBContainer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SgNBtoMeNBContainer }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPC_target_SgNB_reqd_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_x2ap_CPC_target_SgNB_reqd_item, CPC_target_SgNB_reqd_item_sequence); return offset; } static const per_sequence_t CPC_target_SgNB_reqd_list_sequence_of[1] = { { &hf_x2ap_CPC_target_SgNB_reqd_list_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPC_target_SgNB_reqd_item }, }; static int dissect_x2ap_CPC_target_SgNB_reqd_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_x2ap_CPC_target_SgNB_reqd_list, CPC_target_SgNB_reqd_list_sequence_of, 1, maxnoofTargetSgNBs, FALSE); return offset; } static const per_sequence_t CPCinformation_REQD_sequence[] = { { &hf_x2ap_cpc_target_sgnb_list, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPC_target_SgNB_reqd_list }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPCinformation_REQD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CPCinformation_REQD, CPCinformation_REQD_sequence); return offset; } static const per_sequence_t CPC_target_SgNB_conf_item_sequence[] = { { &hf_x2ap_target_SgNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GlobalGNB_ID }, { &hf_x2ap_candidate_pscells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPACcandidatePSCells_list }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPC_target_SgNB_conf_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_x2ap_CPC_target_SgNB_conf_item, CPC_target_SgNB_conf_item_sequence); return offset; } static const per_sequence_t CPC_target_SgNB_conf_list_sequence_of[1] = { { &hf_x2ap_CPC_target_SgNB_conf_list_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPC_target_SgNB_conf_item }, }; static int dissect_x2ap_CPC_target_SgNB_conf_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_x2ap_CPC_target_SgNB_conf_list, CPC_target_SgNB_conf_list_sequence_of, 1, maxnoofTargetSgNBs, FALSE); return offset; } static const per_sequence_t CPCinformation_CONF_sequence[] = { { &hf_x2ap_cpc_target_sgnb_list_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPC_target_SgNB_conf_list }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPCinformation_CONF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CPCinformation_CONF, CPCinformation_CONF_sequence); return offset; } static const per_sequence_t CPCinformation_NOTIFY_sequence[] = { { &hf_x2ap_cpc_indicator_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPCdataforwarding }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPCinformation_NOTIFY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CPCinformation_NOTIFY, CPCinformation_NOTIFY_sequence); return offset; } static const per_sequence_t CPAinformation_MOD_sequence[] = { { &hf_x2ap_max_no_of_pscells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_1_maxnoofPSCellCandidates }, { &hf_x2ap_estimatedArrivalProbability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CHO_Probability }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPAinformation_MOD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CPAinformation_MOD, CPAinformation_MOD_sequence); return offset; } static const per_sequence_t CPC_target_SgNB_mod_item_sequence[] = { { &hf_x2ap_target_SgNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GlobalGNB_ID }, { &hf_x2ap_candidate_pscells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPACcandidatePSCells_list }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPC_target_SgNB_mod_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_x2ap_CPC_target_SgNB_mod_item, CPC_target_SgNB_mod_item_sequence); return offset; } static const per_sequence_t CPC_target_SgNB_mod_list_sequence_of[1] = { { &hf_x2ap_CPC_target_SgNB_mod_list_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPC_target_SgNB_mod_item }, }; static int dissect_x2ap_CPC_target_SgNB_mod_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_x2ap_CPC_target_SgNB_mod_list, CPC_target_SgNB_mod_list_sequence_of, 1, maxnoofTargetSgNBs, FALSE); return offset; } static const per_sequence_t CPCupdate_MOD_sequence[] = { { &hf_x2ap_cpc_target_sgnb_list_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPC_target_SgNB_mod_list }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPCupdate_MOD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CPCupdate_MOD, CPCupdate_MOD_sequence); return offset; } static const per_sequence_t CPAinformation_MOD_ACK_sequence[] = { { &hf_x2ap_candidate_pscells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPACcandidatePSCells_list }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPAinformation_MOD_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CPAinformation_MOD_ACK, CPAinformation_MOD_ACK_sequence); return offset; } static const per_sequence_t CPACinformation_REQD_sequence[] = { { &hf_x2ap_candidate_pscells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPACcandidatePSCells_list }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPACinformation_REQD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CPACinformation_REQD, CPACinformation_REQD_sequence); return offset; } static const value_string x2ap_CHO_DC_EarlyDataForwarding_vals[] = { { 0, "stop" }, { 0, NULL } }; static int dissect_x2ap_CHO_DC_EarlyDataForwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_CHO_DC_Indicator_vals[] = { { 0, "true" }, { 1, "coordination-only" }, { 0, NULL } }; static int dissect_x2ap_CHO_DC_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, 1, NULL); return offset; } static const value_string x2ap_T_cn_type_vals[] = { { 0, "fiveGC-forbidden" }, { 1, "epc-forbidden" }, { 0, NULL } }; static int dissect_x2ap_T_cn_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, TRUE, 1, NULL); return offset; } static const per_sequence_t CNTypeRestrictionsItem_sequence[] = { { &hf_x2ap_plmn_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_cn_type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_cn_type }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CNTypeRestrictionsItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CNTypeRestrictionsItem, CNTypeRestrictionsItem_sequence); return offset; } static const per_sequence_t CNTypeRestrictions_sequence_of[1] = { { &hf_x2ap_CNTypeRestrictions_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CNTypeRestrictionsItem }, }; static int dissect_x2ap_CNTypeRestrictions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CNTypeRestrictions, CNTypeRestrictions_sequence_of, 1, maxnoofEPLMNsPlusOne, FALSE); return offset; } static int dissect_x2ap_BIT_STRING_SIZE_6_4400_(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, 4400, TRUE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t CoMPHypothesisSetItem_sequence[] = { { &hf_x2ap_coMPCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_coMPHypothesis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_4400_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CoMPHypothesisSetItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CoMPHypothesisSetItem, CoMPHypothesisSetItem_sequence); return offset; } static const per_sequence_t CoMPHypothesisSet_sequence_of[1] = { { &hf_x2ap_CoMPHypothesisSet_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CoMPHypothesisSetItem }, }; static int dissect_x2ap_CoMPHypothesisSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CoMPHypothesisSet, CoMPHypothesisSet_sequence_of, 1, maxnoofCoMPCells, FALSE); return offset; } static const per_sequence_t CoMPInformationItem_item_sequence[] = { { &hf_x2ap_coMPHypothesisSet, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CoMPHypothesisSet }, { &hf_x2ap_benefitMetric , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BenefitMetric }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CoMPInformationItem_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_x2ap_CoMPInformationItem_item, CoMPInformationItem_item_sequence); return offset; } static const per_sequence_t CoMPInformationItem_sequence_of[1] = { { &hf_x2ap_CoMPInformationItem_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CoMPInformationItem_item }, }; static int dissect_x2ap_CoMPInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CoMPInformationItem, CoMPInformationItem_sequence_of, 1, maxnoofCoMPHypothesisSet, FALSE); return offset; } static int dissect_x2ap_INTEGER_0_1023_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1023U, NULL, TRUE); return offset; } static int dissect_x2ap_INTEGER_0_9_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 9U, NULL, TRUE); return offset; } static const per_sequence_t CoMPInformationStartTime_item_sequence[] = { { &hf_x2ap_startSFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_1023_ }, { &hf_x2ap_startSubframeNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_9_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CoMPInformationStartTime_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_x2ap_CoMPInformationStartTime_item, CoMPInformationStartTime_item_sequence); return offset; } static const per_sequence_t CoMPInformationStartTime_sequence_of[1] = { { &hf_x2ap_CoMPInformationStartTime_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CoMPInformationStartTime_item }, }; static int dissect_x2ap_CoMPInformationStartTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CoMPInformationStartTime, CoMPInformationStartTime_sequence_of, 0, 1, FALSE); return offset; } static const per_sequence_t CoMPInformation_sequence[] = { { &hf_x2ap_coMPInformationItem, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CoMPInformationItem }, { &hf_x2ap_coMPInformationStartTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CoMPInformationStartTime }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CoMPInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CoMPInformation, CoMPInformation_sequence); return offset; } static const per_sequence_t CompositeAvailableCapacity_sequence[] = { { &hf_x2ap_cellCapacityClassValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CellCapacityClassValue }, { &hf_x2ap_capacityValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CapacityValue }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_CompositeAvailableCapacity, CompositeAvailableCapacity_sequence); return offset; } static const per_sequence_t CompositeAvailableCapacityGroup_sequence[] = { { &hf_x2ap_dL_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CompositeAvailableCapacity }, { &hf_x2ap_uL_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CompositeAvailableCapacity }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_CompositeAvailableCapacityGroup, CompositeAvailableCapacityGroup_sequence); return offset; } static int dissect_x2ap_Correlation_ID(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 int dissect_x2ap_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 int dissect_x2ap_HFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1048575U, NULL, FALSE); return offset; } static const per_sequence_t COUNTvalue_sequence[] = { { &hf_x2ap_pDCP_SN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PDCP_SN }, { &hf_x2ap_hFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_HFN }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_COUNTvalue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_COUNTvalue, COUNTvalue_sequence); return offset; } static int dissect_x2ap_PDCP_SNExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 32767U, NULL, FALSE); return offset; } static int dissect_x2ap_HFNModified(tvbuff_t *tvb _U_, int offset _U_, asn1_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, FALSE); return offset; } static const per_sequence_t COUNTValueExtended_sequence[] = { { &hf_x2ap_pDCP_SNExtended, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PDCP_SNExtended }, { &hf_x2ap_hFNModified , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_HFNModified }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_COUNTValueExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_COUNTValueExtended, COUNTValueExtended_sequence); return offset; } static int dissect_x2ap_PDCP_SNlength18(tvbuff_t *tvb _U_, int offset _U_, asn1_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); return offset; } static int dissect_x2ap_HFNforPDCP_SNlength18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 16383U, NULL, FALSE); return offset; } static const per_sequence_t COUNTvaluePDCP_SNlength18_sequence[] = { { &hf_x2ap_pDCP_SNlength18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PDCP_SNlength18 }, { &hf_x2ap_hFNforPDCP_SNlength18, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_HFNforPDCP_SNlength18 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_COUNTvaluePDCP_SNlength18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_COUNTvaluePDCP_SNlength18, COUNTvaluePDCP_SNlength18_sequence); return offset; } static int dissect_x2ap_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, TRUE); return offset; } static const per_sequence_t CoverageModification_Item_sequence[] = { { &hf_x2ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_coverageState , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_15_ }, { &hf_x2ap_cellDeploymentStatusIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CellDeploymentStatusIndicator }, { &hf_x2ap_cellReplacingInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CellReplacingInfo }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CoverageModification_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_x2ap_CoverageModification_Item, CoverageModification_Item_sequence); return offset; } static const per_sequence_t CoverageModificationList_sequence_of[1] = { { &hf_x2ap_CoverageModificationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CoverageModification_Item }, }; static int dissect_x2ap_CoverageModificationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CoverageModificationList, CoverageModificationList_sequence_of, 1, maxCellineNB, FALSE); return offset; } static int dissect_x2ap_Port_Number(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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); } return offset; } static const per_sequence_t TransportLayerAddressAndPort_sequence[] = { { &hf_x2ap_endpointIPAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress }, { &hf_x2ap_portnumber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Port_Number }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TransportLayerAddressAndPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_TransportLayerAddressAndPort, TransportLayerAddressAndPort_sequence); return offset; } static const value_string x2ap_CPTransportLayerInformation_vals[] = { { 0, "endpointIPAddress" }, { 1, "endpointIPAddressAndPort" }, { 0, NULL } }; static const per_choice_t CPTransportLayerInformation_choice[] = { { 0, &hf_x2ap_endpointIPAddress, ASN1_EXTENSION_ROOT , dissect_x2ap_TransportLayerAddress }, { 1, &hf_x2ap_endpointIPAddressAndPort, ASN1_EXTENSION_ROOT , dissect_x2ap_TransportLayerAddressAndPort }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_CPTransportLayerInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_CPTransportLayerInformation, CPTransportLayerInformation_choice, NULL); return offset; } static const value_string x2ap_TypeOfError_vals[] = { { 0, "not-understood" }, { 1, "missing" }, { 0, NULL } }; static int dissect_x2ap_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_List_item_sequence[] = { { &hf_x2ap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality }, { &hf_x2ap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_ID }, { &hf_x2ap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TypeOfError }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CriticalityDiagnostics_IE_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_x2ap_CriticalityDiagnostics_IE_List_item, CriticalityDiagnostics_IE_List_item_sequence); return offset; } static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = { { &hf_x2ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CriticalityDiagnostics_IE_List_item }, }; static int dissect_x2ap_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_x2ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of, 1, maxNrOfErrors, FALSE); return offset; } static const per_sequence_t CriticalityDiagnostics_sequence[] = { { &hf_x2ap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProcedureCode }, { &hf_x2ap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_TriggeringMessage }, { &hf_x2ap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Criticality }, { &hf_x2ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CriticalityDiagnostics_IE_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence); return offset; } static int dissect_x2ap_CRNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_CSGMembershipStatus_vals[] = { { 0, "member" }, { 1, "not-member" }, { 0, NULL } }; static int dissect_x2ap_CSGMembershipStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_x2ap_CSG_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, 27, 27, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_UEID(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 int dissect_x2ap_INTEGER_1_7_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 7U, NULL, TRUE); return offset; } static int dissect_x2ap_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 int dissect_x2ap_INTEGER_0_7_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 7U, NULL, TRUE); return offset; } static const value_string x2ap_WidebandCQICodeword1_vals[] = { { 0, "four-bitCQI" }, { 1, "three-bitSpatialDifferentialCQI" }, { 0, NULL } }; static const per_choice_t WidebandCQICodeword1_choice[] = { { 0, &hf_x2ap_four_bitCQI , ASN1_EXTENSION_ROOT , dissect_x2ap_INTEGER_0_15_ }, { 1, &hf_x2ap_three_bitSpatialDifferentialCQI, ASN1_EXTENSION_ROOT , dissect_x2ap_INTEGER_0_7_ }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_WidebandCQICodeword1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_WidebandCQICodeword1, WidebandCQICodeword1_choice, NULL); return offset; } static const per_sequence_t WidebandCQI_sequence[] = { { &hf_x2ap_widebandCQICodeword0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_15_ }, { &hf_x2ap_widebandCQICodeword1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_WidebandCQICodeword1 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_WidebandCQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_WidebandCQI, WidebandCQI_sequence); return offset; } static const value_string x2ap_SubbandSize_vals[] = { { 0, "size2" }, { 1, "size3" }, { 2, "size4" }, { 3, "size6" }, { 4, "size8" }, { 0, NULL } }; static int dissect_x2ap_SubbandSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, TRUE, 0, NULL); return offset; } static int dissect_x2ap_INTEGER_0_3_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3U, NULL, TRUE); return offset; } static const value_string x2ap_SubbandCQICodeword0_vals[] = { { 0, "four-bitCQI" }, { 1, "two-bitSubbandDifferentialCQI" }, { 2, "two-bitDifferentialCQI" }, { 0, NULL } }; static const per_choice_t SubbandCQICodeword0_choice[] = { { 0, &hf_x2ap_four_bitCQI , ASN1_EXTENSION_ROOT , dissect_x2ap_INTEGER_0_15_ }, { 1, &hf_x2ap_two_bitSubbandDifferentialCQI, ASN1_EXTENSION_ROOT , dissect_x2ap_INTEGER_0_3_ }, { 2, &hf_x2ap_two_bitDifferentialCQI, ASN1_EXTENSION_ROOT , dissect_x2ap_INTEGER_0_3_ }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_SubbandCQICodeword0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_SubbandCQICodeword0, SubbandCQICodeword0_choice, NULL); return offset; } static const value_string x2ap_SubbandCQICodeword1_vals[] = { { 0, "four-bitCQI" }, { 1, "three-bitSpatialDifferentialCQI" }, { 2, "two-bitSubbandDifferentialCQI" }, { 3, "two-bitDifferentialCQI" }, { 0, NULL } }; static const per_choice_t SubbandCQICodeword1_choice[] = { { 0, &hf_x2ap_four_bitCQI , ASN1_EXTENSION_ROOT , dissect_x2ap_INTEGER_0_15_ }, { 1, &hf_x2ap_three_bitSpatialDifferentialCQI, ASN1_EXTENSION_ROOT , dissect_x2ap_INTEGER_0_7_ }, { 2, &hf_x2ap_two_bitSubbandDifferentialCQI, ASN1_EXTENSION_ROOT , dissect_x2ap_INTEGER_0_3_ }, { 3, &hf_x2ap_two_bitDifferentialCQI, ASN1_EXTENSION_ROOT , dissect_x2ap_INTEGER_0_3_ }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_SubbandCQICodeword1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_SubbandCQICodeword1, SubbandCQICodeword1_choice, NULL); return offset; } static const per_sequence_t SubbandCQI_sequence[] = { { &hf_x2ap_subbandCQICodeword0, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubbandCQICodeword0 }, { &hf_x2ap_subbandCQICodeword1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SubbandCQICodeword1 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SubbandCQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SubbandCQI, SubbandCQI_sequence); return offset; } static int dissect_x2ap_INTEGER_0_27_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 27U, NULL, TRUE); return offset; } static const per_sequence_t SubbandCQIItem_sequence[] = { { &hf_x2ap_subbandCQI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubbandCQI }, { &hf_x2ap_subbandIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_27_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SubbandCQIItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SubbandCQIItem, SubbandCQIItem_sequence); return offset; } static const per_sequence_t SubbandCQIList_sequence_of[1] = { { &hf_x2ap_SubbandCQIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SubbandCQIItem }, }; static int dissect_x2ap_SubbandCQIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_SubbandCQIList, SubbandCQIList_sequence_of, 1, maxSubband, FALSE); return offset; } static const per_sequence_t CSIReportPerCSIProcessItem_item_sequence[] = { { &hf_x2ap_rI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_8_ }, { &hf_x2ap_widebandCQI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_WidebandCQI }, { &hf_x2ap_subbandSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubbandSize }, { &hf_x2ap_subbandCQIList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SubbandCQIList }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CSIReportPerCSIProcessItem_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_x2ap_CSIReportPerCSIProcessItem_item, CSIReportPerCSIProcessItem_item_sequence); return offset; } static const per_sequence_t CSIReportPerCSIProcessItem_sequence_of[1] = { { &hf_x2ap_CSIReportPerCSIProcessItem_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CSIReportPerCSIProcessItem_item }, }; static int dissect_x2ap_CSIReportPerCSIProcessItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CSIReportPerCSIProcessItem, CSIReportPerCSIProcessItem_sequence_of, 1, maxCSIReport, FALSE); return offset; } static const per_sequence_t CSIReportPerCSIProcess_item_sequence[] = { { &hf_x2ap_cSIProcessConfigurationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_7_ }, { &hf_x2ap_cSIReportPerCSIProcessItem, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CSIReportPerCSIProcessItem }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CSIReportPerCSIProcess_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_x2ap_CSIReportPerCSIProcess_item, CSIReportPerCSIProcess_item_sequence); return offset; } static const per_sequence_t CSIReportPerCSIProcess_sequence_of[1] = { { &hf_x2ap_CSIReportPerCSIProcess_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CSIReportPerCSIProcess_item }, }; static int dissect_x2ap_CSIReportPerCSIProcess(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CSIReportPerCSIProcess, CSIReportPerCSIProcess_sequence_of, 1, maxCSIProcess, FALSE); return offset; } static const per_sequence_t CSIReportList_item_sequence[] = { { &hf_x2ap_uEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UEID }, { &hf_x2ap_cSIReportPerCSIProcess, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CSIReportPerCSIProcess }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CSIReportList_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_x2ap_CSIReportList_item, CSIReportList_item_sequence); return offset; } static const per_sequence_t CSIReportList_sequence_of[1] = { { &hf_x2ap_CSIReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CSIReportList_item }, }; static int dissect_x2ap_CSIReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CSIReportList, CSIReportList_sequence_of, 1, maxUEReport, FALSE); return offset; } static const value_string x2ap_CHOtrigger_vals[] = { { 0, "cho-initiation" }, { 1, "cho-replace" }, { 0, NULL } }; static int dissect_x2ap_CHOtrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_UE_X2AP_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, 4095U, NULL, FALSE); return offset; } static int dissect_x2ap_UE_X2AP_ID_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_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 CHOinformation_REQ_sequence[] = { { &hf_x2ap_cho_trigger , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CHOtrigger }, { &hf_x2ap_new_eNB_UE_X2AP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UE_X2AP_ID }, { &hf_x2ap_new_eNB_UE_X2AP_ID_Extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UE_X2AP_ID_Extension }, { &hf_x2ap_cHO_EstimatedArrivalProbability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CHO_Probability }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CHOinformation_REQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CHOinformation_REQ, CHOinformation_REQ_sequence); return offset; } static int dissect_x2ap_MaxCHOpreparations(tvbuff_t *tvb _U_, int offset _U_, 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 CHOinformation_ACK_sequence[] = { { &hf_x2ap_requestedTargetCellID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_maxCHOpreparations, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MaxCHOpreparations }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CHOinformation_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CHOinformation_ACK, CHOinformation_ACK_sequence); return offset; } static const per_sequence_t CandidateCellsToBeCancelledList_sequence_of[1] = { { &hf_x2ap_CandidateCellsToBeCancelledList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, }; static int dissect_x2ap_CandidateCellsToBeCancelledList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_CandidateCellsToBeCancelledList, CandidateCellsToBeCancelledList_sequence_of, 1, maxnoofCellsinCHO, FALSE); return offset; } static int dissect_x2ap_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 int dissect_x2ap_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 28, 28, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 18, 18, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_BIT_STRING_SIZE_21(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, 21, 21, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_ENB_ID_vals[] = { { 0, "macro-eNB-ID" }, { 1, "home-eNB-ID" }, { 2, "short-Macro-eNB-ID" }, { 3, "long-Macro-eNB-ID" }, { 0, NULL } }; static const per_choice_t ENB_ID_choice[] = { { 0, &hf_x2ap_macro_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_20 }, { 1, &hf_x2ap_home_eNB_ID , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_28 }, { 2, &hf_x2ap_short_Macro_eNB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_x2ap_BIT_STRING_SIZE_18 }, { 3, &hf_x2ap_long_Macro_eNB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_x2ap_BIT_STRING_SIZE_21 }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_ENB_ID, ENB_ID_choice, NULL); return offset; } static const per_sequence_t GlobalENB_ID_sequence[] = { { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ENB_ID }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_GlobalENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_GlobalENB_ID, GlobalENB_ID_sequence); return offset; } static const per_sequence_t CHOinformation_AddReq_sequence[] = { { &hf_x2ap_source_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GlobalENB_ID }, { &hf_x2ap_source_eNB_UE_X2AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_X2AP_ID }, { &hf_x2ap_source_eNB_UE_X2AP_ID_Ext, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UE_X2AP_ID_Extension }, { &hf_x2ap_cHO_EstimatedArrivalProbability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CHO_Probability }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CHOinformation_AddReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CHOinformation_AddReq, CHOinformation_AddReq_sequence); return offset; } static const value_string x2ap_T_conditionalReconfig_vals[] = { { 0, "intra-mn-cho" }, { 0, NULL } }; static int dissect_x2ap_T_conditionalReconfig(tvbuff_t *tvb _U_, int offset _U_, asn1_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 CHOinformation_ModReq_sequence[] = { { &hf_x2ap_conditionalReconfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_conditionalReconfig }, { &hf_x2ap_cHO_EstimatedArrivalProbability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CHO_Probability }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CHOinformation_ModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CHOinformation_ModReq, CHOinformation_ModReq_sequence); return offset; } static const value_string x2ap_CSI_RSTransmissionIndication_vals[] = { { 0, "activated" }, { 1, "deactivated" }, { 0, NULL } }; static int dissect_x2ap_CSI_RSTransmissionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_DataTrafficResources(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, 17600, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1023U, NULL, FALSE); return offset; } static const per_sequence_t ULOnlySharing_sequence[] = { { &hf_x2ap_uLResourceBitmapULOnlySharing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DataTrafficResources }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ULOnlySharing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ULOnlySharing, ULOnlySharing_sequence); return offset; } static int dissect_x2ap_ULResourceBitmapULandDLSharing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_x2ap_DataTrafficResources(tvb, offset, actx, tree, hf_index); return offset; } static const value_string x2ap_ULResourcesULandDLSharing_vals[] = { { 0, "unchanged" }, { 1, "changed" }, { 0, NULL } }; static const per_choice_t ULResourcesULandDLSharing_choice[] = { { 0, &hf_x2ap_unchanged , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL }, { 1, &hf_x2ap_changed_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_ULResourceBitmapULandDLSharing }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_ULResourcesULandDLSharing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_ULResourcesULandDLSharing, ULResourcesULandDLSharing_choice, NULL); return offset; } static int dissect_x2ap_DLResourceBitmapULandDLSharing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_x2ap_DataTrafficResources(tvb, offset, actx, tree, hf_index); return offset; } static const value_string x2ap_DLResourcesULandDLSharing_vals[] = { { 0, "unchanged" }, { 1, "changed" }, { 0, NULL } }; static const per_choice_t DLResourcesULandDLSharing_choice[] = { { 0, &hf_x2ap_unchanged , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL }, { 1, &hf_x2ap_changed , ASN1_EXTENSION_ROOT , dissect_x2ap_DLResourceBitmapULandDLSharing }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_DLResourcesULandDLSharing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_DLResourcesULandDLSharing, DLResourcesULandDLSharing_choice, NULL); return offset; } static const per_sequence_t ULandDLSharing_sequence[] = { { &hf_x2ap_uLResourcesULandDLSharing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ULResourcesULandDLSharing }, { &hf_x2ap_dLResourcesULandDLSharing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DLResourcesULandDLSharing }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ULandDLSharing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ULandDLSharing, ULandDLSharing_sequence); return offset; } static const value_string x2ap_SharedResourceType_vals[] = { { 0, "uLOnlySharing" }, { 1, "uLandDLSharing" }, { 0, NULL } }; static const per_choice_t SharedResourceType_choice[] = { { 0, &hf_x2ap_uLOnlySharing , ASN1_EXTENSION_ROOT , dissect_x2ap_ULOnlySharing }, { 1, &hf_x2ap_uLandDLSharing , ASN1_EXTENSION_ROOT , dissect_x2ap_ULandDLSharing }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_SharedResourceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_SharedResourceType, SharedResourceType_choice, NULL); return offset; } static const value_string x2ap_SubframeType_vals[] = { { 0, "mbsfn" }, { 1, "nonmbsfn" }, { 0, NULL } }; static int dissect_x2ap_SubframeType(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_BIT_STRING_SIZE_10_160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 10, 160, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_T_mBSFNControlRegionLength_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3U, NULL, FALSE); proto_item_append_text(actx->created_item, " REs"); return offset; } static const per_sequence_t ReservedSubframePattern_sequence[] = { { &hf_x2ap_subframeType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubframeType }, { &hf_x2ap_reservedSubframePattern_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_10_160 }, { &hf_x2ap_mBSFNControlRegionLength_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_mBSFNControlRegionLength_01 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ReservedSubframePattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ReservedSubframePattern, ReservedSubframePattern_sequence); return offset; } static const per_sequence_t DataTrafficResourceIndication_sequence[] = { { &hf_x2ap_activationSFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_1023 }, { &hf_x2ap_sharedResourceType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SharedResourceType }, { &hf_x2ap_reservedSubframePattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ReservedSubframePattern }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_DataTrafficResourceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_DataTrafficResourceIndication, DataTrafficResourceIndication_sequence); return offset; } static const value_string x2ap_T_dAPSIndicator_vals[] = { { 0, "daps-HO-required" }, { 0, NULL } }; static int dissect_x2ap_T_dAPSIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 DAPSRequestInfo_sequence[] = { { &hf_x2ap_dAPSIndicator , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_dAPSIndicator }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_DAPSRequestInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_DAPSRequestInfo, DAPSRequestInfo_sequence); return offset; } static const value_string x2ap_T_dAPSResponseIndicator_vals[] = { { 0, "daps-HO-accepted" }, { 1, "daps-HO-not-accepted" }, { 0, NULL } }; static int dissect_x2ap_T_dAPSResponseIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 DAPSResponseInfo_sequence[] = { { &hf_x2ap_dAPSResponseIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_dAPSResponseIndicator }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_DAPSResponseInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_DAPSResponseInfo, DAPSResponseInfo_sequence); return offset; } static const value_string x2ap_DeactivationIndication_vals[] = { { 0, "deactivated" }, { 0, NULL } }; static int dissect_x2ap_DeactivationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 4095U, NULL, FALSE); return offset; } static const per_sequence_t DeliveryStatus_sequence[] = { { &hf_x2ap_highestSuccessDeliveredPDCPSN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4095 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_DeliveryStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_DeliveryStatus, DeliveryStatus_sequence); return offset; } static const value_string x2ap_DesiredActNotificationLevel_vals[] = { { 0, "none" }, { 1, "e-rab" }, { 2, "ue-level" }, { 0, NULL } }; static int dissect_x2ap_DesiredActNotificationLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_DirectForwardingPathAvailability_vals[] = { { 0, "direct-path-available" }, { 0, NULL } }; static int dissect_x2ap_DirectForwardingPathAvailability(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_DL_Forwarding_vals[] = { { 0, "dL-forwardingProposed" }, { 0, NULL } }; static int dissect_x2ap_DL_Forwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_DL_GBR_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_DL_GBR_PRB_usage_for_MIMO(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_DL_non_GBR_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_DL_non_GBR_PRB_usage_for_MIMO(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_DL_scheduling_PDCCH_CCE_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_DL_Total_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_DL_Total_PRB_usage_for_MIMO(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_DRB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 32U, NULL, FALSE); return offset; } static const value_string x2ap_DuplicationActivation_vals[] = { { 0, "active" }, { 1, "inactive" }, { 0, NULL } }; static int dissect_x2ap_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); return offset; } static int dissect_x2ap_T_transmissionModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); if(parameter_tvb){ static int * const fields[] = { &hf_x2ap_MDT_transmissionModes_tm1, &hf_x2ap_MDT_transmissionModes_tm2, &hf_x2ap_MDT_transmissionModes_tm3, &hf_x2ap_MDT_transmissionModes_tm4, &hf_x2ap_MDT_transmissionModes_tm6, &hf_x2ap_MDT_transmissionModes_tm8, &hf_x2ap_MDT_transmissionModes_tm9, &hf_x2ap_MDT_transmissionModes_tm10, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_transmissionModes); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN); } return offset; } static int dissect_x2ap_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3U, NULL, FALSE); return offset; } static const value_string x2ap_PA_Values_vals[] = { { 0, "dB-6" }, { 1, "dB-4dot77" }, { 2, "dB-3" }, { 3, "dB-1dot77" }, { 4, "dB0" }, { 5, "dB1" }, { 6, "dB2" }, { 7, "dB3" }, { 0, NULL } }; static int dissect_x2ap_PA_Values(tvbuff_t *tvb _U_, int offset _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 SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values_sequence_of[1] = { { &hf_x2ap_pA_list_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PA_Values }, }; static int dissect_x2ap_SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values, SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values_sequence_of, 0, maxnoofPA, FALSE); return offset; } static const per_sequence_t DynamicNAICSInformation_sequence[] = { { &hf_x2ap_transmissionModes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_transmissionModes }, { &hf_x2ap_pB_information , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_3 }, { &hf_x2ap_pA_list , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_DynamicNAICSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_DynamicNAICSInformation, DynamicNAICSInformation_sequence); return offset; } static const value_string x2ap_DynamicDLTransmissionInformation_vals[] = { { 0, "naics-active" }, { 1, "naics-inactive" }, { 0, NULL } }; static const per_choice_t DynamicDLTransmissionInformation_choice[] = { { 0, &hf_x2ap_naics_active , ASN1_EXTENSION_ROOT , dissect_x2ap_DynamicNAICSInformation }, { 1, &hf_x2ap_naics_inactive , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_DynamicDLTransmissionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_DynamicDLTransmissionInformation, DynamicDLTransmissionInformation_choice, NULL); return offset; } static int dissect_x2ap_EARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxEARFCN, NULL, FALSE); return offset; } static int dissect_x2ap_EARFCNExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, maxEARFCNPlusOne, newmaxEARFCN, NULL, TRUE); return offset; } static int dissect_x2ap_EndcSONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_EndcSONConfigurationTransfer); dissect_s1ap_EN_DCSONConfigurationTransfer_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_BIT_STRING_SIZE_12_8800_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 12, 8800, TRUE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_RNTP_Threshold_vals[] = { { 0, "minusInfinity" }, { 1, "minusEleven" }, { 2, "minusTen" }, { 3, "minusNine" }, { 4, "minusEight" }, { 5, "minusSeven" }, { 6, "minusSix" }, { 7, "minusFive" }, { 8, "minusFour" }, { 9, "minusThree" }, { 10, "minusTwo" }, { 11, "minusOne" }, { 12, "zero" }, { 13, "one" }, { 14, "two" }, { 15, "three" }, { 0, NULL } }; static int dissect_x2ap_RNTP_Threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, TRUE, 0, NULL); return offset; } static const per_sequence_t EnhancedRNTPStartTime_sequence[] = { { &hf_x2ap_startSFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_1023_ }, { &hf_x2ap_startSubframeNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_9_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_EnhancedRNTPStartTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_EnhancedRNTPStartTime, EnhancedRNTPStartTime_sequence); return offset; } static const per_sequence_t EnhancedRNTP_sequence[] = { { &hf_x2ap_enhancedRNTPBitmap, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_12_8800_ }, { &hf_x2ap_rNTP_High_Power_Threshold, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RNTP_Threshold }, { &hf_x2ap_enhancedRNTPStartTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_EnhancedRNTPStartTime }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_EnhancedRNTP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_EnhancedRNTP, EnhancedRNTP_sequence); return offset; } static int dissect_x2ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); if(parameter_tvb){ static int * const fields[] = { &hf_x2ap_encryptionAlgorithms_EEA1, &hf_x2ap_encryptionAlgorithms_EEA2, &hf_x2ap_encryptionAlgorithms_EEA3, &hf_x2ap_encryptionAlgorithms_Reserved, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_EncryptionAlgorithms); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN); } return offset; } static const value_string x2ap_T_pDCPatSgNB_vals[] = { { 0, "present" }, { 1, "not-present" }, { 0, NULL } }; static int dissect_x2ap_T_pDCPatSgNB(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_T_mCGresources_vals[] = { { 0, "present" }, { 1, "not-present" }, { 0, NULL } }; static int dissect_x2ap_T_mCGresources(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_T_sCGresources_vals[] = { { 0, "present" }, { 1, "not-present" }, { 0, NULL } }; static int dissect_x2ap_T_sCGresources(tvbuff_t *tvb _U_, int offset _U_, asn1_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 EN_DC_ResourceConfiguration_sequence[] = { { &hf_x2ap_pDCPatSgNB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_pDCPatSgNB }, { &hf_x2ap_mCGresources , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_mCGresources }, { &hf_x2ap_sCGresources , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_sCGresources }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_EN_DC_ResourceConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_EN_DC_ResourceConfiguration, EN_DC_ResourceConfiguration_sequence); return offset; } static int dissect_x2ap_EPCHandoverRestrictionListContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_EPCHandoverRestrictionListContainer); dissect_s1ap_HandoverRestrictionList_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static const per_sequence_t EPLMNs_sequence_of[1] = { { &hf_x2ap_EPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, }; static int dissect_x2ap_EPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_EPLMNs, EPLMNs_sequence_of, 1, maxnoofEPLMNs, FALSE); return offset; } static int dissect_x2ap_E_RAB_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, 15U, NULL, TRUE); return offset; } static const value_string x2ap_UserPlaneTrafficActivityReport_vals[] = { { 0, "inactive" }, { 1, "re-activated" }, { 0, NULL } }; static int dissect_x2ap_UserPlaneTrafficActivityReport(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ERABActivityNotifyItem_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_activityReport , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UserPlaneTrafficActivityReport }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ERABActivityNotifyItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ERABActivityNotifyItem, ERABActivityNotifyItem_sequence); return offset; } static const per_sequence_t ERABActivityNotifyItemList_sequence_of[1] = { { &hf_x2ap_ERABActivityNotifyItemList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ERABActivityNotifyItem }, }; static int dissect_x2ap_ERABActivityNotifyItemList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ERABActivityNotifyItemList, ERABActivityNotifyItemList_sequence_of, 0, maxnoofBearers, FALSE); return offset; } static int dissect_x2ap_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_x2ap_e_RAB_MaximumBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, { &hf_x2ap_e_RAB_MaximumBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, { &hf_x2ap_e_RAB_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, { &hf_x2ap_e_RAB_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_GBR_QosInformation, GBR_QosInformation_sequence); return offset; } static const per_sequence_t E_RAB_Level_QoS_Parameters_sequence[] = { { &hf_x2ap_qCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_QCI }, { &hf_x2ap_allocationAndRetentionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AllocationAndRetentionPriority }, { &hf_x2ap_gbrQosInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GBR_QosInformation }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RAB_Level_QoS_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RAB_Level_QoS_Parameters, E_RAB_Level_QoS_Parameters_sequence); return offset; } static const per_sequence_t E_RAB_List_sequence_of[1] = { { &hf_x2ap_E_RAB_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RAB_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_x2ap_E_RAB_List, E_RAB_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RAB_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RAB_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_x2ap_E_RAB_Item, E_RAB_Item_sequence); return offset; } static const per_sequence_t E_RABsSubjectToEarlyStatusTransfer_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_fIRST_DL_COUNTValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue }, { &hf_x2ap_fIRST_DL_COUNTValueExtended, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_COUNTValueExtended }, { &hf_x2ap_fIRST_DL_COUNTValueforPDCPSNLength18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_COUNTvaluePDCP_SNlength18 }, { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABsSubjectToEarlyStatusTransfer_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_x2ap_E_RABsSubjectToEarlyStatusTransfer_Item, E_RABsSubjectToEarlyStatusTransfer_Item_sequence); return offset; } static const per_sequence_t E_RABsSubjectToEarlyStatusTransfer_List_sequence_of[1] = { { &hf_x2ap_E_RABsSubjectToEarlyStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABsSubjectToEarlyStatusTransfer_Item }, }; static int dissect_x2ap_E_RABsSubjectToEarlyStatusTransfer_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_x2ap_E_RABsSubjectToEarlyStatusTransfer_List, E_RABsSubjectToEarlyStatusTransfer_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABsSubjectToDLDiscarding_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_dISCARD_DL_COUNTValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue }, { &hf_x2ap_dISCARD_DL_COUNTValueExtended, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_COUNTValueExtended }, { &hf_x2ap_dISCARD_DL_COUNTValueforPDCPSNLength18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_COUNTvaluePDCP_SNlength18 }, { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABsSubjectToDLDiscarding_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_x2ap_E_RABsSubjectToDLDiscarding_Item, E_RABsSubjectToDLDiscarding_Item_sequence); return offset; } static const per_sequence_t E_RABsSubjectToDLDiscarding_List_sequence_of[1] = { { &hf_x2ap_E_RABsSubjectToDLDiscarding_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABsSubjectToDLDiscarding_Item }, }; static int dissect_x2ap_E_RABsSubjectToDLDiscarding_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_x2ap_E_RABsSubjectToDLDiscarding_List, E_RABsSubjectToDLDiscarding_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABUsageReportList_sequence_of[1] = { { &hf_x2ap_E_RABUsageReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABUsageReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABUsageReportList, E_RABUsageReportList_sequence_of, 1, maxnooftimeperiods, FALSE); return offset; } static int dissect_x2ap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *timestamp_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, ×tamp_tvb); if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } return offset; } static int dissect_x2ap_T_endTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *timestamp_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, ×tamp_tvb); if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } return offset; } static int dissect_x2ap_INTEGER_0_18446744073709551615(tvbuff_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(18446744073709551615), NULL, FALSE); return offset; } static const per_sequence_t E_RABUsageReport_Item_sequence[] = { { &hf_x2ap_startTimeStamp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_startTimeStamp }, { &hf_x2ap_endTimeStamp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_endTimeStamp }, { &hf_x2ap_usageCountUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_18446744073709551615 }, { &hf_x2ap_usageCountDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_18446744073709551615 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABUsageReport_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_x2ap_E_RABUsageReport_Item, E_RABUsageReport_Item_sequence); return offset; } static const value_string x2ap_Ethernet_Type_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_Ethernet_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_Transmission_Bandwidth_vals[] = { { 0, "bw6" }, { 1, "bw15" }, { 2, "bw25" }, { 3, "bw50" }, { 4, "bw75" }, { 5, "bw100" }, { 6, "bw1" }, { 0, NULL } }; static int dissect_x2ap_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, 1, NULL); return offset; } static const per_sequence_t FDD_Info_sequence[] = { { &hf_x2ap_uL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN }, { &hf_x2ap_dL_EARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN }, { &hf_x2ap_uL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth }, { &hf_x2ap_dL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_FDD_Info, FDD_Info_sequence); return offset; } static const value_string x2ap_SubframeAssignment_vals[] = { { 0, "sa0" }, { 1, "sa1" }, { 2, "sa2" }, { 3, "sa3" }, { 4, "sa4" }, { 5, "sa5" }, { 6, "sa6" }, { 0, NULL } }; static int dissect_x2ap_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 value_string x2ap_SpecialSubframePatterns_vals[] = { { 0, "ssp0" }, { 1, "ssp1" }, { 2, "ssp2" }, { 3, "ssp3" }, { 4, "ssp4" }, { 5, "ssp5" }, { 6, "ssp6" }, { 7, "ssp7" }, { 8, "ssp8" }, { 0, NULL } }; static int dissect_x2ap_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, 9, NULL, TRUE, 0, NULL); return offset; } static const per_sequence_t SpecialSubframe_Info_sequence[] = { { &hf_x2ap_specialSubframePatterns, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SpecialSubframePatterns }, { &hf_x2ap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixDL }, { &hf_x2ap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CyclicPrefixUL }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_SpecialSubframe_Info, SpecialSubframe_Info_sequence); return offset; } static const per_sequence_t TDD_Info_sequence[] = { { &hf_x2ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN }, { &hf_x2ap_transmission_Bandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Transmission_Bandwidth }, { &hf_x2ap_subframeAssignment, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubframeAssignment }, { &hf_x2ap_specialSubframe_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SpecialSubframe_Info }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_TDD_Info, TDD_Info_sequence); return offset; } static const value_string x2ap_EUTRA_Mode_Info_vals[] = { { 0, "fDD" }, { 1, "tDD" }, { 0, NULL } }; static const per_choice_t EUTRA_Mode_Info_choice[] = { { 0, &hf_x2ap_fDD , ASN1_EXTENSION_ROOT , dissect_x2ap_FDD_Info }, { 1, &hf_x2ap_tDD , ASN1_EXTENSION_ROOT , dissect_x2ap_TDD_Info }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_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_x2ap_EUTRA_Mode_Info, EUTRA_Mode_Info_choice, NULL); return offset; } static int dissect_x2ap_EUTRANTraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_EUTRANTraceID); dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE); proto_tree_add_item(subtree, hf_x2ap_eUTRANTraceID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN); proto_tree_add_item(subtree, hf_x2ap_eUTRANTraceID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN); return offset; } static const value_string x2ap_EventType_vals[] = { { 0, "change-of-serving-cell" }, { 0, NULL } }; static int dissect_x2ap_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, 1, NULL, TRUE, 0, NULL); return offset; } static int dissect_x2ap_ExpectedActivityPeriod(tvbuff_t *tvb _U_, int offset _U_, 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, 181U, NULL, TRUE); return offset; } static int dissect_x2ap_ExpectedIdlePeriod(tvbuff_t *tvb _U_, int offset _U_, 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, 181U, NULL, TRUE); return offset; } static const value_string x2ap_SourceOfUEActivityBehaviourInformation_vals[] = { { 0, "subscription-information" }, { 1, "statistics" }, { 0, NULL } }; static int dissect_x2ap_SourceOfUEActivityBehaviourInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ExpectedUEActivityBehaviour_sequence[] = { { &hf_x2ap_expectedActivityPeriod, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ExpectedActivityPeriod }, { &hf_x2ap_expectedIdlePeriod, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ExpectedIdlePeriod }, { &hf_x2ap_sourceofUEActivityBehaviourInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SourceOfUEActivityBehaviourInformation }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ExpectedUEActivityBehaviour(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ExpectedUEActivityBehaviour, ExpectedUEActivityBehaviour_sequence); return offset; } static const value_string x2ap_ExpectedHOInterval_vals[] = { { 0, "sec15" }, { 1, "sec30" }, { 2, "sec60" }, { 3, "sec90" }, { 4, "sec120" }, { 5, "sec180" }, { 6, "long-time" }, { 0, NULL } }; static int dissect_x2ap_ExpectedHOInterval(tvbuff_t *tvb _U_, int offset _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 ExpectedUEBehaviour_sequence[] = { { &hf_x2ap_expectedActivity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ExpectedUEActivityBehaviour }, { &hf_x2ap_expectedHOInterval, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ExpectedHOInterval }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ExpectedUEBehaviour(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ExpectedUEBehaviour, ExpectedUEBehaviour_sequence); return offset; } static int dissect_x2ap_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 5, 5, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_UL_InterferenceOverloadIndication_Item_vals[] = { { 0, "high-interference" }, { 1, "medium-interference" }, { 2, "low-interference" }, { 0, NULL } }; static int dissect_x2ap_UL_InterferenceOverloadIndication_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const per_sequence_t UL_InterferenceOverloadIndication_sequence_of[1] = { { &hf_x2ap_UL_InterferenceOverloadIndication_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_InterferenceOverloadIndication_Item }, }; static int dissect_x2ap_UL_InterferenceOverloadIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_UL_InterferenceOverloadIndication, UL_InterferenceOverloadIndication_sequence_of, 1, maxnoofPRBs, FALSE); return offset; } static const per_sequence_t ExtendedULInterferenceOverloadInfo_sequence[] = { { &hf_x2ap_associatedSubframes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_5 }, { &hf_x2ap_extended_ul_InterferenceOverloadIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_InterferenceOverloadIndication }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ExtendedULInterferenceOverloadInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ExtendedULInterferenceOverloadInfo, ExtendedULInterferenceOverloadInfo_sequence); return offset; } static int dissect_x2ap_ExtendedBitRate(tvbuff_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, 10000000001U, G_GUINT64_CONSTANT(4000000000000), NULL, TRUE); return offset; } static int dissect_x2ap_F1CTrafficContainer(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_x2ap_RRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; switch (x2ap_data->rrc_container_type) { case RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT: subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer); dissect_nr_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); break; case RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB: subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer); dissect_lte_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); break; case RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB: subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer); dissect_lte_rrc_DL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); break; default: break; } x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_UNKNOWN; return offset; } static const per_sequence_t FastMCGRecovery_sequence[] = { { &hf_x2ap_rrcContainer , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RRCContainer }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_FastMCGRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); if (x2ap_data->protocol_ie_id == id_FastMCGRecovery_SN_to_MN) x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB; else if (x2ap_data->protocol_ie_id == id_FastMCGRecovery_MN_to_SN) x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_FastMCGRecovery, FastMCGRecovery_sequence); return offset; } static int dissect_x2ap_INTEGER_0_3279165(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3279165U, NULL, FALSE); return offset; } static int dissect_x2ap_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 SupportedSULFreqBandItem_sequence[] = { { &hf_x2ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_1024_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_SupportedSULFreqBandItem, SupportedSULFreqBandItem_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem_sequence_of[1] = { { &hf_x2ap_supportedSULBandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SupportedSULFreqBandItem }, }; static int dissect_x2ap_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_x2ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem, SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem_sequence_of, 0, maxnoofNrCellBands, FALSE); return offset; } static const per_sequence_t FreqBandNrItem_sequence[] = { { &hf_x2ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_1024_ }, { &hf_x2ap_supportedSULBandList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_FreqBandNrItem, FreqBandNrItem_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem_sequence_of[1] = { { &hf_x2ap_freqBandListNr_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_FreqBandNrItem }, }; static int dissect_x2ap_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_x2ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem, SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem_sequence_of, 1, maxnoofNrCellBands, FALSE); return offset; } static const value_string x2ap_NRSCS_vals[] = { { 0, "scs15" }, { 1, "scs30" }, { 2, "scs60" }, { 3, "scs120" }, { 0, NULL } }; static int dissect_x2ap_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 x2ap_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" }, { 29, "nrb44" }, { 30, "nrb58" }, { 31, "nrb92" }, { 32, "nrb119" }, { 33, "nrb188" }, { 34, "nrb242" }, { 0, NULL } }; static value_string_ext x2ap_NRNRB_vals_ext = VALUE_STRING_EXT_INIT(x2ap_NRNRB_vals); static int dissect_x2ap_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, 6, NULL); return offset; } static const per_sequence_t NR_TxBW_sequence[] = { { &hf_x2ap_nRSCS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRSCS }, { &hf_x2ap_nRNRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRNRB }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NR_TxBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NR_TxBW, NR_TxBW_sequence); return offset; } static const per_sequence_t SULInformation_sequence[] = { { &hf_x2ap_sUL_ARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_3279165 }, { &hf_x2ap_sUL_TxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NR_TxBW }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SULInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SULInformation, SULInformation_sequence); return offset; } static const per_sequence_t NRFreqInfo_sequence[] = { { &hf_x2ap_nRARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_3279165 }, { &hf_x2ap_freqBandListNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem }, { &hf_x2ap_sULInformation , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SULInformation }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_NRFreqInfo, NRFreqInfo_sequence); return offset; } static const per_sequence_t FDD_InfoNeighbourServedNRCell_Information_sequence[] = { { &hf_x2ap_ul_NRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRFreqInfo }, { &hf_x2ap_dl_NRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRFreqInfo }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_FDD_InfoNeighbourServedNRCell_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_x2ap_FDD_InfoNeighbourServedNRCell_Information, FDD_InfoNeighbourServedNRCell_Information_sequence); return offset; } static int dissect_x2ap_FiveQI(tvbuff_t *tvb _U_, int offset _U_, asn1_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 value_string x2ap_ForbiddenInterRATs_vals[] = { { 0, "all" }, { 1, "geran" }, { 2, "utran" }, { 3, "cdma2000" }, { 4, "geranandutran" }, { 5, "cdma2000andutran" }, { 0, NULL } }; static int dissect_x2ap_ForbiddenInterRATs(tvbuff_t *tvb _U_, int offset _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, 2, NULL); return offset; } static const per_sequence_t ForbiddenTACs_sequence_of[1] = { { &hf_x2ap_ForbiddenTACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC }, }; static int dissect_x2ap_ForbiddenTACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ForbiddenTACs, ForbiddenTACs_sequence_of, 1, maxnoofForbTACs, FALSE); return offset; } static const per_sequence_t ForbiddenTAs_Item_sequence[] = { { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_forbiddenTACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTACs }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ForbiddenTAs_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_x2ap_ForbiddenTAs_Item, ForbiddenTAs_Item_sequence); return offset; } static const per_sequence_t ForbiddenTAs_sequence_of[1] = { { &hf_x2ap_ForbiddenTAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenTAs_Item }, }; static int dissect_x2ap_ForbiddenTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ForbiddenTAs, ForbiddenTAs_sequence_of, 1, maxnoofEPLMNsPlusOne, FALSE); return offset; } static int dissect_x2ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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); } return offset; } static const per_sequence_t ForbiddenLACs_sequence_of[1] = { { &hf_x2ap_ForbiddenLACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LAC }, }; static int dissect_x2ap_ForbiddenLACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ForbiddenLACs, ForbiddenLACs_sequence_of, 1, maxnoofForbLACs, FALSE); return offset; } static const per_sequence_t ForbiddenLAs_Item_sequence[] = { { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_forbiddenLACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLACs }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ForbiddenLAs_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_x2ap_ForbiddenLAs_Item, ForbiddenLAs_Item_sequence); return offset; } static const per_sequence_t ForbiddenLAs_sequence_of[1] = { { &hf_x2ap_ForbiddenLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ForbiddenLAs_Item }, }; static int dissect_x2ap_ForbiddenLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ForbiddenLAs, ForbiddenLAs_sequence_of, 1, maxnoofEPLMNsPlusOne, FALSE); return offset; } static int dissect_x2ap_Fourframes(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_x2ap_FreqBandIndicator(tvbuff_t *tvb _U_, int offset _U_, 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 x2ap_FreqBandIndicatorPriority_vals[] = { { 0, "not-broadcasted" }, { 1, "broadcasted" }, { 0, NULL } }; static int dissect_x2ap_FreqBandIndicatorPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_FrequencyShift7p5khz_vals[] = { { 0, "false" }, { 1, "true" }, { 0, NULL } }; static int dissect_x2ap_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 value_string x2ap_Global_RAN_NODE_ID_vals[] = { { 0, "gNB" }, { 1, "choice-extension" }, { 0, NULL } }; static const per_choice_t Global_RAN_NODE_ID_choice[] = { { 0, &hf_x2ap_gNB , ASN1_NO_EXTENSIONS , dissect_x2ap_GlobalGNB_ID }, { 1, &hf_x2ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_x2ap_ProtocolIE_Single_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_Global_RAN_NODE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_Global_RAN_NODE_ID, Global_RAN_NODE_ID_choice, NULL); return offset; } static const value_string x2ap_GNBOverloadInformation_vals[] = { { 0, "overloaded" }, { 1, "not-overloaded" }, { 0, NULL } }; static int dissect_x2ap_GNBOverloadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_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 GTPTLA_Item_sequence[] = { { &hf_x2ap_gTPTransportLayerAddresses, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_GTPTLA_Item, GTPTLA_Item_sequence); return offset; } static const per_sequence_t GTPTLAs_sequence_of[1] = { { &hf_x2ap_GTPTLAs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPTLA_Item }, }; static int dissect_x2ap_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_x2ap_GTPTLAs, GTPTLAs_sequence_of, 1, maxnoofGTPTLAs, FALSE); return offset; } static int dissect_x2ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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); } return offset; } static const per_sequence_t GU_Group_ID_sequence[] = { { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_mME_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Group_ID }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_GU_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_GU_Group_ID, GU_Group_ID_sequence); return offset; } static const per_sequence_t GUGroupIDList_sequence_of[1] = { { &hf_x2ap_GUGroupIDList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID }, }; static int dissect_x2ap_GUGroupIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_GUGroupIDList, GUGroupIDList_sequence_of, 1, maxPools, FALSE); return offset; } static int dissect_x2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 1, 1, 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 per_sequence_t GUMMEI_sequence[] = { { &hf_x2ap_gU_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID }, { &hf_x2ap_mME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Code }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); x2ap_data->number_type = E212_GUMMEI; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_GUMMEI, GUMMEI_sequence); return offset; } static const value_string x2ap_HandoverReportType_vals[] = { { 0, "hoTooEarly" }, { 1, "hoToWrongCell" }, { 2, "interRATpingpong" }, { 3, "interSystemPingpong" }, { 0, NULL } }; static int dissect_x2ap_HandoverReportType(tvbuff_t *tvb _U_, int offset _U_, asn1_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 per_sequence_t HandoverRestrictionList_sequence[] = { { &hf_x2ap_servingPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_equivalentPLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_EPLMNs }, { &hf_x2ap_forbiddenTAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenTAs }, { &hf_x2ap_forbiddenLAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenLAs }, { &hf_x2ap_forbiddenInterRATs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ForbiddenInterRATs }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_HandoverRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_HandoverRestrictionList, HandoverRestrictionList_sequence); return offset; } static const value_string x2ap_LoadIndicator_vals[] = { { 0, "lowLoad" }, { 1, "mediumLoad" }, { 2, "highLoad" }, { 3, "overLoad" }, { 0, NULL } }; static int dissect_x2ap_LoadIndicator(tvbuff_t *tvb _U_, int offset _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 HWLoadIndicator_sequence[] = { { &hf_x2ap_dLHWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator }, { &hf_x2ap_uLHWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_HWLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_HWLoadIndicator, HWLoadIndicator_sequence); return offset; } static const value_string x2ap_IABNodeIndication_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_IABNodeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_IMSvoiceEPSfallbackfrom5G_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_IMSvoiceEPSfallbackfrom5G(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); if(parameter_tvb){ static int * const fields[] = { &hf_x2ap_integrityProtectionAlgorithms_EIA1, &hf_x2ap_integrityProtectionAlgorithms_EIA2, &hf_x2ap_integrityProtectionAlgorithms_EIA3, &hf_x2ap_integrityProtectionAlgorithms_EIA7, &hf_x2ap_integrityProtectionAlgorithms_Reserved, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_IntegrityProtectionAlgorithms); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN); } return offset; } static const value_string x2ap_IntegrityProtectionIndication_vals[] = { { 0, "required" }, { 1, "preferred" }, { 2, "notneeded" }, { 0, NULL } }; static int dissect_x2ap_IntegrityProtectionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_IntegrityProtectionResult_vals[] = { { 0, "performed" }, { 1, "notperformed" }, { 0, NULL } }; static int dissect_x2ap_IntegrityProtectionResult(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_IntendedTDD_DL_ULConfiguration_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_IntendedTDD_DL_ULConfiguration_NR); dissect_xnap_IntendedTDD_DL_ULConfiguration_NR_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_InterfaceInstanceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); if(parameter_tvb){ static int * const fields[] = { &hf_x2ap_interfacesToTrace_S1_MME, &hf_x2ap_interfacesToTrace_X2, &hf_x2ap_interfacesToTrace_Uu, &hf_x2ap_interfacesToTrace_F1_C, &hf_x2ap_interfacesToTrace_E1, &hf_x2ap_interfacesToTrace_Reserved, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_InterfacesToTrace); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN); } return offset; } static const value_string x2ap_InvokeIndication_vals[] = { { 0, "abs-information" }, { 1, "naics-information-start" }, { 2, "naics-information-stop" }, { 0, NULL } }; static int dissect_x2ap_InvokeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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, 2, NULL); return offset; } static int dissect_x2ap_LastVisitedPSCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_LastVisitedPSCell_Item); dissect_s1ap_PSCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_Time_UE_StayedInCell(tvbuff_t *tvb _U_, int offset _U_, asn1_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 per_sequence_t LastVisitedEUTRANCellInformation_sequence[] = { { &hf_x2ap_global_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_cellType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellType }, { &hf_x2ap_time_UE_StayedInCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Time_UE_StayedInCell }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_LastVisitedEUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_LastVisitedEUTRANCellInformation, LastVisitedEUTRANCellInformation_sequence); return offset; } static int dissect_x2ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_LastVisitedUTRANCellInformation); dissect_ranap_LastVisitedUTRANCell_Item_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static const value_string x2ap_LastVisitedGERANCellInformation_vals[] = { { 0, "undefined" }, { 0, NULL } }; static const per_choice_t LastVisitedGERANCellInformation_choice[] = { { 0, &hf_x2ap_undefined , ASN1_EXTENSION_ROOT , dissect_x2ap_NULL }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_LastVisitedGERANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_LastVisitedGERANCellInformation, LastVisitedGERANCellInformation_choice, NULL); return offset; } static int dissect_x2ap_LastVisitedNGRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_LastVisitedNGRANCellInformation); dissect_ngap_LastVisitedNGRANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static const value_string x2ap_LastVisitedCell_Item_vals[] = { { 0, "e-UTRAN-Cell" }, { 1, "uTRAN-Cell" }, { 2, "gERAN-Cell" }, { 3, "nG-RAN-Cell" }, { 0, NULL } }; static const per_choice_t LastVisitedCell_Item_choice[] = { { 0, &hf_x2ap_e_UTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedEUTRANCellInformation }, { 1, &hf_x2ap_uTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedUTRANCellInformation }, { 2, &hf_x2ap_gERAN_Cell , ASN1_EXTENSION_ROOT , dissect_x2ap_LastVisitedGERANCellInformation }, { 3, &hf_x2ap_nG_RAN_Cell , ASN1_NOT_EXTENSION_ROOT, dissect_x2ap_LastVisitedNGRANCellInformation }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_LastVisitedCell_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_x2ap_LastVisitedCell_Item, LastVisitedCell_Item_choice, NULL); return offset; } static int dissect_x2ap_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); return offset; } static int dissect_x2ap_LHN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 32, 256, FALSE, ¶meter_tvb); actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA); return offset; } static const value_string x2ap_Links_to_log_vals[] = { { 0, "uplink" }, { 1, "downlink" }, { 2, "both-uplink-and-downlink" }, { 0, NULL } }; static int dissect_x2ap_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 LocationInformationSgNB_sequence[] = { { &hf_x2ap_pSCell_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_LocationInformationSgNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_LocationInformationSgNB, LocationInformationSgNB_sequence); return offset; } static const value_string x2ap_LocationInformationSgNBReporting_vals[] = { { 0, "pSCell" }, { 0, NULL } }; static int dissect_x2ap_LocationInformationSgNBReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_ReportArea_vals[] = { { 0, "ecgi" }, { 0, NULL } }; static int dissect_x2ap_ReportArea(tvbuff_t *tvb _U_, int offset _U_, asn1_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 LocationReportingInformation_sequence[] = { { &hf_x2ap_eventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EventType }, { &hf_x2ap_reportArea , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportArea }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_LocationReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_LocationReportingInformation, LocationReportingInformation_sequence); return offset; } static const value_string x2ap_LowerLayerPresenceStatusChange_vals[] = { { 0, "release-lower-layers" }, { 1, "re-establish-lower-layers" }, { 2, "suspend-lower-layers" }, { 3, "resume-lower-layers" }, { 0, NULL } }; static int dissect_x2ap_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, 4, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_ReportIntervalMDT_vals[] = { { 0, "ms120" }, { 1, "ms240" }, { 2, "ms480" }, { 3, "ms640" }, { 4, "ms1024" }, { 5, "ms2048" }, { 6, "ms5120" }, { 7, "ms10240" }, { 8, "min1" }, { 9, "min6" }, { 10, "min12" }, { 11, "min30" }, { 12, "min60" }, { 0, NULL } }; static int dissect_x2ap_ReportIntervalMDT(tvbuff_t *tvb _U_, int offset _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, FALSE, 0, NULL); return offset; } static const value_string x2ap_ReportAmountMDT_vals[] = { { 0, "r1" }, { 1, "r2" }, { 2, "r4" }, { 3, "r8" }, { 4, "r16" }, { 5, "r32" }, { 6, "r64" }, { 7, "rinfinity" }, { 0, NULL } }; static int dissect_x2ap_ReportAmountMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t M1PeriodicReporting_sequence[] = { { &hf_x2ap_reportInterval , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportIntervalMDT }, { &hf_x2ap_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ReportAmountMDT }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_M1PeriodicReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_M1PeriodicReporting, M1PeriodicReporting_sequence); return offset; } static const value_string x2ap_M1ReportingTrigger_vals[] = { { 0, "periodic" }, { 1, "a2eventtriggered" }, { 2, "a2eventtriggered-periodic" }, { 0, NULL } }; static int dissect_x2ap_M1ReportingTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_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, 1, NULL); return offset; } static int dissect_x2ap_Threshold_RSRP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 97U, NULL, FALSE); return offset; } static int dissect_x2ap_Threshold_RSRQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 34U, NULL, FALSE); return offset; } static const value_string x2ap_MeasurementThresholdA2_vals[] = { { 0, "threshold-RSRP" }, { 1, "threshold-RSRQ" }, { 0, NULL } }; static const per_choice_t MeasurementThresholdA2_choice[] = { { 0, &hf_x2ap_threshold_RSRP , ASN1_EXTENSION_ROOT , dissect_x2ap_Threshold_RSRP }, { 1, &hf_x2ap_threshold_RSRQ , ASN1_EXTENSION_ROOT , dissect_x2ap_Threshold_RSRQ }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_MeasurementThresholdA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_MeasurementThresholdA2, MeasurementThresholdA2_choice, NULL); return offset; } static const per_sequence_t M1ThresholdEventA2_sequence[] = { { &hf_x2ap_measurementThreshold, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementThresholdA2 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_M1ThresholdEventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_M1ThresholdEventA2, M1ThresholdEventA2_sequence); return offset; } static const value_string x2ap_M3period_vals[] = { { 0, "ms100" }, { 1, "ms1000" }, { 2, "ms10000" }, { 0, NULL } }; static int dissect_x2ap_M3period(tvbuff_t *tvb _U_, int offset _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 M3Configuration_sequence[] = { { &hf_x2ap_m3period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_M3period }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_M3Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_M3Configuration, M3Configuration_sequence); return offset; } static const value_string x2ap_M4period_vals[] = { { 0, "ms1024" }, { 1, "ms2048" }, { 2, "ms5120" }, { 3, "ms10240" }, { 4, "min1" }, { 0, NULL } }; static int dissect_x2ap_M4period(tvbuff_t *tvb _U_, int offset _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 M4Configuration_sequence[] = { { &hf_x2ap_m4period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_M4period }, { &hf_x2ap_m4_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Links_to_log }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_M4Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_M4Configuration, M4Configuration_sequence); return offset; } static const value_string x2ap_M5period_vals[] = { { 0, "ms1024" }, { 1, "ms2048" }, { 2, "ms5120" }, { 3, "ms10240" }, { 4, "min1" }, { 0, NULL } }; static int dissect_x2ap_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 M5Configuration_sequence[] = { { &hf_x2ap_m5period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_M5period }, { &hf_x2ap_m5_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Links_to_log }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_M5Configuration, M5Configuration_sequence); return offset; } static const value_string x2ap_M6report_interval_vals[] = { { 0, "ms1024" }, { 1, "ms2048" }, { 2, "ms5120" }, { 3, "ms10240" }, { 0, NULL } }; static int dissect_x2ap_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, 4, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_M6delay_threshold_vals[] = { { 0, "ms30" }, { 1, "ms40" }, { 2, "ms50" }, { 3, "ms60" }, { 4, "ms70" }, { 5, "ms80" }, { 6, "ms90" }, { 7, "ms100" }, { 8, "ms150" }, { 9, "ms300" }, { 10, "ms500" }, { 11, "ms750" }, { 0, NULL } }; static int dissect_x2ap_M6delay_threshold(tvbuff_t *tvb _U_, int offset _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 per_sequence_t M6Configuration_sequence[] = { { &hf_x2ap_m6report_interval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_M6report_interval }, { &hf_x2ap_m6delay_threshold, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_M6delay_threshold }, { &hf_x2ap_m6_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Links_to_log }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_M6Configuration, M6Configuration_sequence); return offset; } static int dissect_x2ap_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 M7Configuration_sequence[] = { { &hf_x2ap_m7period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_M7period }, { &hf_x2ap_m7_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Links_to_log }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_M7Configuration, M7Configuration_sequence); return offset; } static const value_string x2ap_MakeBeforeBreakIndicator_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_MakeBeforeBreakIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_ManagementBasedMDTallowed_vals[] = { { 0, "allowed" }, { 0, NULL } }; static int dissect_x2ap_ManagementBasedMDTallowed(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_Masked_IMEISV(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 x2ap_MDT_Activation_vals[] = { { 0, "immediate-MDT-only" }, { 1, "immediate-MDT-and-Trace" }, { 0, NULL } }; static int dissect_x2ap_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 int dissect_x2ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); if(parameter_tvb){ static int * const fields[] = { &hf_x2ap_measurementsToActivate_M1, &hf_x2ap_measurementsToActivate_M2, &hf_x2ap_measurementsToActivate_M3, &hf_x2ap_measurementsToActivate_M4, &hf_x2ap_measurementsToActivate_M5, &hf_x2ap_measurementsToActivate_LoggingM1FromEventTriggered, &hf_x2ap_measurementsToActivate_M6, &hf_x2ap_measurementsToActivate_M7, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MeasurementsToActivate); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN); } return offset; } static const per_sequence_t MDT_Configuration_sequence[] = { { &hf_x2ap_mdt_Activation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MDT_Activation }, { &hf_x2ap_areaScopeOfMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AreaScopeOfMDT }, { &hf_x2ap_measurementsToActivate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementsToActivate }, { &hf_x2ap_m1reportingTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_M1ReportingTrigger }, { &hf_x2ap_m1thresholdeventA2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_M1ThresholdEventA2 }, { &hf_x2ap_m1periodicReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_M1PeriodicReporting }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_MDT_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_x2ap_MDT_Configuration, MDT_Configuration_sequence); return offset; } static const per_sequence_t MDTPLMNList_sequence_of[1] = { { &hf_x2ap_MDTPLMNList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, }; static int dissect_x2ap_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_x2ap_MDTPLMNList, MDTPLMNList_sequence_of, 1, maxnoofMDTPLMNs, FALSE); return offset; } static int dissect_x2ap_MDT_Location_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); if(parameter_tvb){ static int * const fields[] = { &hf_x2ap_MDT_Location_Info_GNSS, &hf_x2ap_MDT_Location_Info_E_CID, &hf_x2ap_MDT_Location_Info_Reserved, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MDT_Location_Info); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN); } return offset; } static int dissect_x2ap_Measurement_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 4095U, NULL, TRUE); return offset; } static int dissect_x2ap_Measurement_ID_ENDC(tvbuff_t *tvb _U_, int offset _U_, 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, 4095U, NULL, TRUE); return offset; } static const value_string x2ap_MeNBCoordinationAssistanceInformation_vals[] = { { 0, "coordination-not-required" }, { 0, NULL } }; static int dissect_x2ap_MeNBCoordinationAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_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 MeNBResourceCoordinationInformation_sequence[] = { { &hf_x2ap_eUTRA_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_uLCoordinationInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_4400_ }, { &hf_x2ap_dLCoordinationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BIT_STRING_SIZE_6_4400_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_MeNBResourceCoordinationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_MeNBResourceCoordinationInformation, MeNBResourceCoordinationInformation_sequence); return offset; } static int dissect_x2ap_MeNBtoSeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MeNBtoSeNBContainer); dissect_lte_rrc_SCG_ConfigInfo_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL); return offset; } static int dissect_x2ap_MBMS_Service_Area_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 2, 2, FALSE, NULL); return offset; } static const per_sequence_t MBMS_Service_Area_Identity_List_sequence_of[1] = { { &hf_x2ap_MBMS_Service_Area_Identity_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_MBMS_Service_Area_Identity }, }; static int dissect_x2ap_MBMS_Service_Area_Identity_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_x2ap_MBMS_Service_Area_Identity_List, MBMS_Service_Area_Identity_List_sequence_of, 1, maxnoofMBMSServiceAreaIdentities, FALSE); return offset; } static const value_string x2ap_RadioframeAllocationPeriod_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 0, NULL } }; static int dissect_x2ap_RadioframeAllocationPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, TRUE, 0, NULL); return offset; } static int dissect_x2ap_RadioframeAllocationOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 7U, NULL, TRUE); return offset; } static int dissect_x2ap_Oneframe(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 value_string x2ap_SubframeAllocation_vals[] = { { 0, "oneframe" }, { 1, "fourframes" }, { 0, NULL } }; static const per_choice_t SubframeAllocation_choice[] = { { 0, &hf_x2ap_oneframe , ASN1_EXTENSION_ROOT , dissect_x2ap_Oneframe }, { 1, &hf_x2ap_fourframes , ASN1_EXTENSION_ROOT , dissect_x2ap_Fourframes }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_SubframeAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_SubframeAllocation, SubframeAllocation_choice, NULL); return offset; } static const per_sequence_t MBSFN_Subframe_Info_sequence[] = { { &hf_x2ap_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RadioframeAllocationPeriod }, { &hf_x2ap_radioframeAllocationOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RadioframeAllocationOffset }, { &hf_x2ap_subframeAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubframeAllocation }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_MBSFN_Subframe_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_x2ap_MBSFN_Subframe_Info, MBSFN_Subframe_Info_sequence); return offset; } static const per_sequence_t MBSFN_Subframe_Infolist_sequence_of[1] = { { &hf_x2ap_MBSFN_Subframe_Infolist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_MBSFN_Subframe_Info }, }; static int dissect_x2ap_MBSFN_Subframe_Infolist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_MBSFN_Subframe_Infolist, MBSFN_Subframe_Infolist_sequence_of, 1, maxnoofMBSFN, FALSE); return offset; } static int dissect_x2ap_MDT_ConfigurationNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MDT_ConfigurationNR); dissect_ngap_MDT_Configuration_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_INTEGER_M20_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -20, 20U, NULL, FALSE); return offset; } static const per_sequence_t MobilityParametersModificationRange_sequence[] = { { &hf_x2ap_handoverTriggerChangeLowerLimit, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 }, { &hf_x2ap_handoverTriggerChangeUpperLimit, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_MobilityParametersModificationRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_MobilityParametersModificationRange, MobilityParametersModificationRange_sequence); return offset; } static const per_sequence_t MobilityParametersInformation_sequence[] = { { &hf_x2ap_handoverTriggerChange, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_MobilityParametersInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_MobilityParametersInformation, MobilityParametersInformation_sequence); return offset; } static const per_sequence_t BandInfo_sequence[] = { { &hf_x2ap_freqBandIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_FreqBandIndicator }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_BandInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_BandInfo, BandInfo_sequence); return offset; } static const per_sequence_t MultibandInfoList_sequence_of[1] = { { &hf_x2ap_MultibandInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_BandInfo }, }; static int dissect_x2ap_MultibandInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_MultibandInfoList, MultibandInfoList_sequence_of, 1, maxnoofBands, FALSE); return offset; } static int dissect_x2ap_MaximumCellListSize(tvbuff_t *tvb _U_, int offset _U_, 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, 16384U, NULL, TRUE); return offset; } static const per_sequence_t MessageOversizeNotification_sequence[] = { { &hf_x2ap_maximumCellListSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MaximumCellListSize }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_MessageOversizeNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_MessageOversizeNotification, MessageOversizeNotification_sequence); return offset; } static int dissect_x2ap_MeNBtoSgNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MeNBtoSgNBContainer); if ((x2ap_data->procedure_code == id_sgNBReconfigurationCompletion && x2ap_data->message_type == INITIATING_MESSAGE) || (x2ap_data->procedure_code == id_sgNBinitiatedSgNBModification && x2ap_data->message_type == SUCCESSFUL_OUTCOME)) { dissect_nr_rrc_RRCReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } else { dissect_nr_rrc_CG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static const value_string x2ap_SplitSRBs_vals[] = { { 0, "srb1" }, { 1, "srb2" }, { 2, "srb1and2" }, { 0, NULL } }; static int dissect_x2ap_SplitSRBs(tvbuff_t *tvb _U_, int offset _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_x2ap_T_rrcContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_PDCP_C_PDU; offset = dissect_x2ap_RRCContainer(tvb, offset, actx, tree, hf_index); return offset; } static const value_string x2ap_SRBType_vals[] = { { 0, "srb1" }, { 1, "srb2" }, { 0, NULL } }; static int dissect_x2ap_SRBType(tvbuff_t *tvb _U_, int offset _U_, asn1_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 SplitSRB_sequence[] = { { &hf_x2ap_rrcContainer_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_rrcContainer }, { &hf_x2ap_srbType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SRBType }, { &hf_x2ap_deliveryStatus , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DeliveryStatus }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SplitSRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SplitSRB, SplitSRB_sequence); return offset; } static const value_string x2ap_NBIoT_UL_DL_AlignmentOffset_vals[] = { { 0, "khz-7dot5" }, { 1, "khz0" }, { 2, "khz7dot5" }, { 0, NULL } }; static int dissect_x2ap_NBIoT_UL_DL_AlignmentOffset(tvbuff_t *tvb _U_, int offset _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_x2ap_NBIoT_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NBIoT_RLF_Report_Container); dissect_lte_rrc_RLF_Report_NB_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL); return offset; } static int dissect_x2ap_PCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 503U, NULL, TRUE); return offset; } static const per_sequence_t Neighbour_Information_item_sequence[] = { { &hf_x2ap_eCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_pCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PCI }, { &hf_x2ap_eARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EARFCN }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_Neighbour_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_x2ap_Neighbour_Information_item, Neighbour_Information_item_sequence); return offset; } static const per_sequence_t Neighbour_Information_sequence_of[1] = { { &hf_x2ap_Neighbour_Information_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Neighbour_Information_item }, }; static int dissect_x2ap_Neighbour_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_Neighbour_Information, Neighbour_Information_sequence_of, 0, maxnoofNeighbours, FALSE); return offset; } static const value_string x2ap_NewDRBIDrequest_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_NewDRBIDrequest(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_Number_of_Antennaports_vals[] = { { 0, "an1" }, { 1, "an2" }, { 2, "an4" }, { 0, NULL } }; static int dissect_x2ap_Number_of_Antennaports(tvbuff_t *tvb _U_, int offset _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_x2ap_INTEGER_0_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 100U, NULL, FALSE); return offset; } static int dissect_x2ap_SSBIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 63U, NULL, FALSE); return offset; } static const per_sequence_t SSBAreaCapacityValue_Item_sequence[] = { { &hf_x2ap_ssbIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBIndex }, { &hf_x2ap_ssbAreaCapacityValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SSBAreaCapacityValue_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_x2ap_SSBAreaCapacityValue_Item, SSBAreaCapacityValue_Item_sequence); return offset; } static const per_sequence_t SSBAreaCapacityValue_List_sequence_of[1] = { { &hf_x2ap_SSBAreaCapacityValue_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBAreaCapacityValue_Item }, }; static int dissect_x2ap_SSBAreaCapacityValue_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_x2ap_SSBAreaCapacityValue_List, SSBAreaCapacityValue_List_sequence_of, 1, maxnoofSSBAreas, FALSE); return offset; } static const per_sequence_t NRCapacityValue_sequence[] = { { &hf_x2ap_capacityValue_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, { &hf_x2ap_ssbAreaCapacityValue_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SSBAreaCapacityValue_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NRCapacityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NRCapacityValue, NRCapacityValue_sequence); return offset; } static int dissect_x2ap_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 int dissect_x2ap_INTEGER_0_maxnoofNRPhysicalResourceBlocks_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxnoofNRPhysicalResourceBlocks, NULL, TRUE); return offset; } static const per_sequence_t NRCarrierItem_sequence[] = { { &hf_x2ap_carrierSCS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRSCS }, { &hf_x2ap_offsetToCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_2199_ }, { &hf_x2ap_carrierBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_maxnoofNRPhysicalResourceBlocks_ }, { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_NRCarrierItem, NRCarrierItem_sequence); return offset; } static const per_sequence_t NRCarrierList_sequence_of[1] = { { &hf_x2ap_NRCarrierList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCarrierItem }, }; static int dissect_x2ap_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_x2ap_NRCarrierList, NRCarrierList_sequence_of, 1, maxnoofNRSCSs, FALSE); return offset; } static int dissect_x2ap_NRCellCapacityClassValue(tvbuff_t *tvb _U_, int offset _U_, 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 int dissect_x2ap_NRCellPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 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; } static const per_sequence_t NRCompositeAvailableCapacity_sequence[] = { { &hf_x2ap_cellCapacityClassValue_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRCellCapacityClassValue }, { &hf_x2ap_capacityValue_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCapacityValue }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NRCompositeAvailableCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NRCompositeAvailableCapacity, NRCompositeAvailableCapacity_sequence); return offset; } static const per_sequence_t NRCompositeAvailableCapacityGroup_sequence[] = { { &hf_x2ap_compositeAvailableCapacityDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCompositeAvailableCapacity }, { &hf_x2ap_compositeAvailableCapacityUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCompositeAvailableCapacity }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NRCompositeAvailableCapacityGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NRCompositeAvailableCapacityGroup, NRCompositeAvailableCapacityGroup_sequence); return offset; } static int dissect_x2ap_NRRACHReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRRACHReportContainer); dissect_nr_rrc_RA_ReportList_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_SgNB_UE_X2AP_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 NRRACHReportList_Item_sequence[] = { { &hf_x2ap_nRRACHReport , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRRACHReportContainer }, { &hf_x2ap_uEAssitantIdentifier, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SgNB_UE_X2AP_ID }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NRRACHReportList_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_x2ap_NRRACHReportList_Item, NRRACHReportList_Item_sequence); return offset; } static const per_sequence_t NRRACHReportInformation_sequence_of[1] = { { &hf_x2ap_NRRACHReportInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_NRRACHReportList_Item }, }; static int dissect_x2ap_NRRACHReportInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_NRRACHReportInformation, NRRACHReportInformation_sequence_of, 1, maxnoofRACHReports, FALSE); return offset; } static int dissect_x2ap_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, 1007U, NULL, FALSE); return offset; } static int dissect_x2ap_T_measurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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_x2ap_measurementTimingConfiguration); dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL); } return offset; } static const per_sequence_t TDD_InfoNeighbourServedNRCell_Information_sequence[] = { { &hf_x2ap_nRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRFreqInfo }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TDD_InfoNeighbourServedNRCell_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_x2ap_TDD_InfoNeighbourServedNRCell_Information, TDD_InfoNeighbourServedNRCell_Information_sequence); return offset; } static const value_string x2ap_T_nRNeighbourModeInfo_vals[] = { { 0, "fdd" }, { 1, "tdd" }, { 0, NULL } }; static const per_choice_t T_nRNeighbourModeInfo_choice[] = { { 0, &hf_x2ap_fdd_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_FDD_InfoNeighbourServedNRCell_Information }, { 1, &hf_x2ap_tdd_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_TDD_InfoNeighbourServedNRCell_Information }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_nRNeighbourModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_nRNeighbourModeInfo, T_nRNeighbourModeInfo_choice, NULL); return offset; } static const per_sequence_t NRNeighbour_Information_item_sequence[] = { { &hf_x2ap_nrpCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRPCI }, { &hf_x2ap_nrCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_fiveGS_TAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_FiveGS_TAC }, { &hf_x2ap_configured_TAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_TAC }, { &hf_x2ap_measurementTimingConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_measurementTimingConfiguration }, { &hf_x2ap_nRNeighbourModeInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_nRNeighbourModeInfo }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NRNeighbour_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_x2ap_NRNeighbour_Information_item, NRNeighbour_Information_item_sequence); return offset; } static const per_sequence_t NRNeighbour_Information_sequence_of[1] = { { &hf_x2ap_NRNeighbour_Information_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_NRNeighbour_Information_item }, }; static int dissect_x2ap_NRNeighbour_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_NRNeighbour_Information, NRNeighbour_Information_sequence_of, 1, maxofNRNeighbours, FALSE); return offset; } static const value_string x2ap_NPRACH_CP_Length_vals[] = { { 0, "us66dot7" }, { 1, "us266dot7" }, { 0, NULL } }; static int dissect_x2ap_NPRACH_CP_Length(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, TRUE, 0, NULL); return offset; } static int dissect_x2ap_T_anchorCarrier_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_NPRACHConfig); dissect_lte_rrc_NPRACH_ParametersList_NB_r13_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_T_anchorCarrier_EDT_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_EDT_NPRACHConfig); dissect_lte_rrc_NPRACH_ParametersList_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_T_anchorCarrier_Format2_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_Format2_NPRACHConfig); dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_T_anchorCarrier_Format2_EDT_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig); dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_T_non_anchorCarrier_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_NPRACHConfig); dissect_lte_rrc_UL_ConfigCommonList_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_T_non_anchorCarrier_Format2_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig); dissect_lte_rrc_UL_ConfigCommonList_NB_v1530_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static const per_sequence_t NPRACHConfiguration_FDD_sequence[] = { { &hf_x2ap_nprach_CP_length, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NPRACH_CP_Length }, { &hf_x2ap_anchorCarrier_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_anchorCarrier_NPRACHConfig }, { &hf_x2ap_anchorCarrier_EDT_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_anchorCarrier_EDT_NPRACHConfig }, { &hf_x2ap_anchorCarrier_Format2_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_anchorCarrier_Format2_NPRACHConfig }, { &hf_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_anchorCarrier_Format2_EDT_NPRACHConfig }, { &hf_x2ap_non_anchorCarrier_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_non_anchorCarrier_NPRACHConfig }, { &hf_x2ap_non_anchorCarrier_Format2_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_non_anchorCarrier_Format2_NPRACHConfig }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NPRACHConfiguration_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NPRACHConfiguration_FDD, NPRACHConfiguration_FDD_sequence); return offset; } static const value_string x2ap_NPRACH_preambleFormat_vals[] = { { 0, "fmt0" }, { 1, "fmt1" }, { 2, "fmt2" }, { 3, "fmt0a" }, { 4, "fmt1a" }, { 0, NULL } }; static int dissect_x2ap_NPRACH_preambleFormat(tvbuff_t *tvb _U_, int offset _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_x2ap_T_anchorCarrier_NPRACHConfigTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_NPRACHConfigTDD); dissect_lte_rrc_NPRACH_ParametersListTDD_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_Non_anchorCarrierFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_Non_anchorCarrierFrequency); dissect_lte_rrc_DL_CarrierConfigCommon_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static const per_sequence_t Non_AnchorCarrierFrequencylist_item_sequence[] = { { &hf_x2ap_non_anchorCarrioerFrquency, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Non_anchorCarrierFrequency }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_Non_AnchorCarrierFrequencylist_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_x2ap_Non_AnchorCarrierFrequencylist_item, Non_AnchorCarrierFrequencylist_item_sequence); return offset; } static const per_sequence_t Non_AnchorCarrierFrequencylist_sequence_of[1] = { { &hf_x2ap_Non_AnchorCarrierFrequencylist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Non_AnchorCarrierFrequencylist_item }, }; static int dissect_x2ap_Non_AnchorCarrierFrequencylist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_Non_AnchorCarrierFrequencylist, Non_AnchorCarrierFrequencylist_sequence_of, 1, maxnoofNonAnchorCarrierFreqConfig, FALSE); return offset; } static int dissect_x2ap_T_non_anchorCarrier_NPRACHConfigTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_NPRACHConfigTDD); dissect_lte_rrc_UL_ConfigCommonListTDD_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static const per_sequence_t NPRACHConfiguration_TDD_sequence[] = { { &hf_x2ap_nprach_preambleFormat, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NPRACH_preambleFormat }, { &hf_x2ap_anchorCarrier_NPRACHConfigTDD, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_anchorCarrier_NPRACHConfigTDD }, { &hf_x2ap_non_anchorCarrierFequencyConfiglist, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Non_AnchorCarrierFrequencylist }, { &hf_x2ap_non_anchorCarrier_NPRACHConfigTDD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_non_anchorCarrier_NPRACHConfigTDD }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NPRACHConfiguration_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NPRACHConfiguration_TDD, NPRACHConfiguration_TDD_sequence); return offset; } static const value_string x2ap_T_fdd_or_tdd_vals[] = { { 0, "fdd" }, { 1, "tdd" }, { 0, NULL } }; static const per_choice_t T_fdd_or_tdd_choice[] = { { 0, &hf_x2ap_fdd_02 , ASN1_EXTENSION_ROOT , dissect_x2ap_NPRACHConfiguration_FDD }, { 1, &hf_x2ap_tdd_02 , ASN1_EXTENSION_ROOT , dissect_x2ap_NPRACHConfiguration_TDD }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_fdd_or_tdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_fdd_or_tdd, T_fdd_or_tdd_choice, NULL); return offset; } static const per_sequence_t NPRACHConfiguration_sequence[] = { { &hf_x2ap_fdd_or_tdd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_fdd_or_tdd }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NPRACHConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NPRACHConfiguration, NPRACHConfiguration_sequence); return offset; } static const value_string x2ap_NRrestrictioninEPSasSecondaryRAT_vals[] = { { 0, "nRrestrictedinEPSasSecondaryRAT" }, { 0, NULL } }; static int dissect_x2ap_NRrestrictioninEPSasSecondaryRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_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 MeasurementResultforNRCellsPossiblyAggregated_Item_sequence[] = { { &hf_x2ap_cellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_nrCompositeAvailableCapacityGroup, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRCompositeAvailableCapacityGroup }, { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_MeasurementResultforNRCellsPossiblyAggregated_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_x2ap_MeasurementResultforNRCellsPossiblyAggregated_Item, MeasurementResultforNRCellsPossiblyAggregated_Item_sequence); return offset; } static const per_sequence_t MeasurementResultforNRCellsPossiblyAggregated_sequence_of[1] = { { &hf_x2ap_MeasurementResultforNRCellsPossiblyAggregated_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementResultforNRCellsPossiblyAggregated_Item }, }; static int dissect_x2ap_MeasurementResultforNRCellsPossiblyAggregated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_MeasurementResultforNRCellsPossiblyAggregated, MeasurementResultforNRCellsPossiblyAggregated_sequence_of, 1, maxnoofReportedNRCellsPossiblyAggregated, FALSE); return offset; } static const per_sequence_t SSBAreaRadioResourceStatus_Item_sequence[] = { { &hf_x2ap_ssbIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBIndex }, { &hf_x2ap_ssbAreaDLGBRPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, { &hf_x2ap_ssbAreaULGBRPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, { &hf_x2ap_ssbAreaDLNonGBRPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, { &hf_x2ap_ssbAreaULNonGBRPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, { &hf_x2ap_ssbAreaDLTotalPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, { &hf_x2ap_ssbAreaULTotalPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, { &hf_x2ap_ssbAreaDLSchedulingPDCCHCCEUsage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_100 }, { &hf_x2ap_ssbAreaULSchedulingPDCCHCCEUsage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_100 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SSBAreaRadioResourceStatus_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_x2ap_SSBAreaRadioResourceStatus_Item, SSBAreaRadioResourceStatus_Item_sequence); return offset; } static const per_sequence_t SSBAreaRadioResourceStatus_List_sequence_of[1] = { { &hf_x2ap_SSBAreaRadioResourceStatus_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBAreaRadioResourceStatus_Item }, }; static int dissect_x2ap_SSBAreaRadioResourceStatus_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_x2ap_SSBAreaRadioResourceStatus_List, SSBAreaRadioResourceStatus_List_sequence_of, 1, maxnoofSSBAreas, FALSE); return offset; } static const per_sequence_t NRRadioResourceStatus_sequence[] = { { &hf_x2ap_ssbAreaRadioResourceStatus_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBAreaRadioResourceStatus_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NRRadioResourceStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NRRadioResourceStatus, NRRadioResourceStatus_sequence); return offset; } static int dissect_x2ap_UL_GBR_PRB_usage_for_MIMO(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_UL_non_GBR_PRB_usage_for_MIMO(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_UL_Total_PRB_usage_for_MIMO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 100U, NULL, FALSE); return offset; } static const per_sequence_t MIMOPRBusageInformation_sequence[] = { { &hf_x2ap_dl_GBR_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_GBR_PRB_usage_for_MIMO }, { &hf_x2ap_ul_GBR_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_GBR_PRB_usage_for_MIMO }, { &hf_x2ap_dl_non_GBR_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_non_GBR_PRB_usage_for_MIMO }, { &hf_x2ap_ul_non_GBR_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_non_GBR_PRB_usage_for_MIMO }, { &hf_x2ap_dl_Total_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_Total_PRB_usage_for_MIMO }, { &hf_x2ap_ul_Total_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_Total_PRB_usage_for_MIMO }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_MIMOPRBusageInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_MIMOPRBusageInformation, MIMOPRBusageInformation_sequence); return offset; } static const value_string x2ap_NRrestrictionin5GS_vals[] = { { 0, "nRrestrictedin5GS" }, { 0, NULL } }; static int dissect_x2ap_NRrestrictionin5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_NRencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); if (parameter_tvb) { static int * const fields[] = { &hf_x2ap_NRencryptionAlgorithms_NEA1, &hf_x2ap_NRencryptionAlgorithms_NEA2, &hf_x2ap_NRencryptionAlgorithms_NEA3, &hf_x2ap_NRencryptionAlgorithms_Reserved, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRencryptionAlgorithms); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN); } return offset; } static int dissect_x2ap_NRintegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); if (parameter_tvb) { static int * const fields[] = { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA1, &hf_x2ap_NRintegrityProtectionAlgorithms_NIA2, &hf_x2ap_NRintegrityProtectionAlgorithms_NIA3, &hf_x2ap_NRintegrityProtectionAlgorithms_Reserved, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRintegrityProtectionAlgorithms); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN); } return offset; } static const value_string x2ap_NRS_NSSS_PowerOffset_vals[] = { { 0, "minusThree" }, { 1, "zero" }, { 2, "three" }, { 0, NULL } }; static int dissect_x2ap_NRS_NSSS_PowerOffset(tvbuff_t *tvb _U_, int offset _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_x2ap_T_uENRMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT; offset = dissect_x2ap_RRCContainer(tvb, offset, actx, tree, hf_index); return offset; } static const per_sequence_t NRUeReport_sequence[] = { { &hf_x2ap_uENRMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_uENRMeasurements }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NRUeReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NRUeReport, NRUeReport_sequence); return offset; } static const per_sequence_t NRUESidelinkAggregateMaximumBitRate_sequence[] = { { &hf_x2ap_uESidelinkAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_NRUESidelinkAggregateMaximumBitRate, NRUESidelinkAggregateMaximumBitRate_sequence); return offset; } static const per_sequence_t NRUESecurityCapabilities_sequence[] = { { &hf_x2ap_nRencryptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRencryptionAlgorithms }, { &hf_x2ap_nRintegrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRintegrityProtectionAlgorithms }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_NRUESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_NRUESecurityCapabilities, NRUESecurityCapabilities_sequence); return offset; } static const value_string x2ap_NSSS_NumOccasionDifferentPrecoder_vals[] = { { 0, "two" }, { 1, "four" }, { 2, "eight" }, { 0, NULL } }; static int dissect_x2ap_NSSS_NumOccasionDifferentPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_VehicleUE_vals[] = { { 0, "authorized" }, { 1, "not-authorized" }, { 0, NULL } }; static int dissect_x2ap_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 value_string x2ap_PedestrianUE_vals[] = { { 0, "authorized" }, { 1, "not-authorized" }, { 0, NULL } }; static int dissect_x2ap_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 NRV2XServicesAuthorized_sequence[] = { { &hf_x2ap_vehicleUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_VehicleUE }, { &hf_x2ap_pedestrianUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_PedestrianUE }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_NRV2XServicesAuthorized, NRV2XServicesAuthorized_sequence); return offset; } static const value_string x2ap_OffsetOfNbiotChannelNumberToEARFCN_vals[] = { { 0, "minusTen" }, { 1, "minusNine" }, { 2, "minusEight" }, { 3, "minusSeven" }, { 4, "minusSix" }, { 5, "minusFive" }, { 6, "minusFour" }, { 7, "minusThree" }, { 8, "minusTwo" }, { 9, "minusOne" }, { 10, "minusZeroDotFive" }, { 11, "zero" }, { 12, "one" }, { 13, "two" }, { 14, "three" }, { 15, "four" }, { 16, "five" }, { 17, "six" }, { 18, "seven" }, { 19, "eight" }, { 20, "nine" }, { 21, "minusEightDotFive" }, { 22, "minusFourDotFive" }, { 23, "threeDotFive" }, { 24, "sevenDotFive" }, { 0, NULL } }; static value_string_ext x2ap_OffsetOfNbiotChannelNumberToEARFCN_vals_ext = VALUE_STRING_EXT_INIT(x2ap_OffsetOfNbiotChannelNumberToEARFCN_vals); static int dissect_x2ap_OffsetOfNbiotChannelNumberToEARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 21, NULL, TRUE, 4, NULL); return offset; } static int dissect_x2ap_Packet_LossRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1000U, NULL, FALSE); return offset; } static const per_sequence_t PC5FlowBitRates_sequence[] = { { &hf_x2ap_guaranteedFlowBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, { &hf_x2ap_maximumFlowBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_PC5FlowBitRates, PC5FlowBitRates_sequence); return offset; } static const value_string x2ap_Range_vals[] = { { 0, "m50" }, { 1, "m80" }, { 2, "m180" }, { 3, "m200" }, { 4, "m350" }, { 5, "m400" }, { 6, "m500" }, { 7, "m700" }, { 8, "m1000" }, { 0, NULL } }; static int dissect_x2ap_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 9, NULL, TRUE, 0, NULL); return offset; } static const per_sequence_t PC5QoSFlowItem_sequence[] = { { &hf_x2ap_pQI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_FiveQI }, { &hf_x2ap_pc5FlowBitRates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_PC5FlowBitRates }, { &hf_x2ap_range , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Range }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_PC5QoSFlowItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_PC5QoSFlowItem, PC5QoSFlowItem_sequence); return offset; } static const per_sequence_t PC5QoSFlowList_sequence_of[1] = { { &hf_x2ap_PC5QoSFlowList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PC5QoSFlowItem }, }; static int dissect_x2ap_PC5QoSFlowList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_PC5QoSFlowList, PC5QoSFlowList_sequence_of, 1, maxnoofPC5QoSFlows, FALSE); return offset; } static const per_sequence_t PC5QoSParameters_sequence[] = { { &hf_x2ap_pc5QoSFlowList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PC5QoSFlowList }, { &hf_x2ap_pc5LinkAggregatedBitRates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BitRate }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_PC5QoSParameters, PC5QoSParameters_sequence); return offset; } static const value_string x2ap_PDCPChangeIndication_vals[] = { { 0, "s-KgNB-update-required" }, { 1, "pDCP-data-recovery-required" }, { 0, NULL } }; static int dissect_x2ap_PDCPChangeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_PDCPSnLength_vals[] = { { 0, "twelve-bits" }, { 1, "eighteen-bits" }, { 0, NULL } }; static int dissect_x2ap_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_x2ap_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 837U, NULL, FALSE); return offset; } static int dissect_x2ap_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_x2ap_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); return offset; } static int dissect_x2ap_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 int dissect_x2ap_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 63U, NULL, FALSE); return offset; } static const per_sequence_t PRACH_Configuration_sequence[] = { { &hf_x2ap_rootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_837 }, { &hf_x2ap_zeroCorrelationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_15 }, { &hf_x2ap_highSpeedFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BOOLEAN }, { &hf_x2ap_prach_FreqOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_94 }, { &hf_x2ap_prach_ConfigIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_63 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_PRACH_Configuration, PRACH_Configuration_sequence); return offset; } static const value_string x2ap_ProSeDirectDiscovery_vals[] = { { 0, "authorized" }, { 1, "not-authorized" }, { 0, NULL } }; static int dissect_x2ap_ProSeDirectDiscovery(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_ProSeDirectCommunication_vals[] = { { 0, "authorized" }, { 1, "not-authorized" }, { 0, NULL } }; static int dissect_x2ap_ProSeDirectCommunication(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ProSeAuthorized_sequence[] = { { &hf_x2ap_proSeDirectDiscovery, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProSeDirectDiscovery }, { &hf_x2ap_proSeDirectCommunication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProSeDirectCommunication }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ProSeAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ProSeAuthorized, ProSeAuthorized_sequence); return offset; } static const value_string x2ap_ProSeUEtoNetworkRelaying_vals[] = { { 0, "authorized" }, { 1, "not-authorized" }, { 0, NULL } }; static int dissect_x2ap_ProSeUEtoNetworkRelaying(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_ResourceType_vals[] = { { 0, "downlinknonCRS" }, { 1, "cRS" }, { 2, "uplink" }, { 0, NULL } }; static int dissect_x2ap_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 int dissect_x2ap_BIT_STRING_SIZE_84_(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, 84, 84, TRUE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_BIT_STRING_SIZE_6_110_(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, 110, TRUE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_INTEGER_1_320_(tvbuff_t *tvb _U_, int offset _U_, 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, 320U, NULL, TRUE); return offset; } static int dissect_x2ap_INTEGER_1_20_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 20U, NULL, TRUE); return offset; } static const per_sequence_t ProtectedFootprintTimePattern_sequence[] = { { &hf_x2ap_protectedFootprintTimePeriodicity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_320_ }, { &hf_x2ap_protectedFootprintStartTime, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_20_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ProtectedFootprintTimePattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ProtectedFootprintTimePattern, ProtectedFootprintTimePattern_sequence); return offset; } static const per_sequence_t ProtectedResourceList_Item_sequence[] = { { &hf_x2ap_resourceType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ResourceType }, { &hf_x2ap_intraPRBProtectedResourceFootprint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_84_ }, { &hf_x2ap_protectedFootprintFrequencyPattern, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_110_ }, { &hf_x2ap_protectedFootprintTimePattern, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtectedFootprintTimePattern }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ProtectedResourceList_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_x2ap_ProtectedResourceList_Item, ProtectedResourceList_Item_sequence); return offset; } static const per_sequence_t ProtectedResourceList_sequence_of[1] = { { &hf_x2ap_ProtectedResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtectedResourceList_Item }, }; static int dissect_x2ap_ProtectedResourceList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ProtectedResourceList, ProtectedResourceList_sequence_of, 1, maxnoofProtectedResourcePatterns, FALSE); return offset; } static int dissect_x2ap_T_mBSFNControlRegionLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3U, NULL, FALSE); proto_item_append_text(actx->created_item, " REs"); return offset; } static int dissect_x2ap_T_pDCCHRegionLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 3U, NULL, FALSE); proto_item_append_text(actx->created_item, " REs"); return offset; } static const per_sequence_t ProtectedEUTRAResourceIndication_sequence[] = { { &hf_x2ap_activationSFN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_1023 }, { &hf_x2ap_protectedResourceList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtectedResourceList }, { &hf_x2ap_mBSFNControlRegionLength, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_mBSFNControlRegionLength }, { &hf_x2ap_pDCCHRegionLength, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_pDCCHRegionLength }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ProtectedEUTRAResourceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ProtectedEUTRAResourceIndication, ProtectedEUTRAResourceIndication_sequence); return offset; } static const value_string x2ap_PartialListIndicator_vals[] = { { 0, "partial" }, { 0, NULL } }; static int dissect_x2ap_PartialListIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_PrivacyIndicator_vals[] = { { 0, "immediate-MDT" }, { 1, "logged-MDT" }, { 0, NULL } }; static int dissect_x2ap_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 x2ap_PSCellHistoryInformationRetrieve_vals[] = { { 0, "query" }, { 0, NULL } }; static int dissect_x2ap_PSCellHistoryInformationRetrieve(tvbuff_t *tvb _U_, int offset _U_, asn1_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 PSCell_UE_HistoryInformation_sequence_of[1] = { { &hf_x2ap_PSCell_UE_HistoryInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LastVisitedPSCell_Item }, }; static int dissect_x2ap_PSCell_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_PSCell_UE_HistoryInformation, PSCell_UE_HistoryInformation_sequence_of, 1, maxnoofPSCellsPerPrimaryCellinUEHistoryInfo, FALSE); return offset; } static const value_string x2ap_PSCellChangeHistory_vals[] = { { 0, "reportingFullHistory" }, { 0, NULL } }; static int dissect_x2ap_PSCellChangeHistory(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 6, 6, FALSE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t QoS_Mapping_Information_sequence[] = { { &hf_x2ap_dscp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BIT_STRING_SIZE_6 }, { &hf_x2ap_flow_label , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BIT_STRING_SIZE_20 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_QoS_Mapping_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_x2ap_QoS_Mapping_Information, QoS_Mapping_Information_sequence); return offset; } static int dissect_x2ap_UL_GBR_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_UL_non_GBR_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int dissect_x2ap_UL_Total_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 100U, NULL, FALSE); return offset; } static const per_sequence_t RadioResourceStatus_sequence[] = { { &hf_x2ap_dL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_GBR_PRB_usage }, { &hf_x2ap_uL_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_GBR_PRB_usage }, { &hf_x2ap_dL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_non_GBR_PRB_usage }, { &hf_x2ap_uL_non_GBR_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_non_GBR_PRB_usage }, { &hf_x2ap_dL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DL_Total_PRB_usage }, { &hf_x2ap_uL_Total_PRB_usage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_Total_PRB_usage }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_RadioResourceStatus, RadioResourceStatus_sequence); return offset; } static int dissect_x2ap_RAN_UE_NGAP_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 int dissect_x2ap_T_rAT_RestrictionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, TRUE, NULL, 0, ¶meter_tvb, NULL); if(parameter_tvb){ static int * const fields[] = { &hf_x2ap_rAT_RestrictionInformation_LEO, &hf_x2ap_rAT_RestrictionInformation_MEO, &hf_x2ap_rAT_RestrictionInformation_GEO, &hf_x2ap_rAT_RestrictionInformation_OTHERSAT, &hf_x2ap_rAT_RestrictionInformation_Reserved, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_rAT_RestrictionInformation); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN); } return offset; } static const per_sequence_t RAT_RestrictionsItem_sequence[] = { { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_rAT_RestrictionInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_rAT_RestrictionInformation }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_RAT_RestrictionsItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_RAT_RestrictionsItem, RAT_RestrictionsItem_sequence); return offset; } static const per_sequence_t RAT_Restrictions_sequence_of[1] = { { &hf_x2ap_RAT_Restrictions_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_RAT_RestrictionsItem }, }; static int dissect_x2ap_RAT_Restrictions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_RAT_Restrictions, RAT_Restrictions_sequence_of, 1, maxnoofEPLMNsPlusOne, FALSE); return offset; } static int dissect_x2ap_ReceiveStatusofULPDCPSDUs(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, 4096, 4096, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_ReceiveStatusOfULPDCPSDUsExtended(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, 16384, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18(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, 131072, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_ReleaseFastMCGRecoveryViaSRB3_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_ReleaseFastMCGRecoveryViaSRB3(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_Reestablishment_Indication_vals[] = { { 0, "reestablished" }, { 0, NULL } }; static int dissect_x2ap_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 const value_string x2ap_Registration_Request_vals[] = { { 0, "start" }, { 1, "stop" }, { 2, "partial-stop" }, { 3, "add" }, { 0, NULL } }; static int dissect_x2ap_Registration_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation) return dissect_x2ap_Registration_Request_ENDC(tvb, offset, actx, tree, hf_x2ap_Registration_Request_ENDC_PDU); offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, TRUE, 2, NULL); return offset; } static const value_string x2ap_Registration_Request_ENDC_vals[] = { { 0, "start" }, { 1, "stop" }, { 2, "add" }, { 0, NULL } }; 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_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_02_vals[] = { { 0, "one" }, { 1, "two" }, { 2, "four" }, { 0, NULL } }; static int dissect_x2ap_T_numberOfCellSpecificAntennaPorts_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static int dissect_x2ap_INTEGER_0_4_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 4U, NULL, TRUE); return offset; } static const per_sequence_t RelativeNarrowbandTxPower_sequence[] = { { &hf_x2ap_rNTP_PerPRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_110_ }, { &hf_x2ap_rNTP_Threshold , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RNTP_Threshold }, { &hf_x2ap_numberOfCellSpecificAntennaPorts_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_numberOfCellSpecificAntennaPorts_02 }, { &hf_x2ap_p_B , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_3_ }, { &hf_x2ap_pDCCH_InterferenceImpact, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_RelativeNarrowbandTxPower(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_RelativeNarrowbandTxPower, RelativeNarrowbandTxPower_sequence); return offset; } static int dissect_x2ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation) return dissect_x2ap_ReportCharacteristics_ENDC(tvb, offset, actx, tree, hf_x2ap_ReportCharacteristics_ENDC_PDU); 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_x2ap_ReportCharacteristics_PRBPeriodic, &hf_x2ap_ReportCharacteristics_TNLLoadIndPeriodic, &hf_x2ap_ReportCharacteristics_HWLoadIndPeriodic, &hf_x2ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic, &hf_x2ap_ReportCharacteristics_ABSStatusPeriodic, &hf_x2ap_ReportCharacteristics_RSRPMeasurementReportPeriodic, &hf_x2ap_ReportCharacteristics_CSIReportPeriodic, &hf_x2ap_ReportCharacteristics_Reserved, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_ReportCharacteristics); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN); } return offset; } static const value_string x2ap_ReportingPeriodicityCSIR_vals[] = { { 0, "ms5" }, { 1, "ms10" }, { 2, "ms20" }, { 3, "ms40" }, { 4, "ms80" }, { 0, NULL } }; static int dissect_x2ap_ReportingPeriodicityCSIR(tvbuff_t *tvb _U_, int offset _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_x2ap_ReportCharacteristics_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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_x2ap_ReportCharacteristics_ENDC_PRBPeriodic, &hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic, &hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic, &hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs, &hf_x2ap_ReportCharacteristics_ENDC_Reserved, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_ReportCharacteristics_ENDC); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN); } return offset; } static const value_string x2ap_ReportingPeriodicityRSRPMR_vals[] = { { 0, "one-hundred-20-ms" }, { 1, "two-hundred-40-ms" }, { 2, "four-hundred-80-ms" }, { 3, "six-hundred-40-ms" }, { 0, NULL } }; static int dissect_x2ap_ReportingPeriodicityRSRPMR(tvbuff_t *tvb _U_, int offset _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 x2ap_RequestedFastMCGRecoveryViaSRB3_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_RequestedFastMCGRecoveryViaSRB3(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_RequestedFastMCGRecoveryViaSRB3Release_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_RequestedFastMCGRecoveryViaSRB3Release(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 24, 24, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_ResumeID_vals[] = { { 0, "non-truncated" }, { 1, "truncated" }, { 0, NULL } }; static const per_choice_t ResumeID_choice[] = { { 0, &hf_x2ap_non_truncated , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_40 }, { 1, &hf_x2ap_truncated , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_24 }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_ResumeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_ResumeID, ResumeID_choice, NULL); return offset; } static const value_string x2ap_RLCMode_vals[] = { { 0, "rlc-am" }, { 1, "rlc-um-bidirectional" }, { 2, "rlc-um-unidirectional-ul" }, { 3, "rlc-um-unidirectional-dl" }, { 0, NULL } }; static int dissect_x2ap_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 RLC_Status_sequence[] = { { &hf_x2ap_reestablishment_Indication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Reestablishment_Indication }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_RLC_Status, RLC_Status_sequence); return offset; } static const value_string x2ap_RRC_Config_Ind_vals[] = { { 0, "full-config" }, { 1, "delta-config" }, { 0, NULL } }; static int dissect_x2ap_RRC_Config_Ind(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRC_Context); if (g_x2ap_dissect_rrc_context_as == X2AP_RRC_CONTEXT_NBIOT) { dissect_lte_rrc_HandoverPreparationInformation_NB_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } else { dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static const value_string x2ap_RRCConnReestabIndicator_vals[] = { { 0, "reconfigurationFailure" }, { 1, "handoverFailure" }, { 2, "otherFailure" }, { 0, NULL } }; static int dissect_x2ap_RRCConnReestabIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_RRCConnSetupIndicator_vals[] = { { 0, "rrcConnSetup" }, { 0, NULL } }; static int dissect_x2ap_RRCConnSetupIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_INTEGER_0_97_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 97U, NULL, TRUE); return offset; } static const per_sequence_t RSRPMeasurementResult_item_sequence[] = { { &hf_x2ap_rSRPCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_rSRPMeasured , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_97_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_RSRPMeasurementResult_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_x2ap_RSRPMeasurementResult_item, RSRPMeasurementResult_item_sequence); return offset; } static const per_sequence_t RSRPMeasurementResult_sequence_of[1] = { { &hf_x2ap_RSRPMeasurementResult_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_RSRPMeasurementResult_item }, }; static int dissect_x2ap_RSRPMeasurementResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_RSRPMeasurementResult, RSRPMeasurementResult_sequence_of, 1, maxCellReport, FALSE); return offset; } static const per_sequence_t RSRPMRList_item_sequence[] = { { &hf_x2ap_rSRPMeasurementResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RSRPMeasurementResult }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_RSRPMRList_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_x2ap_RSRPMRList_item, RSRPMRList_item_sequence); return offset; } static const per_sequence_t RSRPMRList_sequence_of[1] = { { &hf_x2ap_RSRPMRList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_RSRPMRList_item }, }; static int dissect_x2ap_RSRPMRList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_RSRPMRList, RSRPMRList_sequence_of, 1, maxUEReport, FALSE); return offset; } static const per_sequence_t S1TNLLoadIndicator_sequence[] = { { &hf_x2ap_dLS1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator }, { &hf_x2ap_uLS1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_LoadIndicator }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_S1TNLLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_S1TNLLoadIndicator, S1TNLLoadIndicator_sequence); return offset; } static const value_string x2ap_SCGActivationStatus_vals[] = { { 0, "scg-activated" }, { 1, "scg-deactivated" }, { 0, NULL } }; static int dissect_x2ap_SCGActivationStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_SCGActivationRequest_vals[] = { { 0, "activate-scg" }, { 1, "deactivate-scg" }, { 0, NULL } }; static int dissect_x2ap_SCGActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_SCGChangeIndication_vals[] = { { 0, "pDCPCountWrapAround" }, { 1, "pSCellChange" }, { 2, "other" }, { 0, NULL } }; static int dissect_x2ap_SCGChangeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_SCGreconfigNotification_vals[] = { { 0, "executed" }, { 1, "executed-deleted" }, { 2, "deleted" }, { 0, NULL } }; static int dissect_x2ap_SCGreconfigNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_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, 2, NULL); return offset; } static const per_sequence_t SCG_UE_HistoryInformation_sequence_of[1] = { { &hf_x2ap_SCG_UE_HistoryInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LastVisitedPSCell_Item }, }; static int dissect_x2ap_SCG_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_SCG_UE_HistoryInformation, SCG_UE_HistoryInformation_sequence_of, 1, maxnoofPSCellsPerSN, FALSE); return offset; } static const per_sequence_t SecondaryRATUsageReportList_sequence_of[1] = { { &hf_x2ap_SecondaryRATUsageReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_SecondaryRATUsageReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_SecondaryRATUsageReportList, SecondaryRATUsageReportList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const value_string x2ap_T_secondaryRATType_vals[] = { { 0, "nr" }, { 1, "nR-unlicensed" }, { 0, NULL } }; static int dissect_x2ap_T_secondaryRATType(tvbuff_t *tvb _U_, int offset _U_, asn1_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 SecondaryRATUsageReport_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_secondaryRATType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_secondaryRATType }, { &hf_x2ap_e_RABUsageReportList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABUsageReportList }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SecondaryRATUsageReport_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_x2ap_SecondaryRATUsageReport_Item, SecondaryRATUsageReport_Item_sequence); return offset; } static const per_sequence_t SecurityIndication_sequence[] = { { &hf_x2ap_integrityProtectionIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_IntegrityProtectionIndication }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SecurityIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SecurityIndication, SecurityIndication_sequence); return offset; } static const per_sequence_t SecurityResult_sequence[] = { { &hf_x2ap_integrityProtectionResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_IntegrityProtectionResult }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SecurityResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SecurityResult, SecurityResult_sequence); return offset; } static int dissect_x2ap_SeNBSecurityKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 256, 256, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_x2ap_SeNBtoMeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SeNBtoMeNBContainer); dissect_lte_rrc_SCG_Config_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL); return offset; } static const value_string x2ap_SensorMeasConfig_vals[] = { { 0, "setup" }, { 0, NULL } }; static int dissect_x2ap_SensorMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_T_uncompensatedBarometricConfig_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_T_uncompensatedBarometricConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_SensorNameConfig_vals[] = { { 0, "uncompensatedBarometricConfig" }, { 1, "choice-extension" }, { 0, NULL } }; static const per_choice_t SensorNameConfig_choice[] = { { 0, &hf_x2ap_uncompensatedBarometricConfig, ASN1_NO_EXTENSIONS , dissect_x2ap_T_uncompensatedBarometricConfig }, { 1, &hf_x2ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_x2ap_ProtocolIE_Single_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_SensorNameConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_SensorNameConfig, SensorNameConfig_choice, NULL); return offset; } static const per_sequence_t SensorMeasConfigNameItem_sequence[] = { { &hf_x2ap_sensorNameConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SensorNameConfig }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SensorMeasConfigNameItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SensorMeasConfigNameItem, SensorMeasConfigNameItem_sequence); return offset; } static const per_sequence_t SensorMeasConfigNameList_sequence_of[1] = { { &hf_x2ap_SensorMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SensorMeasConfigNameItem }, }; static int dissect_x2ap_SensorMeasConfigNameList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_SensorMeasConfigNameList, SensorMeasConfigNameList_sequence_of, 1, maxnoofSensorName, FALSE); return offset; } static const per_sequence_t SensorMeasurementConfiguration_sequence[] = { { &hf_x2ap_sensorMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SensorMeasConfig }, { &hf_x2ap_sensorMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SensorMeasConfigNameList }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SensorMeasurementConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SensorMeasurementConfiguration, SensorMeasurementConfiguration_sequence); return offset; } static const per_sequence_t ServedCell_Information_sequence[] = { { &hf_x2ap_pCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PCI }, { &hf_x2ap_cellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC }, { &hf_x2ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastPLMNs_Item }, { &hf_x2ap_eUTRA_Mode_Info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRA_Mode_Info }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedCell_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_x2ap_ServedCell_Information, ServedCell_Information_sequence); return offset; } static const per_sequence_t ServedCells_item_sequence[] = { { &hf_x2ap_servedCellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information }, { &hf_x2ap_neighbour_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Neighbour_Information }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedCells_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_x2ap_ServedCells_item, ServedCells_item_sequence); return offset; } static const per_sequence_t ServedCells_sequence_of[1] = { { &hf_x2ap_ServedCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCells_item }, }; static int dissect_x2ap_ServedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedCells, ServedCells_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const value_string x2ap_T_additionalMTCListRequestIndicator_vals[] = { { 0, "additionalMTCListRequested" }, { 0, NULL } }; static int dissect_x2ap_T_additionalMTCListRequestIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ServedCellSpecificInfoReq_NR_Item_sequence[] = { { &hf_x2ap_nRCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_additionalMTCListRequestIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_additionalMTCListRequestIndicator }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedCellSpecificInfoReq_NR_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_x2ap_ServedCellSpecificInfoReq_NR_Item, ServedCellSpecificInfoReq_NR_Item_sequence); return offset; } static const per_sequence_t ServedCellSpecificInfoReq_NR_sequence_of[1] = { { &hf_x2ap_ServedCellSpecificInfoReq_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellSpecificInfoReq_NR_Item }, }; static int dissect_x2ap_ServedCellSpecificInfoReq_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedCellSpecificInfoReq_NR, ServedCellSpecificInfoReq_NR_sequence_of, 1, maxCellinengNB, FALSE); return offset; } static const value_string x2ap_ServiceType_vals[] = { { 0, "qMC-for-streaming-service" }, { 1, "qMC-for-MTSI-service" }, { 0, NULL } }; static int dissect_x2ap_ServiceType(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_SgNBCoordinationAssistanceInformation_vals[] = { { 0, "coordination-not-required" }, { 0, NULL } }; static int dissect_x2ap_SgNBCoordinationAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_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 SgNBResourceCoordinationInformation_sequence[] = { { &hf_x2ap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_uLCoordinationInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_4400_ }, { &hf_x2ap_dLCoordinationInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BIT_STRING_SIZE_6_4400_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SgNBResourceCoordinationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBResourceCoordinationInformation, SgNBResourceCoordinationInformation_sequence); return offset; } static const value_string x2ap_SIPTOBearerDeactivationIndication_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_SIPTOBearerDeactivationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_ShortMAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_SGNB_Addition_Trigger_Ind_vals[] = { { 0, "sn-change" }, { 1, "inter-eNB-HO" }, { 2, "intra-eNB-HO" }, { 0, NULL } }; static int dissect_x2ap_SGNB_Addition_Trigger_Ind(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_SNtriggered_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_SNtriggered(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_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 value_string x2ap_T_periodicCommunicationIndicator_vals[] = { { 0, "periodically" }, { 1, "ondemand" }, { 0, NULL } }; static int dissect_x2ap_T_periodicCommunicationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_INTEGER_1_3600_(tvbuff_t *tvb _U_, int offset _U_, 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, 3600U, NULL, TRUE); return offset; } static int dissect_x2ap_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 int dissect_x2ap_INTEGER_0_86399_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 86399U, NULL, TRUE); return offset; } static const per_sequence_t ScheduledCommunicationTime_sequence[] = { { &hf_x2ap_dayofWeek , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BIT_STRING_SIZE_7 }, { &hf_x2ap_timeofDayStart , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_86399_ }, { &hf_x2ap_timeofDayEnd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_86399_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ScheduledCommunicationTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ScheduledCommunicationTime, ScheduledCommunicationTime_sequence); return offset; } static const value_string x2ap_T_stationaryIndication_vals[] = { { 0, "stationary" }, { 1, "mobile" }, { 0, NULL } }; static int dissect_x2ap_T_stationaryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_T_trafficProfile_vals[] = { { 0, "single-packet" }, { 1, "dual-packets" }, { 2, "multiple-packets" }, { 0, NULL } }; static int dissect_x2ap_T_trafficProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_T_batteryIndication_vals[] = { { 0, "battery-powered" }, { 1, "battery-powered-not-rechargeable-or-replaceable" }, { 2, "not-battery-powered" }, { 0, NULL } }; static int dissect_x2ap_T_batteryIndication(tvbuff_t *tvb _U_, int offset _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 Subscription_Based_UE_DifferentiationInfo_sequence[] = { { &hf_x2ap_periodicCommunicationIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_periodicCommunicationIndicator }, { &hf_x2ap_periodicTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_1_3600_ }, { &hf_x2ap_scheduledCommunicationTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ScheduledCommunicationTime }, { &hf_x2ap_stationaryIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_stationaryIndication }, { &hf_x2ap_trafficProfile , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_trafficProfile }, { &hf_x2ap_batteryIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_batteryIndication }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_Subscription_Based_UE_DifferentiationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_Subscription_Based_UE_DifferentiationInfo, Subscription_Based_UE_DifferentiationInfo_sequence); return offset; } static const value_string x2ap_SRVCCOperationPossible_vals[] = { { 0, "possible" }, { 0, NULL } }; static int dissect_x2ap_SRVCCOperationPossible(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_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 int dissect_x2ap_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_x2ap_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 x2ap_SSB_PositionsInBurst_vals[] = { { 0, "shortBitmap" }, { 1, "mediumBitmap" }, { 2, "longBitmap" }, { 3, "choice-extension" }, { 0, NULL } }; static const per_choice_t SSB_PositionsInBurst_choice[] = { { 0, &hf_x2ap_shortBitmap , ASN1_NO_EXTENSIONS , dissect_x2ap_BIT_STRING_SIZE_4 }, { 1, &hf_x2ap_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_x2ap_BIT_STRING_SIZE_8 }, { 2, &hf_x2ap_longBitmap , ASN1_NO_EXTENSIONS , dissect_x2ap_BIT_STRING_SIZE_64 }, { 3, &hf_x2ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_x2ap_ProtocolIE_Single_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_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_x2ap_SSB_PositionsInBurst, SSB_PositionsInBurst_choice, NULL); return offset; } static int dissect_x2ap_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, FALSE); return offset; } static int dissect_x2ap_SgNBSecurityKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 256, 256, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_SCGConfigurationQuery_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_SCGConfigurationQuery(tvbuff_t *tvb _U_, int offset _U_, asn1_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 SFN_Offset_sequence[] = { { &hf_x2ap_sFN_Time_Offset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_24 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SFN_Offset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SFN_Offset, SFN_Offset_sequence); return offset; } static int dissect_x2ap_TargetCellInNGRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TargetCellInNGRAN); dissect_ngap_NGRAN_CGI_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_TargetCellInUTRAN(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_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TargeteNBtoSource_eNBTransparentContainer); dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL); return offset; } static int dissect_x2ap_TDDULDLConfigurationCommonNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TDDULDLConfigurationCommonNR); dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static const value_string x2ap_TimeToWait_vals[] = { { 0, "v1s" }, { 1, "v2s" }, { 2, "v5s" }, { 3, "v10s" }, { 4, "v20s" }, { 5, "v60s" }, { 0, NULL } }; static int dissect_x2ap_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_x2ap_Time_UE_StayedInCell_EnhancedGranularity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 40950U, NULL, FALSE); return offset; } static const value_string x2ap_TNLAssociationUsage_vals[] = { { 0, "ue" }, { 1, "non-ue" }, { 2, "both" }, { 0, NULL } }; static int dissect_x2ap_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 TNLA_To_Add_Item_sequence[] = { { &hf_x2ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPTransportLayerInformation }, { &hf_x2ap_tNLAssociationUsage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLAssociationUsage }, { &hf_x2ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TNLA_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_x2ap_TNLA_To_Add_Item, TNLA_To_Add_Item_sequence); return offset; } static const per_sequence_t TNLA_To_Add_List_sequence_of[1] = { { &hf_x2ap_TNLA_To_Add_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLA_To_Add_Item }, }; static int dissect_x2ap_TNLA_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_x2ap_TNLA_To_Add_List, TNLA_To_Add_List_sequence_of, 1, maxnoofTNLAssociations, FALSE); return offset; } static const per_sequence_t TNLA_To_Update_Item_sequence[] = { { &hf_x2ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPTransportLayerInformation }, { &hf_x2ap_tNLAssociationUsage, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_x2ap_TNLAssociationUsage }, { &hf_x2ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TNLA_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_x2ap_TNLA_To_Update_Item, TNLA_To_Update_Item_sequence); return offset; } static const per_sequence_t TNLA_To_Update_List_sequence_of[1] = { { &hf_x2ap_TNLA_To_Update_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLA_To_Update_Item }, }; static int dissect_x2ap_TNLA_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_x2ap_TNLA_To_Update_List, TNLA_To_Update_List_sequence_of, 1, maxnoofTNLAssociations, FALSE); return offset; } static const per_sequence_t TNLA_To_Remove_Item_sequence[] = { { &hf_x2ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPTransportLayerInformation }, { &hf_x2ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TNLA_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_x2ap_TNLA_To_Remove_Item, TNLA_To_Remove_Item_sequence); return offset; } static const per_sequence_t TNLA_To_Remove_List_sequence_of[1] = { { &hf_x2ap_TNLA_To_Remove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLA_To_Remove_Item }, }; static int dissect_x2ap_TNLA_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_x2ap_TNLA_To_Remove_List, TNLA_To_Remove_List_sequence_of, 1, maxnoofTNLAssociations, FALSE); return offset; } static const per_sequence_t TNLA_Setup_Item_sequence[] = { { &hf_x2ap_tNLAssociationTransportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPTransportLayerInformation }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TNLA_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_x2ap_TNLA_Setup_Item, TNLA_Setup_Item_sequence); return offset; } static const per_sequence_t TNLA_Setup_List_sequence_of[1] = { { &hf_x2ap_TNLA_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLA_Setup_Item }, }; static int dissect_x2ap_TNLA_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_x2ap_TNLA_Setup_List, TNLA_Setup_List_sequence_of, 1, maxnoofTNLAssociations, FALSE); return offset; } static const per_sequence_t TNLA_Failed_To_Setup_Item_sequence[] = { { &hf_x2ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPTransportLayerInformation }, { &hf_x2ap_cause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause }, { &hf_x2ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TNLA_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_x2ap_TNLA_Failed_To_Setup_Item, TNLA_Failed_To_Setup_Item_sequence); return offset; } static const per_sequence_t TNLA_Failed_To_Setup_List_sequence_of[1] = { { &hf_x2ap_TNLA_Failed_To_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLA_Failed_To_Setup_Item }, }; static int dissect_x2ap_TNLA_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_x2ap_TNLA_Failed_To_Setup_List, TNLA_Failed_To_Setup_List_sequence_of, 1, maxnoofTNLAssociations, FALSE); return offset; } static int dissect_x2ap_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 int dissect_x2ap_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 TNLCapacityIndicator_sequence[] = { { &hf_x2ap_dlTNLMaximumOfferedCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_16777216_ }, { &hf_x2ap_dlTNLAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100_ }, { &hf_x2ap_ulTNLMaximumOfferedCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_16777216_ }, { &hf_x2ap_ulTNLAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_TNLCapacityIndicator, TNLCapacityIndicator_sequence); return offset; } static const per_sequence_t Transport_UP_Layer_Addresses_Info_To_Add_Item_sequence[] = { { &hf_x2ap_iP_SecTransportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress }, { &hf_x2ap_gTPTransportLayerAddressesToAdd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPTLAs }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_Transport_UP_Layer_Addresses_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_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_Item, Transport_UP_Layer_Addresses_Info_To_Add_Item_sequence); return offset; } static const per_sequence_t Transport_UP_Layer_Addresses_Info_To_Add_List_sequence_of[1] = { { &hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_Item }, }; static int dissect_x2ap_Transport_UP_Layer_Addresses_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_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List, Transport_UP_Layer_Addresses_Info_To_Add_List_sequence_of, 1, maxnoofTLAs, FALSE); return offset; } static const per_sequence_t Transport_UP_Layer_Addresses_Info_To_Remove_Item_sequence[] = { { &hf_x2ap_iP_SecTransportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress }, { &hf_x2ap_gTPTransportLayerAddressesToRemove, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPTLAs }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_Transport_UP_Layer_Addresses_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_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_Item, Transport_UP_Layer_Addresses_Info_To_Remove_Item_sequence); return offset; } static const per_sequence_t Transport_UP_Layer_Addresses_Info_To_Remove_List_sequence_of[1] = { { &hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_Item }, }; static int dissect_x2ap_Transport_UP_Layer_Addresses_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_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List, Transport_UP_Layer_Addresses_Info_To_Remove_List_sequence_of, 1, maxnoofTLAs, FALSE); return offset; } static const per_sequence_t TNLConfigurationInfo_sequence[] = { { &hf_x2ap_transport_UP_Layer_Addresses_Info_To_Add_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List }, { &hf_x2ap_transport_UP_Layer_Addresses_Info_To_Remove_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TNLConfigurationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_TNLConfigurationInfo, TNLConfigurationInfo_sequence); return offset; } static const value_string x2ap_TraceDepth_vals[] = { { 0, "minimum" }, { 1, "medium" }, { 2, "maximum" }, { 3, "minimumWithoutVendorSpecificExtension" }, { 4, "mediumWithoutVendorSpecificExtension" }, { 5, "maximumWithoutVendorSpecificExtension" }, { 0, NULL } }; static int dissect_x2ap_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 int dissect_x2ap_TraceCollectionEntityIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; int len; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 1, 160, TRUE, NULL, 0, ¶meter_tvb, &len); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TraceCollectionEntityIPAddress); if (len == 32) { /* IPv4 */ proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN); } else if (len == 128) { /* IPv6 */ proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv6, parameter_tvb, 0, 16, ENC_NA); } else if (len == 160) { /* IPv4 */ proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN); /* IPv6 */ proto_tree_add_item(subtree, hf_x2ap_traceCollectionEntityIPAddress_IPv6, parameter_tvb, 4, 16, ENC_NA); } return offset; } static const per_sequence_t TraceActivation_sequence[] = { { &hf_x2ap_eUTRANTraceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EUTRANTraceID }, { &hf_x2ap_interfacesToTrace, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_InterfacesToTrace }, { &hf_x2ap_traceDepth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceDepth }, { &hf_x2ap_traceCollectionEntityIPAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TraceCollectionEntityIPAddress }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_TraceActivation, TraceActivation_sequence); return offset; } static const per_sequence_t TunnelInformation_sequence[] = { { &hf_x2ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress }, { &hf_x2ap_uDP_Port_Number, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Port_Number }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TunnelInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_TunnelInformation, TunnelInformation_sequence); return offset; } static const per_sequence_t UEAggregateMaximumBitRate_sequence[] = { { &hf_x2ap_uEaggregateMaximumBitRateDownlink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, { &hf_x2ap_uEaggregateMaximumBitRateUplink, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UEAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UEAggregateMaximumBitRate, UEAggregateMaximumBitRate_sequence); return offset; } static int dissect_x2ap_OCTET_STRING_SIZE_1_1000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 1000, FALSE, NULL); return offset; } static const per_sequence_t UEAppLayerMeasConfig_sequence[] = { { &hf_x2ap_containerForAppLayerMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_OCTET_STRING_SIZE_1_1000 }, { &hf_x2ap_areaScopeOfQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AreaScopeOfQMC }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UEAppLayerMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UEAppLayerMeasConfig, UEAppLayerMeasConfig_sequence); return offset; } static const value_string x2ap_UE_ContextKeptIndicator_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_UE_ContextKeptIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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_HistoryInformation_sequence_of[1] = { { &hf_x2ap_UE_HistoryInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_LastVisitedCell_Item }, }; static int dissect_x2ap_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_UE_HistoryInformation, UE_HistoryInformation_sequence_of, 1, maxnoofCells, FALSE); return offset; } static int dissect_x2ap_UE_HistoryInformationFromTheUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UE_HistoryInformationFromTheUE); dissect_lte_rrc_VisitedCellInfoList_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL); return offset; } static int dissect_x2ap_UE_S1AP_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 int dissect_x2ap_UERadioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UERadioCapability); dissect_lte_rrc_UERadioAccessCapabilityInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_x2ap_UERadioCapabilityID(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_x2ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UE_RLF_Report_Container); dissect_lte_rrc_RLF_Report_r9_PDU(parameter_tvb, actx->pinfo, subtree, NULL); return offset; } static int dissect_x2ap_UE_RLF_Report_Container_for_extended_bands(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UE_RLF_Report_Container_for_extended_bands); dissect_lte_rrc_RLF_Report_v9e0_PDU(parameter_tvb, actx->pinfo, subtree, NULL); return offset; } static const per_sequence_t UESecurityCapabilities_sequence[] = { { &hf_x2ap_encryptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EncryptionAlgorithms }, { &hf_x2ap_integrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_IntegrityProtectionAlgorithms }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UESecurityCapabilities, UESecurityCapabilities_sequence); return offset; } static const per_sequence_t UESidelinkAggregateMaximumBitRate_sequence[] = { { &hf_x2ap_uESidelinkAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UESidelinkAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UESidelinkAggregateMaximumBitRate, UESidelinkAggregateMaximumBitRate_sequence); return offset; } static const per_sequence_t UEsToBeResetList_Item_sequence[] = { { &hf_x2ap_meNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_X2AP_ID }, { &hf_x2ap_meNB_ID_ext , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UE_X2AP_ID_Extension }, { &hf_x2ap_sgNB_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SgNB_UE_X2AP_ID }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UEsToBeResetList_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_x2ap_UEsToBeResetList_Item, UEsToBeResetList_Item_sequence); return offset; } static const per_sequence_t UEsToBeResetList_sequence_of[1] = { { &hf_x2ap_UEsToBeResetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UEsToBeResetList_Item }, }; static int dissect_x2ap_UEsToBeResetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_UEsToBeResetList, UEsToBeResetList_sequence_of, 1, maxUEsinengNBDU, FALSE); return offset; } static const value_string x2ap_UL_UE_Configuration_vals[] = { { 0, "no-data" }, { 1, "shared" }, { 2, "only" }, { 0, NULL } }; static int dissect_x2ap_UL_UE_Configuration(tvbuff_t *tvb _U_, int offset _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_x2ap_uL_PDCP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_UE_Configuration }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_ULConfiguration, ULConfiguration_sequence); return offset; } static int dissect_x2ap_UL_HighInterferenceIndication(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, 110, TRUE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t UL_HighInterferenceIndicationInfo_Item_sequence[] = { { &hf_x2ap_target_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_ul_interferenceindication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndication }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UL_HighInterferenceIndicationInfo_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_x2ap_UL_HighInterferenceIndicationInfo_Item, UL_HighInterferenceIndicationInfo_Item_sequence); return offset; } static const per_sequence_t UL_HighInterferenceIndicationInfo_sequence_of[1] = { { &hf_x2ap_UL_HighInterferenceIndicationInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_HighInterferenceIndicationInfo_Item }, }; static int dissect_x2ap_UL_HighInterferenceIndicationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_UL_HighInterferenceIndicationInfo, UL_HighInterferenceIndicationInfo_sequence_of, 1, maxCellineNB, FALSE); return offset; } static int dissect_x2ap_UL_scheduling_PDCCH_CCE_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_UnlicensedSpectrumRestriction_vals[] = { { 0, "unlicensed-restricted" }, { 0, NULL } }; static int dissect_x2ap_UnlicensedSpectrumRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_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, NULL); return offset; } static const per_sequence_t V2XServicesAuthorized_sequence[] = { { &hf_x2ap_vehicleUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_VehicleUE }, { &hf_x2ap_pedestrianUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_PedestrianUE }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_V2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_V2XServicesAuthorized, V2XServicesAuthorized_sequence); return offset; } static const value_string x2ap_WLANMeasConfig_vals[] = { { 0, "setup" }, { 0, NULL } }; static int dissect_x2ap_WLANMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_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_x2ap_WLANName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 1, 32, FALSE, ¶meter_tvb); actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA); return offset; } static const per_sequence_t WLANMeasConfigNameList_sequence_of[1] = { { &hf_x2ap_WLANMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_WLANName }, }; static int dissect_x2ap_WLANMeasConfigNameList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_WLANMeasConfigNameList, WLANMeasConfigNameList_sequence_of, 1, maxnoofWLANName, FALSE); return offset; } static const value_string x2ap_T_wlan_rssi_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_T_wlan_rssi(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_T_wlan_rtt_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_x2ap_T_wlan_rtt(tvbuff_t *tvb _U_, int offset _U_, asn1_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 WLANMeasurementConfiguration_sequence[] = { { &hf_x2ap_wlanMeasConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_WLANMeasConfig }, { &hf_x2ap_wlanMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_WLANMeasConfigNameList }, { &hf_x2ap_wlan_rssi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_wlan_rssi }, { &hf_x2ap_wlan_rtt , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_wlan_rtt }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_WLANMeasurementConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_WLANMeasurementConfiguration, WLANMeasurementConfiguration_sequence); return offset; } static const per_sequence_t WTID_Type1_sequence[] = { { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_shortWTID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_24 }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_WTID_Type1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_WTID_Type1, WTID_Type1_sequence); return offset; } static int dissect_x2ap_WTID_Long_Type2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 48, 48, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string x2ap_WTID_vals[] = { { 0, "wTID-Type1" }, { 1, "wTID-Type2" }, { 0, NULL } }; static const per_choice_t WTID_choice[] = { { 0, &hf_x2ap_wTID_Type1 , ASN1_EXTENSION_ROOT , dissect_x2ap_WTID_Type1 }, { 1, &hf_x2ap_wTID_Type2 , ASN1_EXTENSION_ROOT , dissect_x2ap_WTID_Long_Type2 }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_WTID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_WTID, WTID_choice, NULL); return offset; } static int dissect_x2ap_WT_UE_XwAP_ID(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 int dissect_x2ap_X2BenefitValue(tvbuff_t *tvb _U_, int offset _U_, 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 HandoverRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_HandoverRequest, HandoverRequest_sequence); return offset; } static const per_sequence_t E_RABs_ToBeSetup_List_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_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_x2ap_E_RABs_ToBeSetup_List, E_RABs_ToBeSetup_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t UE_ContextInformation_sequence[] = { { &hf_x2ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_S1AP_ID }, { &hf_x2ap_uESecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UESecurityCapabilities }, { &hf_x2ap_aS_SecurityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AS_SecurityInformation }, { &hf_x2ap_uEaggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UEAggregateMaximumBitRate }, { &hf_x2ap_subscriberProfileIDforRFP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SubscriberProfileIDforRFP }, { &hf_x2ap_e_RABs_ToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABs_ToBeSetup_List }, { &hf_x2ap_rRC_Context , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RRC_Context }, { &hf_x2ap_handoverRestrictionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HandoverRestrictionList }, { &hf_x2ap_locationReportingInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_LocationReportingInformation }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UE_ContextInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UE_ContextInformation, UE_ContextInformation_sequence); return offset; } static const per_sequence_t E_RABs_ToBeSetup_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding }, { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_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_x2ap_E_RABs_ToBeSetup_Item, E_RABs_ToBeSetup_Item_sequence); return offset; } static int dissect_x2ap_MobilityInformation(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 per_sequence_t UE_ContextReferenceAtSeNB_sequence[] = { { &hf_x2ap_source_GlobalSeNB_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GlobalENB_ID }, { &hf_x2ap_seNB_UE_X2AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_X2AP_ID }, { &hf_x2ap_seNB_UE_X2AP_ID_Extension, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_X2AP_ID_Extension }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UE_ContextReferenceAtSeNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UE_ContextReferenceAtSeNB, UE_ContextReferenceAtSeNB_sequence); return offset; } static const per_sequence_t UE_ContextReferenceAtWT_sequence[] = { { &hf_x2ap_wTID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_WTID }, { &hf_x2ap_wT_UE_XwAP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_WT_UE_XwAP_ID }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UE_ContextReferenceAtWT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UE_ContextReferenceAtWT, UE_ContextReferenceAtWT_sequence); return offset; } static const per_sequence_t UE_ContextReferenceAtSgNB_sequence[] = { { &hf_x2ap_source_GlobalSgNB_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GlobalGNB_ID }, { &hf_x2ap_sgNB_UE_X2AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SgNB_UE_X2AP_ID }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UE_ContextReferenceAtSgNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UE_ContextReferenceAtSgNB, UE_ContextReferenceAtSgNB_sequence); return offset; } static const per_sequence_t HandoverRequestAcknowledge_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_List_sequence_of[1] = { { &hf_x2ap_E_RABs_Admitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_Admitted_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_x2ap_E_RABs_Admitted_List, E_RABs_Admitted_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_Admitted_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_uL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_dL_GTP_TunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_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_x2ap_E_RABs_Admitted_Item, E_RABs_Admitted_Item_sequence); return offset; } static const per_sequence_t HandoverPreparationFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_HandoverPreparationFailure, HandoverPreparationFailure_sequence); return offset; } static const per_sequence_t HandoverReport_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_HandoverReport, HandoverReport_sequence); return offset; } static const per_sequence_t EarlyStatusTransfer_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EarlyStatusTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_EarlyStatusTransfer, EarlyStatusTransfer_sequence); return offset; } static const per_sequence_t FirstDLCount_sequence[] = { { &hf_x2ap_e_RABsSubjectToEarlyStatusTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABsSubjectToEarlyStatusTransfer_List }, { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_FirstDLCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_FirstDLCount, FirstDLCount_sequence); return offset; } static const per_sequence_t DLDiscarding_sequence[] = { { &hf_x2ap_e_RABsSubjectToDLDiscarding_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABsSubjectToDLDiscarding_List }, { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_DLDiscarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_DLDiscarding, DLDiscarding_sequence); return offset; } static const value_string x2ap_ProcedureStageChoice_vals[] = { { 0, "first-dl-count" }, { 1, "dl-discarding" }, { 2, "choice-extension" }, { 0, NULL } }; static const per_choice_t ProcedureStageChoice_choice[] = { { 0, &hf_x2ap_first_dl_count , ASN1_NO_EXTENSIONS , dissect_x2ap_FirstDLCount }, { 1, &hf_x2ap_dl_discarding , ASN1_NO_EXTENSIONS , dissect_x2ap_DLDiscarding }, { 2, &hf_x2ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_x2ap_ProtocolIE_Single_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_ProcedureStageChoice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_ProcedureStageChoice, ProcedureStageChoice_choice, NULL); return offset; } static const per_sequence_t SNStatusTransfer_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SNStatusTransfer, SNStatusTransfer_sequence); return offset; } static const per_sequence_t E_RABs_SubjectToStatusTransfer_List_sequence_of[1] = { { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_SubjectToStatusTransfer_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_x2ap_E_RABs_SubjectToStatusTransfer_List, E_RABs_SubjectToStatusTransfer_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_SubjectToStatusTransfer_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_receiveStatusofULPDCPSDUs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ReceiveStatusofULPDCPSDUs }, { &hf_x2ap_uL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue }, { &hf_x2ap_dL_COUNTvalue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_SubjectToStatusTransfer_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_x2ap_E_RABs_SubjectToStatusTransfer_Item, E_RABs_SubjectToStatusTransfer_Item_sequence); return offset; } static const per_sequence_t UEContextRelease_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UEContextRelease, UEContextRelease_sequence); return offset; } static const per_sequence_t HandoverCancel_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_HandoverCancel, HandoverCancel_sequence); return offset; } static const per_sequence_t HandoverSuccess_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_HandoverSuccess, HandoverSuccess_sequence); return offset; } static const per_sequence_t ConditionalHandoverCancel_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConditionalHandoverCancel"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ConditionalHandoverCancel, ConditionalHandoverCancel_sequence); return offset; } static const per_sequence_t ErrorIndication_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ErrorIndication, ErrorIndication_sequence); return offset; } static const per_sequence_t ResetRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ResetRequest, ResetRequest_sequence); return offset; } static const per_sequence_t ResetResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ResetResponse, ResetResponse_sequence); return offset; } static const per_sequence_t X2SetupRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_X2SetupRequest, X2SetupRequest_sequence); return offset; } static const per_sequence_t X2SetupResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_X2SetupResponse, X2SetupResponse_sequence); return offset; } static const per_sequence_t X2SetupFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_X2SetupFailure, X2SetupFailure_sequence); return offset; } static const per_sequence_t LoadInformation_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LoadInformation"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_LoadInformation, LoadInformation_sequence); return offset; } static const per_sequence_t CellInformation_List_sequence_of[1] = { { &hf_x2ap_CellInformation_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_CellInformation_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_x2ap_CellInformation_List, CellInformation_List_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t CellInformation_Item_sequence[] = { { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_ul_InterferenceOverloadIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_InterferenceOverloadIndication }, { &hf_x2ap_ul_HighInterferenceIndicationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UL_HighInterferenceIndicationInfo }, { &hf_x2ap_relativeNarrowbandTxPower, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RelativeNarrowbandTxPower }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellInformation_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_x2ap_CellInformation_Item, CellInformation_Item_sequence); return offset; } static const per_sequence_t ENBConfigurationUpdate_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENBConfigurationUpdate, ENBConfigurationUpdate_sequence); return offset; } static const per_sequence_t ServedCellsToModify_Item_sequence[] = { { &hf_x2ap_old_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_servedCellInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information }, { &hf_x2ap_neighbour_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Neighbour_Information }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedCellsToModify_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_x2ap_ServedCellsToModify_Item, ServedCellsToModify_Item_sequence); return offset; } static const per_sequence_t ServedCellsToModify_sequence_of[1] = { { &hf_x2ap_ServedCellsToModify_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellsToModify_Item }, }; static int dissect_x2ap_ServedCellsToModify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedCellsToModify, ServedCellsToModify_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t Old_ECGIs_sequence_of[1] = { { &hf_x2ap_Old_ECGIs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, }; static int dissect_x2ap_Old_ECGIs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_Old_ECGIs, Old_ECGIs_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENBConfigurationUpdateAcknowledge, ENBConfigurationUpdateAcknowledge_sequence); return offset; } static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENBConfigurationUpdateFailure, ENBConfigurationUpdateFailure_sequence); return offset; } static const per_sequence_t ResourceStatusRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ResourceStatusRequest, ResourceStatusRequest_sequence); return offset; } static const per_sequence_t CellToReport_List_sequence_of[1] = { { &hf_x2ap_CellToReport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_CellToReport_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_x2ap_CellToReport_List, CellToReport_List_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t CellToReport_Item_sequence[] = { { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellToReport_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_x2ap_CellToReport_Item, CellToReport_Item_sequence); return offset; } static const value_string x2ap_ReportingPeriodicity_vals[] = { { 0, "one-thousand-ms" }, { 1, "two-thousand-ms" }, { 2, "five-thousand-ms" }, { 3, "ten-thousand-ms" }, { 0, NULL } }; static int dissect_x2ap_ReportingPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation) return dissect_x2ap_ReportingPeriodicity_ENDC(tvb, offset, actx, tree, hf_x2ap_ReportingPeriodicity_ENDC_PDU); offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, TRUE, 0, NULL); return offset; } static const value_string x2ap_PartialSuccessIndicator_vals[] = { { 0, "partial-success-allowed" }, { 0, NULL } }; static int dissect_x2ap_PartialSuccessIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ResourceStatusResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ResourceStatusResponse, ResourceStatusResponse_sequence); return offset; } static const per_sequence_t MeasurementInitiationResult_List_sequence_of[1] = { { &hf_x2ap_MeasurementInitiationResult_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_MeasurementInitiationResult_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_x2ap_MeasurementInitiationResult_List, MeasurementInitiationResult_List_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t MeasurementFailureCause_List_sequence_of[1] = { { &hf_x2ap_MeasurementFailureCause_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_MeasurementFailureCause_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_x2ap_MeasurementFailureCause_List, MeasurementFailureCause_List_sequence_of, 1, maxFailedMeasObjects, FALSE); return offset; } static const per_sequence_t MeasurementInitiationResult_Item_sequence[] = { { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_measurementFailureCause_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MeasurementFailureCause_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_MeasurementInitiationResult_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_x2ap_MeasurementInitiationResult_Item, MeasurementInitiationResult_Item_sequence); return offset; } static int dissect_x2ap_T_measurementFailedReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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_x2ap_measurementFailedReportCharacteristics_PRBPeriodic, &hf_x2ap_measurementFailedReportCharacteristics_TNLLoadIndPeriodic, &hf_x2ap_measurementFailedReportCharacteristics_HWLoadIndPeriodic, &hf_x2ap_measurementFailedReportCharacteristics_CompositeAvailableCapacityPeriodic, &hf_x2ap_measurementFailedReportCharacteristics_ABSStatusPeriodic, &hf_x2ap_measurementFailedReportCharacteristics_RSRPMeasurementReportPeriodic, &hf_x2ap_measurementFailedReportCharacteristics_CSIReportPeriodic, &hf_x2ap_measurementFailedReportCharacteristics_Reserved, NULL }; proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_measurementFailedReportCharacteristics); proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN); } return offset; } static const per_sequence_t MeasurementFailureCause_Item_sequence[] = { { &hf_x2ap_measurementFailedReportCharacteristics, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_measurementFailedReportCharacteristics }, { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_MeasurementFailureCause_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_x2ap_MeasurementFailureCause_Item, MeasurementFailureCause_Item_sequence); return offset; } static const per_sequence_t ResourceStatusFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ResourceStatusFailure, ResourceStatusFailure_sequence); return offset; } static const per_sequence_t CompleteFailureCauseInformation_List_sequence_of[1] = { { &hf_x2ap_CompleteFailureCauseInformation_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_CompleteFailureCauseInformation_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_x2ap_CompleteFailureCauseInformation_List, CompleteFailureCauseInformation_List_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t CompleteFailureCauseInformation_Item_sequence[] = { { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_measurementFailureCause_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeasurementFailureCause_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CompleteFailureCauseInformation_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_x2ap_CompleteFailureCauseInformation_Item, CompleteFailureCauseInformation_Item_sequence); return offset; } static const per_sequence_t ResourceStatusUpdate_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ResourceStatusUpdate, ResourceStatusUpdate_sequence); return offset; } static const per_sequence_t CellMeasurementResult_List_sequence_of[1] = { { &hf_x2ap_CellMeasurementResult_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_CellMeasurementResult_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_x2ap_CellMeasurementResult_List, CellMeasurementResult_List_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t CellMeasurementResult_Item_sequence[] = { { &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_hWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HWLoadIndicator }, { &hf_x2ap_s1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_S1TNLLoadIndicator }, { &hf_x2ap_radioResourceStatus, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RadioResourceStatus }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellMeasurementResult_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_x2ap_CellMeasurementResult_Item, CellMeasurementResult_Item_sequence); return offset; } static const per_sequence_t PrivateMessage_sequence[] = { { &hf_x2ap_privateIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PrivateIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_PrivateMessage, PrivateMessage_sequence); return offset; } static const per_sequence_t MobilityChangeRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_MobilityChangeRequest, MobilityChangeRequest_sequence); return offset; } static const per_sequence_t MobilityChangeAcknowledge_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_MobilityChangeAcknowledge, MobilityChangeAcknowledge_sequence); return offset; } static const per_sequence_t MobilityChangeFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_MobilityChangeFailure, MobilityChangeFailure_sequence); return offset; } static const per_sequence_t RLFIndication_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RLFIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_RLFIndication, RLFIndication_sequence); return offset; } static const per_sequence_t CellActivationRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CellActivationRequest, CellActivationRequest_sequence); return offset; } static const per_sequence_t ServedCellsToActivate_Item_sequence[] = { { &hf_x2ap_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedCellsToActivate_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_x2ap_ServedCellsToActivate_Item, ServedCellsToActivate_Item_sequence); return offset; } static const per_sequence_t ServedCellsToActivate_sequence_of[1] = { { &hf_x2ap_ServedCellsToActivate_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellsToActivate_Item }, }; static int dissect_x2ap_ServedCellsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedCellsToActivate, ServedCellsToActivate_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t CellActivationResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CellActivationResponse, CellActivationResponse_sequence); return offset; } static const per_sequence_t ActivatedCellList_Item_sequence[] = { { &hf_x2ap_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ActivatedCellList_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_x2ap_ActivatedCellList_Item, ActivatedCellList_Item_sequence); return offset; } static const per_sequence_t ActivatedCellList_sequence_of[1] = { { &hf_x2ap_ActivatedCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ActivatedCellList_Item }, }; static int dissect_x2ap_ActivatedCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ActivatedCellList, ActivatedCellList_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t CellActivationFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CellActivationFailure, CellActivationFailure_sequence); return offset; } static const per_sequence_t X2Release_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2Release"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_X2Release, X2Release_sequence); return offset; } static const per_sequence_t X2APMessageTransfer_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2APMessageTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_X2APMessageTransfer, X2APMessageTransfer_sequence); return offset; } static const per_sequence_t RNL_Header_sequence[] = { { &hf_x2ap_source_GlobalENB_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GlobalENB_ID }, { &hf_x2ap_target_GlobalENB_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GlobalENB_ID }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_RNL_Header(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_RNL_Header, RNL_Header_sequence); return offset; } static int dissect_x2ap_X2AP_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *parameter_tvb; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); if (parameter_tvb) { proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_X2AP_Message); dissect_X2AP_PDU_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } return offset; } static const per_sequence_t SeNBAdditionRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBAdditionRequest, SeNBAdditionRequest_sequence); return offset; } static const per_sequence_t E_RABs_ToBeAdded_List_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeAdded_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeAdded_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_x2ap_E_RABs_ToBeAdded_List, E_RABs_ToBeAdded_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeAdded_Item_SCG_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding }, { &hf_x2ap_s1_UL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_Item_SCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_Item_SCG_Bearer, E_RABs_ToBeAdded_Item_SCG_Bearer_sequence); return offset; } static const per_sequence_t E_RABs_ToBeAdded_Item_Split_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_meNB_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_Item_Split_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_Item_Split_Bearer, E_RABs_ToBeAdded_Item_Split_Bearer_sequence); return offset; } static const value_string x2ap_E_RABs_ToBeAdded_Item_vals[] = { { 0, "sCG-Bearer" }, { 1, "split-Bearer" }, { 0, NULL } }; static const per_choice_t E_RABs_ToBeAdded_Item_choice[] = { { 0, &hf_x2ap_sCG_Bearer , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_Item_SCG_Bearer }, { 1, &hf_x2ap_split_Bearer , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_Item_Split_Bearer }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_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_x2ap_E_RABs_ToBeAdded_Item, E_RABs_ToBeAdded_Item_choice, NULL); return offset; } static const per_sequence_t SeNBAdditionRequestAcknowledge_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBAdditionRequestAcknowledge, SeNBAdditionRequestAcknowledge_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_List_sequence_of[1] = { { &hf_x2ap_E_RABs_Admitted_ToBeAdded_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_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_x2ap_E_RABs_Admitted_ToBeAdded_List, E_RABs_Admitted_ToBeAdded_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_s1_DL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_uL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer, E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_seNB_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer, E_RABs_Admitted_ToBeAdded_Item_Split_Bearer_sequence); return offset; } static const value_string x2ap_E_RABs_Admitted_ToBeAdded_Item_vals[] = { { 0, "sCG-Bearer" }, { 1, "split-Bearer" }, { 0, NULL } }; static const per_choice_t E_RABs_Admitted_ToBeAdded_Item_choice[] = { { 0, &hf_x2ap_sCG_Bearer_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer }, { 1, &hf_x2ap_split_Bearer_01, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_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_x2ap_E_RABs_Admitted_ToBeAdded_Item, E_RABs_Admitted_ToBeAdded_Item_choice, NULL); return offset; } static const per_sequence_t SeNBAdditionRequestReject_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBAdditionRequestReject, SeNBAdditionRequestReject_sequence); return offset; } static const per_sequence_t SeNBReconfigurationComplete_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReconfigurationComplete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBReconfigurationComplete, SeNBReconfigurationComplete_sequence); return offset; } static const per_sequence_t ResponseInformationSeNBReconfComp_SuccessItem_sequence[] = { { &hf_x2ap_meNBtoSeNBContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MeNBtoSeNBContainer }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ResponseInformationSeNBReconfComp_SuccessItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ResponseInformationSeNBReconfComp_SuccessItem, ResponseInformationSeNBReconfComp_SuccessItem_sequence); return offset; } static const per_sequence_t ResponseInformationSeNBReconfComp_RejectByMeNBItem_sequence[] = { { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause }, { &hf_x2ap_meNBtoSeNBContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MeNBtoSeNBContainer }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ResponseInformationSeNBReconfComp_RejectByMeNBItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ResponseInformationSeNBReconfComp_RejectByMeNBItem, ResponseInformationSeNBReconfComp_RejectByMeNBItem_sequence); return offset; } static const value_string x2ap_ResponseInformationSeNBReconfComp_vals[] = { { 0, "success" }, { 1, "reject-by-MeNB" }, { 0, NULL } }; static const per_choice_t ResponseInformationSeNBReconfComp_choice[] = { { 0, &hf_x2ap_success , ASN1_EXTENSION_ROOT , dissect_x2ap_ResponseInformationSeNBReconfComp_SuccessItem }, { 1, &hf_x2ap_reject_by_MeNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ResponseInformationSeNBReconfComp_RejectByMeNBItem }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_ResponseInformationSeNBReconfComp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_ResponseInformationSeNBReconfComp, ResponseInformationSeNBReconfComp_choice, NULL); return offset; } static const per_sequence_t SeNBModificationRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBModificationRequest, SeNBModificationRequest_sequence); return offset; } static const per_sequence_t E_RABs_ToBeAdded_List_ModReq_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeAdded_List_ModReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeAdded_List_ModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_List_ModReq, E_RABs_ToBeAdded_List_ModReq_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeModified_List_ModReq_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeModified_List_ModReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeModified_List_ModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeModified_List_ModReq, E_RABs_ToBeModified_List_ModReq_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeReleased_List_ModReq_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeReleased_List_ModReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeReleased_List_ModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_List_ModReq, E_RABs_ToBeReleased_List_ModReq_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t UE_ContextInformationSeNBModReq_sequence[] = { { &hf_x2ap_uE_SecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UESecurityCapabilities }, { &hf_x2ap_seNB_SecurityKey, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SeNBSecurityKey }, { &hf_x2ap_seNBUEAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UEAggregateMaximumBitRate }, { &hf_x2ap_e_RABs_ToBeAdded, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RABs_ToBeAdded_List_ModReq }, { &hf_x2ap_e_RABs_ToBeModified, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RABs_ToBeModified_List_ModReq }, { &hf_x2ap_e_RABs_ToBeReleased, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RABs_ToBeReleased_List_ModReq }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UE_ContextInformationSeNBModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UE_ContextInformationSeNBModReq, UE_ContextInformationSeNBModReq_sequence); return offset; } static const per_sequence_t E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding }, { &hf_x2ap_s1_UL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer, E_RABs_ToBeAdded_ModReqItem_SCG_Bearer_sequence); return offset; } static const per_sequence_t E_RABs_ToBeAdded_ModReqItem_Split_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_meNB_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_ModReqItem_Split_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_ModReqItem_Split_Bearer, E_RABs_ToBeAdded_ModReqItem_Split_Bearer_sequence); return offset; } static const value_string x2ap_E_RABs_ToBeAdded_ModReqItem_vals[] = { { 0, "sCG-Bearer" }, { 1, "split-Bearer" }, { 0, NULL } }; static const per_choice_t E_RABs_ToBeAdded_ModReqItem_choice[] = { { 0, &hf_x2ap_sCG_Bearer_02 , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer }, { 1, &hf_x2ap_split_Bearer_02, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_ModReqItem_Split_Bearer }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_ModReqItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_ModReqItem, E_RABs_ToBeAdded_ModReqItem_choice, NULL); return offset; } static const per_sequence_t E_RABs_ToBeModified_ModReqItem_SCG_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_s1_UL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeModified_ModReqItem_SCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeModified_ModReqItem_SCG_Bearer, E_RABs_ToBeModified_ModReqItem_SCG_Bearer_sequence); return offset; } static const per_sequence_t E_RABs_ToBeModified_ModReqItem_Split_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_meNB_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeModified_ModReqItem_Split_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeModified_ModReqItem_Split_Bearer, E_RABs_ToBeModified_ModReqItem_Split_Bearer_sequence); return offset; } static const value_string x2ap_E_RABs_ToBeModified_ModReqItem_vals[] = { { 0, "sCG-Bearer" }, { 1, "split-Bearer" }, { 0, NULL } }; static const per_choice_t E_RABs_ToBeModified_ModReqItem_choice[] = { { 0, &hf_x2ap_sCG_Bearer_03 , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeModified_ModReqItem_SCG_Bearer }, { 1, &hf_x2ap_split_Bearer_03, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeModified_ModReqItem_Split_Bearer }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeModified_ModReqItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeModified_ModReqItem, E_RABs_ToBeModified_ModReqItem_choice, NULL); return offset; } static const per_sequence_t E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_uL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer, E_RABs_ToBeReleased_ModReqItem_SCG_Bearer_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_ModReqItem_Split_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_ModReqItem_Split_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_ModReqItem_Split_Bearer, E_RABs_ToBeReleased_ModReqItem_Split_Bearer_sequence); return offset; } static const value_string x2ap_E_RABs_ToBeReleased_ModReqItem_vals[] = { { 0, "sCG-Bearer" }, { 1, "split-Bearer" }, { 0, NULL } }; static const per_choice_t E_RABs_ToBeReleased_ModReqItem_choice[] = { { 0, &hf_x2ap_sCG_Bearer_04 , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer }, { 1, &hf_x2ap_split_Bearer_04, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_ModReqItem_Split_Bearer }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_ModReqItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_ModReqItem, E_RABs_ToBeReleased_ModReqItem_choice, NULL); return offset; } static const per_sequence_t SeNBModificationRequestAcknowledge_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBModificationRequestAcknowledge, SeNBModificationRequestAcknowledge_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_ModAckList_sequence_of[1] = { { &hf_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList, E_RABs_Admitted_ToBeAdded_ModAckList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_s1_DL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_uL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer, E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_seNB_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer, E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer_sequence); return offset; } static const value_string x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_vals[] = { { 0, "sCG-Bearer" }, { 1, "split-Bearer" }, { 0, NULL } }; static const per_choice_t E_RABs_Admitted_ToBeAdded_ModAckItem_choice[] = { { 0, &hf_x2ap_sCG_Bearer_05 , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer }, { 1, &hf_x2ap_split_Bearer_05, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem, E_RABs_Admitted_ToBeAdded_ModAckItem_choice, NULL); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeModified_ModAckList_sequence_of[1] = { { &hf_x2ap_E_RABs_Admitted_ToBeModified_ModAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_Admitted_ToBeModified_ModAckList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckList, E_RABs_Admitted_ToBeModified_ModAckList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_s1_DL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer, E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_seNB_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer, E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer_sequence); return offset; } static const value_string x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_vals[] = { { 0, "sCG-Bearer" }, { 1, "split-Bearer" }, { 0, NULL } }; static const per_choice_t E_RABs_Admitted_ToBeModified_ModAckItem_choice[] = { { 0, &hf_x2ap_sCG_Bearer_06 , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer }, { 1, &hf_x2ap_split_Bearer_06, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem, E_RABs_Admitted_ToBeModified_ModAckItem_choice, NULL); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeReleased_ModAckList_sequence_of[1] = { { &hf_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList, E_RABs_Admitted_ToBeReleased_ModAckList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer, E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer, E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer_sequence); return offset; } static const value_string x2ap_E_RABs_Admitted_ToReleased_ModAckItem_vals[] = { { 0, "sCG-Bearer" }, { 1, "split-Bearer" }, { 0, NULL } }; static const per_choice_t E_RABs_Admitted_ToReleased_ModAckItem_choice[] = { { 0, &hf_x2ap_sCG_Bearer_07 , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer }, { 1, &hf_x2ap_split_Bearer_07, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToReleased_ModAckItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToReleased_ModAckItem, E_RABs_Admitted_ToReleased_ModAckItem_choice, NULL); return offset; } static const per_sequence_t SeNBModificationRequestReject_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBModificationRequestReject, SeNBModificationRequestReject_sequence); return offset; } static const per_sequence_t SeNBModificationRequired_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBModificationRequired, SeNBModificationRequired_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_ModReqd_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeReleased_ModReqd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeReleased_ModReqd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_ModReqd, E_RABs_ToBeReleased_ModReqd_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeReleased_ModReqdItem_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_ModReqdItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_ModReqdItem, E_RABs_ToBeReleased_ModReqdItem_sequence); return offset; } static const per_sequence_t SeNBModificationConfirm_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBModificationConfirm, SeNBModificationConfirm_sequence); return offset; } static const per_sequence_t SeNBModificationRefuse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRefuse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBModificationRefuse, SeNBModificationRefuse_sequence); return offset; } static const per_sequence_t SeNBReleaseRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBReleaseRequest, SeNBReleaseRequest_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_List_RelReq_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeReleased_List_RelReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeReleased_List_RelReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_List_RelReq, E_RABs_ToBeReleased_List_RelReq_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_uL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer, E_RABs_ToBeReleased_RelReqItem_SCG_Bearer_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_RelReqItem_Split_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_RelReqItem_Split_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_RelReqItem_Split_Bearer, E_RABs_ToBeReleased_RelReqItem_Split_Bearer_sequence); return offset; } static const value_string x2ap_E_RABs_ToBeReleased_RelReqItem_vals[] = { { 0, "sCG-Bearer" }, { 1, "split-Bearer" }, { 0, NULL } }; static const per_choice_t E_RABs_ToBeReleased_RelReqItem_choice[] = { { 0, &hf_x2ap_sCG_Bearer_08 , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer }, { 1, &hf_x2ap_split_Bearer_08, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_RelReqItem_Split_Bearer }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_RelReqItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_RelReqItem, E_RABs_ToBeReleased_RelReqItem_choice, NULL); return offset; } static const per_sequence_t SeNBReleaseRequired_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBReleaseRequired, SeNBReleaseRequired_sequence); return offset; } static const per_sequence_t SeNBReleaseConfirm_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBReleaseConfirm, SeNBReleaseConfirm_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_List_RelConf_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeReleased_List_RelConf_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeReleased_List_RelConf(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_List_RelConf, E_RABs_ToBeReleased_List_RelConf_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_uL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer, E_RABs_ToBeReleased_RelConfItem_SCG_Bearer_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_RelConfItem_Split_Bearer_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_RelConfItem_Split_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_RelConfItem_Split_Bearer, E_RABs_ToBeReleased_RelConfItem_Split_Bearer_sequence); return offset; } static const value_string x2ap_E_RABs_ToBeReleased_RelConfItem_vals[] = { { 0, "sCG-Bearer" }, { 1, "split-Bearer" }, { 0, NULL } }; static const per_choice_t E_RABs_ToBeReleased_RelConfItem_choice[] = { { 0, &hf_x2ap_sCG_Bearer_09 , ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer }, { 1, &hf_x2ap_split_Bearer_09, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_RelConfItem_Split_Bearer }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_RelConfItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_RelConfItem, E_RABs_ToBeReleased_RelConfItem_choice, NULL); return offset; } static const per_sequence_t SeNBCounterCheckRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBCounterCheckRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SeNBCounterCheckRequest, SeNBCounterCheckRequest_sequence); return offset; } static const per_sequence_t E_RABs_SubjectToCounterCheck_List_sequence_of[1] = { { &hf_x2ap_E_RABs_SubjectToCounterCheck_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_SubjectToCounterCheck_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_x2ap_E_RABs_SubjectToCounterCheck_List, E_RABs_SubjectToCounterCheck_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static int dissect_x2ap_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 4294967295U, NULL, FALSE); return offset; } static const per_sequence_t E_RABs_SubjectToCounterCheckItem_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_uL_Count , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4294967295 }, { &hf_x2ap_dL_Count , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4294967295 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_SubjectToCounterCheckItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_SubjectToCounterCheckItem, E_RABs_SubjectToCounterCheckItem_sequence); return offset; } static const per_sequence_t X2RemovalRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_X2RemovalRequest, X2RemovalRequest_sequence); return offset; } static const per_sequence_t X2RemovalResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_X2RemovalResponse, X2RemovalResponse_sequence); return offset; } static const per_sequence_t X2RemovalFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_X2RemovalFailure, X2RemovalFailure_sequence); return offset; } static const per_sequence_t RetrieveUEContextRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_RetrieveUEContextRequest, RetrieveUEContextRequest_sequence); return offset; } static const per_sequence_t RetrieveUEContextResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_RetrieveUEContextResponse, RetrieveUEContextResponse_sequence); return offset; } static const per_sequence_t E_RABs_ToBeSetup_ListRetrieve_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeSetup_ListRetrieve_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeSetup_ListRetrieve(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeSetup_ListRetrieve, E_RABs_ToBeSetup_ListRetrieve_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t UE_ContextInformationRetrieve_sequence[] = { { &hf_x2ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UE_S1AP_ID }, { &hf_x2ap_uESecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UESecurityCapabilities }, { &hf_x2ap_aS_SecurityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AS_SecurityInformation }, { &hf_x2ap_uEaggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UEAggregateMaximumBitRate }, { &hf_x2ap_subscriberProfileIDforRFP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SubscriberProfileIDforRFP }, { &hf_x2ap_e_RABs_ToBeSetup_ListRetrieve, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABs_ToBeSetup_ListRetrieve }, { &hf_x2ap_rRC_Context , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RRC_Context }, { &hf_x2ap_handoverRestrictionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HandoverRestrictionList }, { &hf_x2ap_locationReportingInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_LocationReportingInformation }, { &hf_x2ap_managBasedMDTallowed, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ManagementBasedMDTallowed }, { &hf_x2ap_managBasedMDTPLMNList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MDTPLMNList }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UE_ContextInformationRetrieve(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UE_ContextInformationRetrieve, UE_ContextInformationRetrieve_sequence); return offset; } static const per_sequence_t E_RABs_ToBeSetupRetrieve_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_e_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_bearerType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BearerType }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeSetupRetrieve_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_x2ap_E_RABs_ToBeSetupRetrieve_Item, E_RABs_ToBeSetupRetrieve_Item_sequence); return offset; } static const per_sequence_t RetrieveUEContextFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_RetrieveUEContextFailure, RetrieveUEContextFailure_sequence); return offset; } static const per_sequence_t SgNBAdditionRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBAdditionRequest, SgNBAdditionRequest_sequence); return offset; } static const per_sequence_t E_RABs_ToBeAdded_SgNBAddReqList_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_SgNBAddReqList, E_RABs_ToBeAdded_SgNBAddReqList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_full_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_max_MCG_admit_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GBR_QosInformation }, { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding }, { &hf_x2ap_meNB_DL_GTP_TEIDatMCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_s1_UL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_requested_SCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_meNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_secondary_meNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_rlc_Mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RLCMode }, { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent, E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_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_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration, T_resource_configuration_choice, NULL); return offset; } static const per_sequence_t E_RABs_ToBeAdded_SgNBAddReq_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_drb_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DRB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_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_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item, E_RABs_ToBeAdded_SgNBAddReq_Item_sequence); return offset; } static const per_sequence_t SgNBAdditionRequestAcknowledge_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBAdditionRequestAcknowledge, SgNBAdditionRequestAcknowledge_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_sequence_of[1] = { { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList, E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_s1_DL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_sgNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_rlc_Mode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RLCMode }, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_uL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_mCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_secondary_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent, E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_01_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_01_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_01, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_01, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_01, T_resource_configuration_01_choice, NULL); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_01 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_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_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item, E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_sequence); return offset; } static const per_sequence_t SgNBAdditionRequestReject_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBAdditionRequestReject, SgNBAdditionRequestReject_sequence); return offset; } static const per_sequence_t SgNBReconfigurationComplete_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReconfigurationComplete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBReconfigurationComplete, SgNBReconfigurationComplete_sequence); return offset; } static const per_sequence_t ResponseInformationSgNBReconfComp_SuccessItem_sequence[] = { { &hf_x2ap_meNBtoSgNBContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MeNBtoSgNBContainer }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ResponseInformationSgNBReconfComp_SuccessItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ResponseInformationSgNBReconfComp_SuccessItem, ResponseInformationSgNBReconfComp_SuccessItem_sequence); return offset; } static const per_sequence_t ResponseInformationSgNBReconfComp_RejectByMeNBItem_sequence[] = { { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ResponseInformationSgNBReconfComp_RejectByMeNBItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ResponseInformationSgNBReconfComp_RejectByMeNBItem, ResponseInformationSgNBReconfComp_RejectByMeNBItem_sequence); return offset; } static const value_string x2ap_ResponseInformationSgNBReconfComp_vals[] = { { 0, "success-SgNBReconfComp" }, { 1, "reject-by-MeNB-SgNBReconfComp" }, { 0, NULL } }; static const per_choice_t ResponseInformationSgNBReconfComp_choice[] = { { 0, &hf_x2ap_success_SgNBReconfComp, ASN1_EXTENSION_ROOT , dissect_x2ap_ResponseInformationSgNBReconfComp_SuccessItem }, { 1, &hf_x2ap_reject_by_MeNB_SgNBReconfComp, ASN1_EXTENSION_ROOT , dissect_x2ap_ResponseInformationSgNBReconfComp_RejectByMeNBItem }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_ResponseInformationSgNBReconfComp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_ResponseInformationSgNBReconfComp, ResponseInformationSgNBReconfComp_choice, NULL); return offset; } static const per_sequence_t SgNBModificationRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBModificationRequest, SgNBModificationRequest_sequence); return offset; } static const per_sequence_t E_RABs_ToBeAdded_SgNBModReq_List_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_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_x2ap_E_RABs_ToBeAdded_SgNBModReq_List, E_RABs_ToBeAdded_SgNBModReq_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeModified_SgNBModReq_List_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeModified_SgNBModReq_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_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_x2ap_E_RABs_ToBeModified_SgNBModReq_List, E_RABs_ToBeModified_SgNBModReq_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBModReq_List_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_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_x2ap_E_RABs_ToBeReleased_SgNBModReq_List, E_RABs_ToBeReleased_SgNBModReq_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t UE_ContextInformation_SgNBModReq_sequence[] = { { &hf_x2ap_nRUE_SecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRUESecurityCapabilities }, { &hf_x2ap_sgNB_SecurityKey, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SgNBSecurityKey }, { &hf_x2ap_sgNBUEAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UEAggregateMaximumBitRate }, { &hf_x2ap_e_RABs_ToBeAdded_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_List }, { &hf_x2ap_e_RABs_ToBeModified_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_List }, { &hf_x2ap_e_RABs_ToBeReleased_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UE_ContextInformation_SgNBModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UE_ContextInformation_SgNBModReq, UE_ContextInformation_SgNBModReq_sequence); return offset; } static const per_sequence_t E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_full_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_max_MN_admit_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GBR_QosInformation }, { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding }, { &hf_x2ap_meNB_DL_GTP_TEIDatMCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_s1_UL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent, E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_requested_SCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_meNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_secondary_meNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_rlc_Mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RLCMode }, { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_02_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_02_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_02, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_02, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_02, T_resource_configuration_02_choice, NULL); return offset; } static const per_sequence_t E_RABs_ToBeAdded_SgNBModReq_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_drb_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_DRB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_02 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_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_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item, E_RABs_ToBeAdded_SgNBModReq_Item_sequence); return offset; } static const per_sequence_t E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_full_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_max_MN_admit_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GBR_QosInformation }, { &hf_x2ap_meNB_DL_GTP_TEIDatMCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_s1_UL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent, E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_requested_SCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_meNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent, E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_03_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_03_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_03, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_03, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_03, T_resource_configuration_03_choice, NULL); return offset; } static const per_sequence_t E_RABs_ToBeModified_SgNBModReq_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_03 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_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_x2ap_E_RABs_ToBeModified_SgNBModReq_Item, E_RABs_ToBeModified_SgNBModReq_Item_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent, E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent, E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_04_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_04_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_04, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_04, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_04, T_resource_configuration_04_choice, NULL); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBModReq_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_04, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_04 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_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_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item, E_RABs_ToBeReleased_SgNBModReq_Item_sequence); return offset; } static const per_sequence_t SgNBModificationRequestAcknowledge_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBModificationRequestAcknowledge, SgNBModificationRequestAcknowledge_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBModAckList_sequence_of[1] = { { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList, E_RABs_Admitted_ToBeAdded_SgNBModAckList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_s1_DL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_sgNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_rlc_Mode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RLCMode }, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_uL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_mCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_secondary_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent, E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_05_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_05_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_05, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_05, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_05, T_resource_configuration_05_choice, NULL); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_05, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_05 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_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_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeModified_SgNBModAckList_sequence_of[1] = { { &hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList, E_RABs_Admitted_ToBeModified_SgNBModAckList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_s1_DL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_sgNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_mCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent, E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent, E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_06_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_06_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_06, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_06, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_06, T_resource_configuration_06_choice, NULL); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeModified_SgNBModAck_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_06, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_06 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_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_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item, E_RABs_Admitted_ToBeModified_SgNBModAck_Item_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeReleased_SgNBModAckList_sequence_of[1] = { { &hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList, E_RABs_Admitted_ToBeReleased_SgNBModAckList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent, E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent, E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_07_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_07_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_07, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_07, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_07, T_resource_configuration_07_choice, NULL); return offset; } static const per_sequence_t E_RABs_Admitted_ToReleased_SgNBModAck_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_07, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_07 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_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_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item, E_RABs_Admitted_ToReleased_SgNBModAck_Item_sequence); return offset; } static const per_sequence_t SgNBModificationRequestReject_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBModificationRequestReject, SgNBModificationRequestReject_sequence); return offset; } static const per_sequence_t SgNBModificationRequired_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBModificationRequired, SgNBModificationRequired_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBModReqdList_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBModReqdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBModReqdList, E_RABs_ToBeReleased_SgNBModReqdList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBModReqd_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBModReqd_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_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item, E_RABs_ToBeReleased_SgNBModReqd_Item_sequence); return offset; } static const per_sequence_t E_RABs_ToBeModified_SgNBModReqdList_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeModified_SgNBModReqdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeModified_SgNBModReqdList, E_RABs_ToBeModified_SgNBModReqdList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_requested_MCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, { &hf_x2ap_sgNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_s1_DL_GTP_TEIDatSgNB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent, E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_secondary_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent, E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_08_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_08_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_08, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_08, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_08, T_resource_configuration_08_choice, NULL); return offset; } static const per_sequence_t E_RABs_ToBeModified_SgNBModReqd_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_08, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_08 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_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_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item, E_RABs_ToBeModified_SgNBModReqd_Item_sequence); return offset; } static const per_sequence_t SgNBModificationConfirm_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBModificationConfirm, SgNBModificationConfirm_sequence); return offset; } static const per_sequence_t E_RABs_AdmittedToBeModified_SgNBModConfList_sequence_of[1] = { { &hf_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList, E_RABs_AdmittedToBeModified_SgNBModConfList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent, E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_secondary_meNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent, E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_09_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_09_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_09, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_09, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_09, T_resource_configuration_09_choice, NULL); return offset; } static const per_sequence_t E_RABs_AdmittedToBeModified_SgNBModConf_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_09, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_09 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_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_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item, E_RABs_AdmittedToBeModified_SgNBModConf_Item_sequence); return offset; } static const per_sequence_t SgNBModificationRefuse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRefuse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBModificationRefuse, SgNBModificationRefuse_sequence); return offset; } static const per_sequence_t SgNBReleaseRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBReleaseRequest, SgNBReleaseRequest_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBRelReqList_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBRelReqList, E_RABs_ToBeReleased_SgNBRelReqList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent, E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent, E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_10_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_10_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_10, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_10, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_10, T_resource_configuration_10_choice, NULL); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBRelReq_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_10 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_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_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item, E_RABs_ToBeReleased_SgNBRelReq_Item_sequence); return offset; } static const per_sequence_t SgNBReleaseRequestAcknowledge_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBReleaseRequestAcknowledge, SgNBReleaseRequestAcknowledge_sequence); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_sequence_of[1] = { { &hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList, E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_rlc_Mode_transferred, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RLCMode }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_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_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item, E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item_sequence); return offset; } static const per_sequence_t SgNBReleaseRequestReject_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBReleaseRequestReject, SgNBReleaseRequestReject_sequence); return offset; } static const per_sequence_t SgNBReleaseRequired_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBReleaseRequired, SgNBReleaseRequired_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBRelReqdList_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList, E_RABs_ToBeReleased_SgNBRelReqdList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBRelReqd_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_rlc_Mode_transferred, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RLCMode }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReqd_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_x2ap_E_RABs_ToBeReleased_SgNBRelReqd_Item, E_RABs_ToBeReleased_SgNBRelReqd_Item_sequence); return offset; } static const per_sequence_t SgNBReleaseConfirm_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBReleaseConfirm, SgNBReleaseConfirm_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBRelConfList_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConfList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBRelConfList, E_RABs_ToBeReleased_SgNBRelConfList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent, E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent, E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_11_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_11_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_11, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_11, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_11, T_resource_configuration_11_choice, NULL); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBRelConf_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_11 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_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_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item, E_RABs_ToBeReleased_SgNBRelConf_Item_sequence); return offset; } static const per_sequence_t SgNBCounterCheckRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBCounterCheckRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBCounterCheckRequest, SgNBCounterCheckRequest_sequence); return offset; } static const per_sequence_t E_RABs_SubjectToSgNBCounterCheck_List_sequence_of[1] = { { &hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_SubjectToSgNBCounterCheck_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_x2ap_E_RABs_SubjectToSgNBCounterCheck_List, E_RABs_SubjectToSgNBCounterCheck_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_SubjectToSgNBCounterCheck_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_uL_Count , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4294967295 }, { &hf_x2ap_dL_Count , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4294967295 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_SubjectToSgNBCounterCheck_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_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item, E_RABs_SubjectToSgNBCounterCheck_Item_sequence); return offset; } static const per_sequence_t SgNBChangeRequired_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBChangeRequired, SgNBChangeRequired_sequence); return offset; } static const per_sequence_t AccessAndMobilityIndication_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_AccessAndMobilityIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AccessAndMobilityIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_AccessAndMobilityIndication, AccessAndMobilityIndication_sequence); return offset; } static const per_sequence_t SgNBChangeConfirm_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBChangeConfirm, SgNBChangeConfirm_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBChaConfList_sequence_of[1] = { { &hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConfList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBChaConfList, E_RABs_ToBeReleased_SgNBChaConfList_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent_sequence[] = { { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent, E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent_sequence); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent_sequence[] = { { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent, E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent_sequence); return offset; } static const value_string x2ap_T_resource_configuration_12_vals[] = { { 0, "sgNBPDCPpresent" }, { 1, "sgNBPDCPnotpresent" }, { 0, NULL } }; static const per_choice_t T_resource_configuration_12_choice[] = { { 0, &hf_x2ap_sgNBPDCPpresent_12, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent }, { 1, &hf_x2ap_sgNBPDCPnotpresent_12, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_resource_configuration_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_resource_configuration_12, T_resource_configuration_12_choice, NULL); return offset; } static const per_sequence_t E_RABs_ToBeReleased_SgNBChaConf_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, { &hf_x2ap_resource_configuration_12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_12 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_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_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item, E_RABs_ToBeReleased_SgNBChaConf_Item_sequence); return offset; } static const per_sequence_t RRCTransfer_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_RRCTransfer, RRCTransfer_sequence); return offset; } static const per_sequence_t SgNBChangeRefuse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeRefuse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBChangeRefuse, SgNBChangeRefuse_sequence); return offset; } static const per_sequence_t ENDCX2SetupRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCX2SetupRequest, ENDCX2SetupRequest_sequence); return offset; } static const value_string x2ap_InitiatingNodeType_EndcX2Setup_vals[] = { { 0, "init-eNB" }, { 1, "init-en-gNB" }, { 0, NULL } }; static const per_choice_t InitiatingNodeType_EndcX2Setup_choice[] = { { 0, &hf_x2ap_init_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 1, &hf_x2ap_init_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_InitiatingNodeType_EndcX2Setup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_InitiatingNodeType_EndcX2Setup, InitiatingNodeType_EndcX2Setup_choice, NULL); return offset; } static const per_sequence_t ServedEUTRAcellsENDCX2ManagementList_item_sequence[] = { { &hf_x2ap_servedEUTRACellInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information }, { &hf_x2ap_nrNeighbourInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRNeighbour_Information }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedEUTRAcellsENDCX2ManagementList_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_x2ap_ServedEUTRAcellsENDCX2ManagementList_item, ServedEUTRAcellsENDCX2ManagementList_item_sequence); return offset; } static const per_sequence_t ServedEUTRAcellsENDCX2ManagementList_sequence_of[1] = { { &hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedEUTRAcellsENDCX2ManagementList_item }, }; static int dissect_x2ap_ServedEUTRAcellsENDCX2ManagementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedEUTRAcellsENDCX2ManagementList, ServedEUTRAcellsENDCX2ManagementList_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t FDD_InfoServedNRCell_Information_sequence[] = { { &hf_x2ap_ul_NRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRFreqInfo }, { &hf_x2ap_dl_NRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRFreqInfo }, { &hf_x2ap_ul_NR_TxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NR_TxBW }, { &hf_x2ap_dl_NR_TxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NR_TxBW }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_FDD_InfoServedNRCell_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_x2ap_FDD_InfoServedNRCell_Information, FDD_InfoServedNRCell_Information_sequence); return offset; } static const per_sequence_t TDD_InfoServedNRCell_Information_sequence[] = { { &hf_x2ap_nRFreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRFreqInfo }, { &hf_x2ap_nR_TxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NR_TxBW }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_TDD_InfoServedNRCell_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_x2ap_TDD_InfoServedNRCell_Information, TDD_InfoServedNRCell_Information_sequence); return offset; } static const value_string x2ap_T_nrModeInfo_vals[] = { { 0, "fdd" }, { 1, "tdd" }, { 0, NULL } }; static const per_choice_t T_nrModeInfo_choice[] = { { 0, &hf_x2ap_fdd_04 , ASN1_EXTENSION_ROOT , dissect_x2ap_FDD_InfoServedNRCell_Information }, { 1, &hf_x2ap_tdd_04 , ASN1_EXTENSION_ROOT , dissect_x2ap_TDD_InfoServedNRCell_Information }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_T_nrModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_T_nrModeInfo, T_nrModeInfo_choice, NULL); return offset; } static int dissect_x2ap_T_measurementTimingConfiguration_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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_x2ap_measurementTimingConfiguration); dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL); } return offset; } static const per_sequence_t ServedNRCell_Information_sequence[] = { { &hf_x2ap_nrpCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRPCI }, { &hf_x2ap_nrCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_fiveGS_TAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_FiveGS_TAC }, { &hf_x2ap_configured_TAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_TAC }, { &hf_x2ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastPLMNs_Item }, { &hf_x2ap_nrModeInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_nrModeInfo }, { &hf_x2ap_measurementTimingConfiguration_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_measurementTimingConfiguration_01 }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedNRCell_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_x2ap_ServedNRCell_Information, ServedNRCell_Information_sequence); return offset; } static const per_sequence_t ServedNRcellsENDCX2ManagementList_item_sequence[] = { { &hf_x2ap_servedNRCellInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedNRCell_Information }, { &hf_x2ap_nRNeighbourInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRNeighbour_Information }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedNRcellsENDCX2ManagementList_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_x2ap_ServedNRcellsENDCX2ManagementList_item, ServedNRcellsENDCX2ManagementList_item_sequence); return offset; } static const per_sequence_t ServedNRcellsENDCX2ManagementList_sequence_of[1] = { { &hf_x2ap_ServedNRcellsENDCX2ManagementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedNRcellsENDCX2ManagementList_item }, }; static int dissect_x2ap_ServedNRcellsENDCX2ManagementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedNRcellsENDCX2ManagementList, ServedNRcellsENDCX2ManagementList_sequence_of, 1, maxCellinengNB, FALSE); return offset; } static const per_sequence_t Limited_list_item_sequence[] = { { &hf_x2ap_nrCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_Limited_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_x2ap_Limited_list_item, Limited_list_item_sequence); return offset; } static const per_sequence_t Limited_list_sequence_of[1] = { { &hf_x2ap_Limited_list_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Limited_list_item }, }; static int dissect_x2ap_Limited_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_x2ap_Limited_list, Limited_list_sequence_of, 1, maxCellinengNB, FALSE); return offset; } static const value_string x2ap_T_full_list_vals[] = { { 0, "allServedNRcells" }, { 0, NULL } }; static int dissect_x2ap_T_full_list(tvbuff_t *tvb _U_, int offset _U_, asn1_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 x2ap_CellAssistanceInformation_vals[] = { { 0, "limited-list" }, { 1, "full-list" }, { 0, NULL } }; static const per_choice_t CellAssistanceInformation_choice[] = { { 0, &hf_x2ap_limited_list , ASN1_EXTENSION_ROOT , dissect_x2ap_Limited_list }, { 1, &hf_x2ap_full_list , ASN1_EXTENSION_ROOT , dissect_x2ap_T_full_list }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_CellAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_CellAssistanceInformation, CellAssistanceInformation_choice, NULL); return offset; } static const per_sequence_t CellandCapacityAssistInfo_sequence[] = { { &hf_x2ap_maximumCellListSize, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MaximumCellListSize }, { &hf_x2ap_cellAssistanceInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CellAssistanceInformation }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellandCapacityAssistInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CellandCapacityAssistInfo, CellandCapacityAssistInfo_sequence); return offset; } static const per_sequence_t ENDCX2SetupResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCX2SetupResponse, ENDCX2SetupResponse_sequence); return offset; } static const value_string x2ap_RespondingNodeType_EndcX2Setup_vals[] = { { 0, "respond-eNB" }, { 1, "respond-en-gNB" }, { 0, NULL } }; static const per_choice_t RespondingNodeType_EndcX2Setup_choice[] = { { 0, &hf_x2ap_respond_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 1, &hf_x2ap_respond_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_RespondingNodeType_EndcX2Setup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_RespondingNodeType_EndcX2Setup, RespondingNodeType_EndcX2Setup_choice, NULL); return offset; } static const per_sequence_t ENDCX2SetupFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCX2SetupFailure, ENDCX2SetupFailure_sequence); return offset; } static const per_sequence_t ENDCConfigurationUpdate_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCConfigurationUpdate, ENDCConfigurationUpdate_sequence); return offset; } static const value_string x2ap_InitiatingNodeType_EndcConfigUpdate_vals[] = { { 0, "init-eNB" }, { 1, "init-en-gNB" }, { 0, NULL } }; static const per_choice_t InitiatingNodeType_EndcConfigUpdate_choice[] = { { 0, &hf_x2ap_init_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 1, &hf_x2ap_init_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_InitiatingNodeType_EndcConfigUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_InitiatingNodeType_EndcConfigUpdate, InitiatingNodeType_EndcConfigUpdate_choice, NULL); return offset; } static const per_sequence_t ServedEUTRAcellsToModifyListENDCConfUpd_item_sequence[] = { { &hf_x2ap_old_ECGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_servedEUTRACellInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information }, { &hf_x2ap_nrNeighbourInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRNeighbour_Information }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_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_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item, ServedEUTRAcellsToModifyListENDCConfUpd_item_sequence); return offset; } static const per_sequence_t ServedEUTRAcellsToModifyListENDCConfUpd_sequence_of[1] = { { &hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item }, }; static int dissect_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd, ServedEUTRAcellsToModifyListENDCConfUpd_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t ServedEUTRAcellsToDeleteListENDCConfUpd_sequence_of[1] = { { &hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, }; static int dissect_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd, ServedEUTRAcellsToDeleteListENDCConfUpd_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t ServedNRCellsToModify_Item_sequence[] = { { &hf_x2ap_old_nrcgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_servedNRCellInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedNRCell_Information }, { &hf_x2ap_nrNeighbourInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRNeighbour_Information }, { &hf_x2ap_nrDeactivationIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DeactivationIndication }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedNRCellsToModify_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_x2ap_ServedNRCellsToModify_Item, ServedNRCellsToModify_Item_sequence); return offset; } static const per_sequence_t ServedNRcellsToModifyENDCConfUpdList_sequence_of[1] = { { &hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedNRCellsToModify_Item }, }; static int dissect_x2ap_ServedNRcellsToModifyENDCConfUpdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedNRcellsToModifyENDCConfUpdList, ServedNRcellsToModifyENDCConfUpdList_sequence_of, 1, maxCellinengNB, FALSE); return offset; } static const per_sequence_t ServedNRcellsToDeleteENDCConfUpdList_sequence_of[1] = { { &hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, }; static int dissect_x2ap_ServedNRcellsToDeleteENDCConfUpdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedNRcellsToDeleteENDCConfUpdList, ServedNRcellsToDeleteENDCConfUpdList_sequence_of, 1, maxCellinengNB, FALSE); return offset; } static const per_sequence_t ENDCConfigurationUpdateAcknowledge_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCConfigurationUpdateAcknowledge, ENDCConfigurationUpdateAcknowledge_sequence); return offset; } static const value_string x2ap_RespondingNodeType_EndcConfigUpdate_vals[] = { { 0, "respond-eNB" }, { 1, "respond-en-gNB" }, { 0, NULL } }; static const per_choice_t RespondingNodeType_EndcConfigUpdate_choice[] = { { 0, &hf_x2ap_respond_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 1, &hf_x2ap_respond_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_RespondingNodeType_EndcConfigUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_RespondingNodeType_EndcConfigUpdate, RespondingNodeType_EndcConfigUpdate_choice, NULL); return offset; } static const per_sequence_t ENDCConfigurationUpdateFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCConfigurationUpdateFailure, ENDCConfigurationUpdateFailure_sequence); return offset; } static const per_sequence_t ENDCCellActivationRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCCellActivationRequest, ENDCCellActivationRequest_sequence); return offset; } static const per_sequence_t ServedNRCellsToActivate_Item_sequence[] = { { &hf_x2ap_nrCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ServedNRCellsToActivate_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_x2ap_ServedNRCellsToActivate_Item, ServedNRCellsToActivate_Item_sequence); return offset; } static const per_sequence_t ServedNRCellsToActivate_sequence_of[1] = { { &hf_x2ap_ServedNRCellsToActivate_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedNRCellsToActivate_Item }, }; static int dissect_x2ap_ServedNRCellsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ServedNRCellsToActivate, ServedNRCellsToActivate_sequence_of, 1, maxCellinengNB, FALSE); return offset; } static const per_sequence_t ENDCCellActivationResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCCellActivationResponse, ENDCCellActivationResponse_sequence); return offset; } static const per_sequence_t ActivatedNRCellList_Item_sequence[] = { { &hf_x2ap_nrCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_ActivatedNRCellList_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_x2ap_ActivatedNRCellList_Item, ActivatedNRCellList_Item_sequence); return offset; } static const per_sequence_t ActivatedNRCellList_sequence_of[1] = { { &hf_x2ap_ActivatedNRCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ActivatedNRCellList_Item }, }; static int dissect_x2ap_ActivatedNRCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ActivatedNRCellList, ActivatedNRCellList_sequence_of, 1, maxCellinengNB, FALSE); return offset; } static const per_sequence_t ENDCCellActivationFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCCellActivationFailure, ENDCCellActivationFailure_sequence); return offset; } static const per_sequence_t ENDCResourceStatusRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCResourceStatusRequest, ENDCResourceStatusRequest_sequence); return offset; } static const value_string x2ap_ReportingPeriodicity_ENDC_vals[] = { { 0, "ms500" }, { 1, "ms1000" }, { 2, "ms2000" }, { 3, "ms5000" }, { 4, "ms10000" }, { 0, NULL } }; static int dissect_x2ap_ReportingPeriodicity_ENDC(tvbuff_t *tvb _U_, int offset _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 CellToReport_NR_ENDC_List_sequence_of[1] = { { &hf_x2ap_CellToReport_NR_ENDC_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_CellToReport_NR_ENDC_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_x2ap_CellToReport_NR_ENDC_List, CellToReport_NR_ENDC_List_sequence_of, 1, maxCellinengNB, FALSE); return offset; } static const per_sequence_t SSBToReport_Item_sequence[] = { { &hf_x2ap_ssbIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBIndex }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_SSBToReport_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_x2ap_SSBToReport_Item, SSBToReport_Item_sequence); return offset; } static const per_sequence_t SSBToReport_List_sequence_of[1] = { { &hf_x2ap_SSBToReport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBToReport_Item }, }; static int dissect_x2ap_SSBToReport_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_x2ap_SSBToReport_List, SSBToReport_List_sequence_of, 1, maxnoofSSBAreas, FALSE); return offset; } static const per_sequence_t CellToReport_NR_ENDC_Item_sequence[] = { { &hf_x2ap_nr_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_ssbToReport_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SSBToReport_List }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellToReport_NR_ENDC_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_x2ap_CellToReport_NR_ENDC_Item, CellToReport_NR_ENDC_Item_sequence); return offset; } static const per_sequence_t CellToReport_E_UTRA_ENDC_List_sequence_of[1] = { { &hf_x2ap_CellToReport_E_UTRA_ENDC_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_CellToReport_E_UTRA_ENDC_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_x2ap_CellToReport_E_UTRA_ENDC_List, CellToReport_E_UTRA_ENDC_List_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t CellToReport_E_UTRA_ENDC_Item_sequence[] = { { &hf_x2ap_e_utra_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellToReport_E_UTRA_ENDC_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_x2ap_CellToReport_E_UTRA_ENDC_Item, CellToReport_E_UTRA_ENDC_Item_sequence); return offset; } static const per_sequence_t ENDCResourceStatusResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCResourceStatusResponse, ENDCResourceStatusResponse_sequence); return offset; } static const per_sequence_t ENDCResourceStatusFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCResourceStatusFailure, ENDCResourceStatusFailure_sequence); return offset; } static const per_sequence_t ENDCResourceStatusUpdate_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCResourceStatusUpdate, ENDCResourceStatusUpdate_sequence); return offset; } static const per_sequence_t CellMeasurementResult_NR_ENDC_List_sequence_of[1] = { { &hf_x2ap_CellMeasurementResult_NR_ENDC_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_CellMeasurementResult_NR_ENDC_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_x2ap_CellMeasurementResult_NR_ENDC_List, CellMeasurementResult_NR_ENDC_List_sequence_of, 1, maxCellinengNB, FALSE); return offset; } static int dissect_x2ap_INTEGER_0_16777215_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 16777215U, NULL, TRUE); return offset; } static const per_sequence_t CellMeasurementResult_NR_ENDC_Item_sequence[] = { { &hf_x2ap_nr_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, { &hf_x2ap_nr_radioResourceStatus, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRRadioResourceStatus }, { &hf_x2ap_tnlCapacityIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_TNLCapacityIndicator }, { &hf_x2ap_nr_compositeAvailableCapacityGroup, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRCompositeAvailableCapacityGroup }, { &hf_x2ap_numberofActiveUEs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_16777215_ }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellMeasurementResult_NR_ENDC_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_x2ap_CellMeasurementResult_NR_ENDC_Item, CellMeasurementResult_NR_ENDC_Item_sequence); return offset; } static const per_sequence_t CellMeasurementResult_E_UTRA_ENDC_List_sequence_of[1] = { { &hf_x2ap_CellMeasurementResult_E_UTRA_ENDC_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_CellMeasurementResult_E_UTRA_ENDC_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_x2ap_CellMeasurementResult_E_UTRA_ENDC_List, CellMeasurementResult_E_UTRA_ENDC_List_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t CellMeasurementResult_E_UTRA_ENDC_Item_sequence[] = { { &hf_x2ap_e_utra_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, { &hf_x2ap_hWLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HWLoadIndicator }, { &hf_x2ap_s1TNLLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_S1TNLLoadIndicator }, { &hf_x2ap_radioResourceStatus, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RadioResourceStatus }, { &hf_x2ap_compositeAvailableCapacityGroup, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CompositeAvailableCapacityGroup }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CellMeasurementResult_E_UTRA_ENDC_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_x2ap_CellMeasurementResult_E_UTRA_ENDC_Item, CellMeasurementResult_E_UTRA_ENDC_Item_sequence); return offset; } static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SecondaryRATDataUsageReport, SecondaryRATDataUsageReport_sequence); return offset; } static const per_sequence_t SgNBActivityNotification_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBActivityNotification"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_SgNBActivityNotification, SgNBActivityNotification_sequence); return offset; } static const per_sequence_t ENDCPartialResetRequired_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCPartialResetRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCPartialResetRequired, ENDCPartialResetRequired_sequence); return offset; } static const per_sequence_t ENDCPartialResetConfirm_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCPartialResetConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCPartialResetConfirm, ENDCPartialResetConfirm_sequence); return offset; } static const per_sequence_t EUTRANRCellResourceCoordinationRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EUTRANRCellResourceCoordinationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_EUTRANRCellResourceCoordinationRequest, EUTRANRCellResourceCoordinationRequest_sequence); return offset; } static const value_string x2ap_InitiatingNodeType_EutranrCellResourceCoordination_vals[] = { { 0, "initiate-eNB" }, { 1, "initiate-en-gNB" }, { 0, NULL } }; static const per_choice_t InitiatingNodeType_EutranrCellResourceCoordination_choice[] = { { 0, &hf_x2ap_initiate_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 1, &hf_x2ap_initiate_en_gNB, ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_InitiatingNodeType_EutranrCellResourceCoordination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_InitiatingNodeType_EutranrCellResourceCoordination, InitiatingNodeType_EutranrCellResourceCoordination_choice, NULL); return offset; } static const per_sequence_t ListofEUTRACellsinEUTRACoordinationReq_sequence_of[1] = { { &hf_x2ap_ListofEUTRACellsinEUTRACoordinationReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, }; static int dissect_x2ap_ListofEUTRACellsinEUTRACoordinationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ListofEUTRACellsinEUTRACoordinationReq, ListofEUTRACellsinEUTRACoordinationReq_sequence_of, 0, maxCellineNB, FALSE); return offset; } static const per_sequence_t ListofEUTRACellsinNRCoordinationReq_sequence_of[1] = { { &hf_x2ap_ListofEUTRACellsinNRCoordinationReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, }; static int dissect_x2ap_ListofEUTRACellsinNRCoordinationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ListofEUTRACellsinNRCoordinationReq, ListofEUTRACellsinNRCoordinationReq_sequence_of, 1, maxCellineNB, FALSE); return offset; } static const per_sequence_t ListofNRCellsinNRCoordinationReq_sequence_of[1] = { { &hf_x2ap_ListofNRCellsinNRCoordinationReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, }; static int dissect_x2ap_ListofNRCellsinNRCoordinationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ListofNRCellsinNRCoordinationReq, ListofNRCellsinNRCoordinationReq_sequence_of, 0, maxnoNRcellsSpectrumSharingWithE_UTRA, FALSE); return offset; } static const per_sequence_t EUTRANRCellResourceCoordinationResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EUTRANRCellResourceCoordinationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_EUTRANRCellResourceCoordinationResponse, EUTRANRCellResourceCoordinationResponse_sequence); return offset; } static const value_string x2ap_RespondingNodeType_EutranrCellResourceCoordination_vals[] = { { 0, "respond-eNB" }, { 1, "respond-en-gNB" }, { 0, NULL } }; static const per_choice_t RespondingNodeType_EutranrCellResourceCoordination_choice[] = { { 0, &hf_x2ap_respond_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 1, &hf_x2ap_respond_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_RespondingNodeType_EutranrCellResourceCoordination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_RespondingNodeType_EutranrCellResourceCoordination, RespondingNodeType_EutranrCellResourceCoordination_choice, NULL); return offset; } static const per_sequence_t ListofEUTRACellsinEUTRACoordinationResp_sequence_of[1] = { { &hf_x2ap_ListofEUTRACellsinEUTRACoordinationResp_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, }; static int dissect_x2ap_ListofEUTRACellsinEUTRACoordinationResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ListofEUTRACellsinEUTRACoordinationResp, ListofEUTRACellsinEUTRACoordinationResp_sequence_of, 0, maxCellineNB, FALSE); return offset; } static const per_sequence_t ListofNRCellsinNRCoordinationResp_sequence_of[1] = { { &hf_x2ap_ListofNRCellsinNRCoordinationResp_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, }; static int dissect_x2ap_ListofNRCellsinNRCoordinationResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_ListofNRCellsinNRCoordinationResp, ListofNRCellsinNRCoordinationResp_sequence_of, 0, maxnoNRcellsSpectrumSharingWithE_UTRA, FALSE); return offset; } static const per_sequence_t ENDCX2RemovalRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCX2RemovalRequest, ENDCX2RemovalRequest_sequence); return offset; } static const value_string x2ap_InitiatingNodeType_EndcX2Removal_vals[] = { { 0, "init-eNB" }, { 1, "init-en-gNB" }, { 0, NULL } }; static const per_choice_t InitiatingNodeType_EndcX2Removal_choice[] = { { 0, &hf_x2ap_init_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 1, &hf_x2ap_init_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_InitiatingNodeType_EndcX2Removal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_InitiatingNodeType_EndcX2Removal, InitiatingNodeType_EndcX2Removal_choice, NULL); return offset; } static const per_sequence_t ENDCX2RemovalResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCX2RemovalResponse, ENDCX2RemovalResponse_sequence); return offset; } static const value_string x2ap_RespondingNodeType_EndcX2Removal_vals[] = { { 0, "respond-eNB" }, { 1, "respond-en-gNB" }, { 0, NULL } }; static const per_choice_t RespondingNodeType_EndcX2Removal_choice[] = { { 0, &hf_x2ap_respond_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 1, &hf_x2ap_respond_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_RespondingNodeType_EndcX2Removal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_x2ap_RespondingNodeType_EndcX2Removal, RespondingNodeType_EndcX2Removal_choice, NULL); return offset; } static const per_sequence_t ENDCX2RemovalFailure_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCX2RemovalFailure, ENDCX2RemovalFailure_sequence); return offset; } static const per_sequence_t DataForwardingAddressIndication_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataForwardingAddressIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_DataForwardingAddressIndication, DataForwardingAddressIndication_sequence); return offset; } static const per_sequence_t E_RABs_DataForwardingAddress_List_sequence_of[1] = { { &hf_x2ap_E_RABs_DataForwardingAddress_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, }; static int dissect_x2ap_E_RABs_DataForwardingAddress_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_x2ap_E_RABs_DataForwardingAddress_List, E_RABs_DataForwardingAddress_List_sequence_of, 1, maxnoofBearers, FALSE); return offset; } static const per_sequence_t E_RABs_DataForwardingAddress_Item_sequence[] = { { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, { &hf_x2ap_dl_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_E_RABs_DataForwardingAddress_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_x2ap_E_RABs_DataForwardingAddress_Item, E_RABs_DataForwardingAddress_Item_sequence); return offset; } static const per_sequence_t GNBStatusIndication_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBStatusIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_GNBStatusIndication, GNBStatusIndication_sequence); return offset; } static const per_sequence_t ENDCConfigurationTransfer_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_ENDCConfigurationTransfer, ENDCConfigurationTransfer_sequence); return offset; } static const per_sequence_t TraceStart_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_TraceStart, TraceStart_sequence); return offset; } static const per_sequence_t DeactivateTrace_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_DeactivateTrace, DeactivateTrace_sequence); return offset; } static const per_sequence_t CellTrafficTrace_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CellTrafficTrace, CellTrafficTrace_sequence); return offset; } static const per_sequence_t F1CTrafficTransfer_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; 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_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1CTrafficTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_F1CTrafficTransfer, F1CTrafficTransfer_sequence); return offset; } static const per_sequence_t UERadioCapabilityIDMappingRequest_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UERadioCapabilityIDMappingRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UERadioCapabilityIDMappingRequest, UERadioCapabilityIDMappingRequest_sequence); return offset; } static const per_sequence_t UERadioCapabilityIDMappingResponse_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_UERadioCapabilityIDMappingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_UERadioCapabilityIDMappingResponse, UERadioCapabilityIDMappingResponse_sequence); return offset; } static const per_sequence_t CPC_cancel_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_CPC_cancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CPC-cancel"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_CPC_cancel, CPC_cancel_sequence); return offset; } static int dissect_x2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode }, { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality }, { &hf_x2ap_initiatingMessage_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_InitiatingMessage_value }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_InitiatingMessage, InitiatingMessage_sequence); return offset; } static int dissect_x2ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode }, { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality }, { &hf_x2ap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SuccessfulOutcome_value }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_SuccessfulOutcome, SuccessfulOutcome_sequence); return offset; } static int dissect_x2ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { 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_x2ap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProcedureCode }, { &hf_x2ap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Criticality }, { &hf_x2ap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_UnsuccessfulOutcome_value }, { NULL, 0, 0, NULL } }; static int dissect_x2ap_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_x2ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence); return offset; } static const value_string x2ap_X2AP_PDU_vals[] = { { 0, "initiatingMessage" }, { 1, "successfulOutcome" }, { 2, "unsuccessfulOutcome" }, { 0, NULL } }; static const per_choice_t X2AP_PDU_choice[] = { { 0, &hf_x2ap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_x2ap_InitiatingMessage }, { 1, &hf_x2ap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_SuccessfulOutcome }, { 2, &hf_x2ap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_x2ap_UnsuccessfulOutcome }, { 0, NULL, 0, NULL } }; static int dissect_x2ap_X2AP_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_x2ap_X2AP_PDU, X2AP_PDU_choice, NULL); return offset; } /*--- PDUs ---*/ static int dissect_ABSInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ABSInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_ABSInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ABS_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_x2ap_ABS_Status(tvb, offset, &asn1_ctx, tree, hf_x2ap_ABS_Status_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ActivationID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ActivationID(tvb, offset, &asn1_ctx, tree, hf_x2ap_ActivationID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Additional_Measurement_Timing_Configuration_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_x2ap_Additional_Measurement_Timing_Configuration_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_Additional_Measurement_Timing_Configuration_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_AdditionalListofForwardingGTPTunnelEndpoint_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_AdditionalListofForwardingGTPTunnelEndpoint(tvb, offset, &asn1_ctx, tree, hf_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_AdditionLocationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_AdditionLocationInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_AdditionLocationInformation_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_x2ap_AdditionalRRMPriorityIndex(tvb, offset, &asn1_ctx, tree, hf_x2ap_AdditionalRRMPriorityIndex_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_AdditionalSpecialSubframe_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_x2ap_AdditionalSpecialSubframe_Info(tvb, offset, &asn1_ctx, tree, hf_x2ap_AdditionalSpecialSubframe_Info_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_AdditionalSpecialSubframeExtension_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_x2ap_AdditionalSpecialSubframeExtension_Info(tvb, offset, &asn1_ctx, tree, hf_x2ap_AdditionalSpecialSubframeExtension_Info_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_AvailableFastMCGRecoveryViaSRB3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_AvailableFastMCGRecoveryViaSRB3(tvb, offset, &asn1_ctx, tree, hf_x2ap_AvailableFastMCGRecoveryViaSRB3_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_AerialUEsubscriptionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_AerialUEsubscriptionInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_AerialUEsubscriptionInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_AdditionalPLMNs_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_x2ap_AdditionalPLMNs_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_AdditionalPLMNs_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_BandwidthReducedSI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_BandwidthReducedSI(tvb, offset, &asn1_ctx, tree, hf_x2ap_BandwidthReducedSI_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_BearerType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_BearerType(tvb, offset, &asn1_ctx, tree, hf_x2ap_BearerType_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_BluetoothMeasurementConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_BluetoothMeasurementConfiguration(tvb, offset, &asn1_ctx, tree, hf_x2ap_BluetoothMeasurementConfiguration_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_BPLMN_ID_Info_EUTRA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_BPLMN_ID_Info_EUTRA(tvb, offset, &asn1_ctx, tree, hf_x2ap_BPLMN_ID_Info_EUTRA_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_BPLMN_ID_Info_NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_BPLMN_ID_Info_NR(tvb, offset, &asn1_ctx, tree, hf_x2ap_BPLMN_ID_Info_NR_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_x2ap_Cause(tvb, offset, &asn1_ctx, tree, hf_x2ap_Cause_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellReportingIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CellReportingIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellReportingIndicator_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CPAinformation_REQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CPAinformation_REQ(tvb, offset, &asn1_ctx, tree, hf_x2ap_CPAinformation_REQ_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CPAinformation_REQ_ACK_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CPAinformation_REQ_ACK(tvb, offset, &asn1_ctx, tree, hf_x2ap_CPAinformation_REQ_ACK_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CPCinformation_REQD_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CPCinformation_REQD(tvb, offset, &asn1_ctx, tree, hf_x2ap_CPCinformation_REQD_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CPCinformation_CONF_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CPCinformation_CONF(tvb, offset, &asn1_ctx, tree, hf_x2ap_CPCinformation_CONF_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CPCinformation_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_x2ap_CPCinformation_NOTIFY(tvb, offset, &asn1_ctx, tree, hf_x2ap_CPCinformation_NOTIFY_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CPAinformation_MOD_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CPAinformation_MOD(tvb, offset, &asn1_ctx, tree, hf_x2ap_CPAinformation_MOD_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CPCupdate_MOD_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CPCupdate_MOD(tvb, offset, &asn1_ctx, tree, hf_x2ap_CPCupdate_MOD_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CPAinformation_MOD_ACK_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CPAinformation_MOD_ACK(tvb, offset, &asn1_ctx, tree, hf_x2ap_CPAinformation_MOD_ACK_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CPACinformation_REQD_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CPACinformation_REQD(tvb, offset, &asn1_ctx, tree, hf_x2ap_CPACinformation_REQD_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CHO_DC_EarlyDataForwarding_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CHO_DC_EarlyDataForwarding(tvb, offset, &asn1_ctx, tree, hf_x2ap_CHO_DC_EarlyDataForwarding_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CHO_DC_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_x2ap_CHO_DC_Indicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_CHO_DC_Indicator_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CNTypeRestrictions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CNTypeRestrictions(tvb, offset, &asn1_ctx, tree, hf_x2ap_CNTypeRestrictions_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CoMPInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CoMPInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_CoMPInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CompositeAvailableCapacityGroup_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CompositeAvailableCapacityGroup(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompositeAvailableCapacityGroup_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Correlation_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_x2ap_Correlation_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_Correlation_ID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_COUNTValueExtended_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_COUNTValueExtended(tvb, offset, &asn1_ctx, tree, hf_x2ap_COUNTValueExtended_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_COUNTvaluePDCP_SNlength18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_COUNTvaluePDCP_SNlength18(tvb, offset, &asn1_ctx, tree, hf_x2ap_COUNTvaluePDCP_SNlength18_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CoverageModificationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CoverageModificationList(tvb, offset, &asn1_ctx, tree, hf_x2ap_CoverageModificationList_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_x2ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_x2ap_CriticalityDiagnostics_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CRNTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CRNTI(tvb, offset, &asn1_ctx, tree, hf_x2ap_CRNTI_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CSGMembershipStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CSGMembershipStatus(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSGMembershipStatus_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CSG_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_x2ap_CSG_Id(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSG_Id_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CSIReportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CSIReportList(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSIReportList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CHOinformation_REQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CHOinformation_REQ(tvb, offset, &asn1_ctx, tree, hf_x2ap_CHOinformation_REQ_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CHOinformation_ACK_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CHOinformation_ACK(tvb, offset, &asn1_ctx, tree, hf_x2ap_CHOinformation_ACK_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CandidateCellsToBeCancelledList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CandidateCellsToBeCancelledList(tvb, offset, &asn1_ctx, tree, hf_x2ap_CandidateCellsToBeCancelledList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CHOinformation_AddReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CHOinformation_AddReq(tvb, offset, &asn1_ctx, tree, hf_x2ap_CHOinformation_AddReq_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CHOinformation_ModReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CHOinformation_ModReq(tvb, offset, &asn1_ctx, tree, hf_x2ap_CHOinformation_ModReq_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CSI_RSTransmissionIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CSI_RSTransmissionIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSI_RSTransmissionIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DataTrafficResourceIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_DataTrafficResourceIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_DataTrafficResourceIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DAPSRequestInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_DAPSRequestInfo(tvb, offset, &asn1_ctx, tree, hf_x2ap_DAPSRequestInfo_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DAPSResponseInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_DAPSResponseInfo(tvb, offset, &asn1_ctx, tree, hf_x2ap_DAPSResponseInfo_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DeactivationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_DeactivationIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_DeactivationIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DesiredActNotificationLevel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_DesiredActNotificationLevel(tvb, offset, &asn1_ctx, tree, hf_x2ap_DesiredActNotificationLevel_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DirectForwardingPathAvailability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_DirectForwardingPathAvailability(tvb, offset, &asn1_ctx, tree, hf_x2ap_DirectForwardingPathAvailability_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DL_Forwarding_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_DL_Forwarding(tvb, offset, &asn1_ctx, tree, hf_x2ap_DL_Forwarding_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DL_scheduling_PDCCH_CCE_usage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_DL_scheduling_PDCCH_CCE_usage(tvb, offset, &asn1_ctx, tree, hf_x2ap_DL_scheduling_PDCCH_CCE_usage_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_x2ap_DuplicationActivation(tvb, offset, &asn1_ctx, tree, hf_x2ap_DuplicationActivation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DynamicDLTransmissionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_DynamicDLTransmissionInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_DynamicDLTransmissionInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_EARFCNExtension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_EARFCNExtension(tvb, offset, &asn1_ctx, tree, hf_x2ap_EARFCNExtension_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ECGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ECGI(tvb, offset, &asn1_ctx, tree, hf_x2ap_ECGI_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_EndcSONConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_EndcSONConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_EndcSONConfigurationTransfer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_EnhancedRNTP_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_EnhancedRNTP(tvb, offset, &asn1_ctx, tree, hf_x2ap_EnhancedRNTP_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_EPCHandoverRestrictionListContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_EPCHandoverRestrictionListContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_EPCHandoverRestrictionListContainer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ERABActivityNotifyItemList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ERABActivityNotifyItemList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ERABActivityNotifyItemList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RAB_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_x2ap_E_RAB_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RAB_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RAB_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_x2ap_E_RAB_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RAB_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABUsageReport_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_x2ap_E_RABUsageReport_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABUsageReport_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Ethernet_Type_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_Ethernet_Type(tvb, offset, &asn1_ctx, tree, hf_x2ap_Ethernet_Type_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_EUTRANCellIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_EUTRANCellIdentifier(tvb, offset, &asn1_ctx, tree, hf_x2ap_EUTRANCellIdentifier_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_EUTRANTraceID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_EUTRANTraceID(tvb, offset, &asn1_ctx, tree, hf_x2ap_EUTRANTraceID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ExpectedUEBehaviour_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ExpectedUEBehaviour(tvb, offset, &asn1_ctx, tree, hf_x2ap_ExpectedUEBehaviour_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ExtendedULInterferenceOverloadInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ExtendedULInterferenceOverloadInfo(tvb, offset, &asn1_ctx, tree, hf_x2ap_ExtendedULInterferenceOverloadInfo_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ExtendedBitRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ExtendedBitRate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ExtendedBitRate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_F1CTrafficContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_F1CTrafficContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_F1CTrafficContainer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_FastMCGRecovery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_FastMCGRecovery(tvb, offset, &asn1_ctx, tree, hf_x2ap_FastMCGRecovery_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_FreqBandIndicatorPriority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_FreqBandIndicatorPriority(tvb, offset, &asn1_ctx, tree, hf_x2ap_FreqBandIndicatorPriority_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_x2ap_FrequencyShift7p5khz(tvb, offset, &asn1_ctx, tree, hf_x2ap_FrequencyShift7p5khz_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GlobalENB_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_x2ap_GlobalENB_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_GlobalENB_ID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GlobalGNB_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_x2ap_GlobalGNB_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_GlobalGNB_ID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Global_RAN_NODE_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_x2ap_Global_RAN_NODE_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_Global_RAN_NODE_ID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GNBOverloadInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_GNBOverloadInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_GNBOverloadInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GTPtunnelEndpoint_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_GTPtunnelEndpoint(tvb, offset, &asn1_ctx, tree, hf_x2ap_GTPtunnelEndpoint_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GUGroupIDList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_GUGroupIDList(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUGroupIDList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_GUMMEI(tvb, offset, &asn1_ctx, tree, hf_x2ap_GUMMEI_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_HandoverReportType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_HandoverReportType(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverReportType_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_HandoverRestrictionList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_HandoverRestrictionList(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRestrictionList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_IABNodeIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_IABNodeIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_IABNodeIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_IMSvoiceEPSfallbackfrom5G_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_IMSvoiceEPSfallbackfrom5G(tvb, offset, &asn1_ctx, tree, hf_x2ap_IMSvoiceEPSfallbackfrom5G_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_IntendedTDD_DL_ULConfiguration_NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_IntendedTDD_DL_ULConfiguration_NR(tvb, offset, &asn1_ctx, tree, hf_x2ap_IntendedTDD_DL_ULConfiguration_NR_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_InterfaceInstanceIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_InterfaceInstanceIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_InterfaceInstanceIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_InvokeIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_InvokeIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_InvokeIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_LCID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_LCID(tvb, offset, &asn1_ctx, tree, hf_x2ap_LCID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_LHN_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_x2ap_LHN_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_LHN_ID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_LocationInformationSgNB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_LocationInformationSgNB(tvb, offset, &asn1_ctx, tree, hf_x2ap_LocationInformationSgNB_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_LocationInformationSgNBReporting_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_LocationInformationSgNBReporting(tvb, offset, &asn1_ctx, tree, hf_x2ap_LocationInformationSgNBReporting_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_x2ap_LowerLayerPresenceStatusChange(tvb, offset, &asn1_ctx, tree, hf_x2ap_LowerLayerPresenceStatusChange_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_M3Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_M3Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_M3Configuration_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_M4Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_M4Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_M4Configuration_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_M5Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_M5Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_M5Configuration_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_M6Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_M6Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_M6Configuration_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_M7Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_M7Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_M7Configuration_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MakeBeforeBreakIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MakeBeforeBreakIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_MakeBeforeBreakIndicator_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ManagementBasedMDTallowed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ManagementBasedMDTallowed(tvb, offset, &asn1_ctx, tree, hf_x2ap_ManagementBasedMDTallowed_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Masked_IMEISV_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_Masked_IMEISV(tvb, offset, &asn1_ctx, tree, hf_x2ap_Masked_IMEISV_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MDT_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MDT_Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_MDT_Configuration_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_MDTPLMNList(tvb, offset, &asn1_ctx, tree, hf_x2ap_MDTPLMNList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MDT_Location_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_x2ap_MDT_Location_Info(tvb, offset, &asn1_ctx, tree, hf_x2ap_MDT_Location_Info_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Measurement_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_x2ap_Measurement_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_Measurement_ID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Measurement_ID_ENDC_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_Measurement_ID_ENDC(tvb, offset, &asn1_ctx, tree, hf_x2ap_Measurement_ID_ENDC_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MeNBCoordinationAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MeNBCoordinationAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeNBCoordinationAssistanceInformation_PDU); offset += 7; offset >>= 3; return offset; } int dissect_x2ap_MeNBResourceCoordinationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MeNBResourceCoordinationInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_x2ap_MeNBResourceCoordinationInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MeNBtoSeNBContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MeNBtoSeNBContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeNBtoSeNBContainer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MBMS_Service_Area_Identity_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_x2ap_MBMS_Service_Area_Identity_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_MBMS_Service_Area_Identity_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MBSFN_Subframe_Infolist_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MBSFN_Subframe_Infolist(tvb, offset, &asn1_ctx, tree, hf_x2ap_MBSFN_Subframe_Infolist_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MDT_ConfigurationNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MDT_ConfigurationNR(tvb, offset, &asn1_ctx, tree, hf_x2ap_MDT_ConfigurationNR_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MobilityParametersModificationRange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MobilityParametersModificationRange(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityParametersModificationRange_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MobilityParametersInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MobilityParametersInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityParametersInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MultibandInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MultibandInfoList(tvb, offset, &asn1_ctx, tree, hf_x2ap_MultibandInfoList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MessageOversizeNotification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MessageOversizeNotification(tvb, offset, &asn1_ctx, tree, hf_x2ap_MessageOversizeNotification_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MeNBtoSgNBContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MeNBtoSgNBContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeNBtoSgNBContainer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SplitSRBs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SplitSRBs(tvb, offset, &asn1_ctx, tree, hf_x2ap_SplitSRBs_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SplitSRB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SplitSRB(tvb, offset, &asn1_ctx, tree, hf_x2ap_SplitSRB_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NBIoT_UL_DL_AlignmentOffset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NBIoT_UL_DL_AlignmentOffset(tvb, offset, &asn1_ctx, tree, hf_x2ap_NBIoT_UL_DL_AlignmentOffset_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NBIoT_RLF_Report_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_x2ap_NBIoT_RLF_Report_Container(tvb, offset, &asn1_ctx, tree, hf_x2ap_NBIoT_RLF_Report_Container_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NewDRBIDrequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NewDRBIDrequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_NewDRBIDrequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Number_of_Antennaports_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_Number_of_Antennaports(tvb, offset, &asn1_ctx, tree, hf_x2ap_Number_of_Antennaports_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_x2ap_NRCarrierList(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRCarrierList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NRCellPRACHConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NRCellPRACHConfig(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRCellPRACHConfig_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_x2ap_NRCGI(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRCGI_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NRRACHReportInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NRRACHReportInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRRACHReportInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NRNeighbour_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_x2ap_NRNeighbour_Information(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRNeighbour_Information_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NPRACHConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NPRACHConfiguration(tvb, offset, &asn1_ctx, tree, hf_x2ap_NPRACHConfiguration_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NRrestrictioninEPSasSecondaryRAT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NRrestrictioninEPSasSecondaryRAT(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRrestrictioninEPSasSecondaryRAT_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MeasurementResultforNRCellsPossiblyAggregated_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MeasurementResultforNRCellsPossiblyAggregated(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementResultforNRCellsPossiblyAggregated_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MIMOPRBusageInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MIMOPRBusageInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_MIMOPRBusageInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NRrestrictionin5GS_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NRrestrictionin5GS(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRrestrictionin5GS_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NRS_NSSS_PowerOffset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NRS_NSSS_PowerOffset(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRS_NSSS_PowerOffset_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NRUeReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NRUeReport(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRUeReport_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_x2ap_NRUESidelinkAggregateMaximumBitRate(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRUESidelinkAggregateMaximumBitRate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NRUESecurityCapabilities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NRUESecurityCapabilities(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRUESecurityCapabilities_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_NSSS_NumOccasionDifferentPrecoder_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_NSSS_NumOccasionDifferentPrecoder(tvb, offset, &asn1_ctx, tree, hf_x2ap_NSSS_NumOccasionDifferentPrecoder_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_x2ap_NRV2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRV2XServicesAuthorized_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_OffsetOfNbiotChannelNumberToEARFCN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_OffsetOfNbiotChannelNumberToEARFCN(tvb, offset, &asn1_ctx, tree, hf_x2ap_OffsetOfNbiotChannelNumberToEARFCN_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Packet_LossRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_Packet_LossRate(tvb, offset, &asn1_ctx, tree, hf_x2ap_Packet_LossRate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_PC5QoSParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_PC5QoSParameters(tvb, offset, &asn1_ctx, tree, hf_x2ap_PC5QoSParameters_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_PDCPChangeIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_PDCPChangeIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_PDCPChangeIndication_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_x2ap_PDCPSnLength(tvb, offset, &asn1_ctx, tree, hf_x2ap_PDCPSnLength_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_PCI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_PCI(tvb, offset, &asn1_ctx, tree, hf_x2ap_PCI_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_x2ap_PLMN_Identity(tvb, offset, &asn1_ctx, tree, hf_x2ap_PLMN_Identity_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_PRACH_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_PRACH_Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_PRACH_Configuration_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ProSeAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ProSeAuthorized(tvb, offset, &asn1_ctx, tree, hf_x2ap_ProSeAuthorized_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ProSeUEtoNetworkRelaying_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ProSeUEtoNetworkRelaying(tvb, offset, &asn1_ctx, tree, hf_x2ap_ProSeUEtoNetworkRelaying_PDU); offset += 7; offset >>= 3; return offset; } int dissect_x2ap_ProtectedEUTRAResourceIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ProtectedEUTRAResourceIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_x2ap_ProtectedEUTRAResourceIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_PartialListIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_PartialListIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_PartialListIndicator_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_x2ap_PrivacyIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_PrivacyIndicator_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_PSCellHistoryInformationRetrieve_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_PSCellHistoryInformationRetrieve(tvb, offset, &asn1_ctx, tree, hf_x2ap_PSCellHistoryInformationRetrieve_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_PSCell_UE_HistoryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_PSCell_UE_HistoryInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_PSCell_UE_HistoryInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_PSCellChangeHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_PSCellChangeHistory(tvb, offset, &asn1_ctx, tree, hf_x2ap_PSCellChangeHistory_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_QoS_Mapping_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_x2ap_QoS_Mapping_Information(tvb, offset, &asn1_ctx, tree, hf_x2ap_QoS_Mapping_Information_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RAN_UE_NGAP_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_x2ap_RAN_UE_NGAP_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_RAN_UE_NGAP_ID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RAT_Restrictions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RAT_Restrictions(tvb, offset, &asn1_ctx, tree, hf_x2ap_RAT_Restrictions_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ReceiveStatusOfULPDCPSDUsExtended_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ReceiveStatusOfULPDCPSDUsExtended(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReceiveStatusOfULPDCPSDUsExtended_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ReleaseFastMCGRecoveryViaSRB3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ReleaseFastMCGRecoveryViaSRB3(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReleaseFastMCGRecoveryViaSRB3_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Registration_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_Registration_Request(tvb, offset, &asn1_ctx, tree, hf_x2ap_Registration_Request_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_ReportCharacteristics(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportCharacteristics_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ReportingPeriodicityCSIR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ReportingPeriodicityCSIR(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportingPeriodicityCSIR_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ReportingPeriodicityRSRPMR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ReportingPeriodicityRSRPMR(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportingPeriodicityRSRPMR_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RequestedFastMCGRecoveryViaSRB3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RequestedFastMCGRecoveryViaSRB3(tvb, offset, &asn1_ctx, tree, hf_x2ap_RequestedFastMCGRecoveryViaSRB3_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RequestedFastMCGRecoveryViaSRB3Release_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RequestedFastMCGRecoveryViaSRB3Release(tvb, offset, &asn1_ctx, tree, hf_x2ap_RequestedFastMCGRecoveryViaSRB3Release_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ResumeID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ResumeID(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResumeID_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_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RLCMode(tvb, offset, &asn1_ctx, tree, hf_x2ap_RLCMode_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_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RLC_Status(tvb, offset, &asn1_ctx, tree, hf_x2ap_RLC_Status_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RRC_Config_Ind_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RRC_Config_Ind(tvb, offset, &asn1_ctx, tree, hf_x2ap_RRC_Config_Ind_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RRCConnReestabIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RRCConnReestabIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_RRCConnReestabIndicator_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RRCConnSetupIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RRCConnSetupIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_RRCConnSetupIndicator_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RSRPMRList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RSRPMRList(tvb, offset, &asn1_ctx, tree, hf_x2ap_RSRPMRList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SCGActivationStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SCGActivationStatus(tvb, offset, &asn1_ctx, tree, hf_x2ap_SCGActivationStatus_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SCGActivationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SCGActivationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SCGActivationRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SCGChangeIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SCGChangeIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_SCGChangeIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SCGreconfigNotification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SCGreconfigNotification(tvb, offset, &asn1_ctx, tree, hf_x2ap_SCGreconfigNotification_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SCG_UE_HistoryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SCG_UE_HistoryInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_SCG_UE_HistoryInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SecondaryRATUsageReportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SecondaryRATUsageReportList(tvb, offset, &asn1_ctx, tree, hf_x2ap_SecondaryRATUsageReportList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SecondaryRATUsageReport_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_x2ap_SecondaryRATUsageReport_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_SecondaryRATUsageReport_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SecurityIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SecurityIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_SecurityIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SecurityResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SecurityResult(tvb, offset, &asn1_ctx, tree, hf_x2ap_SecurityResult_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBSecurityKey_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBSecurityKey(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBSecurityKey_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBtoMeNBContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBtoMeNBContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBtoMeNBContainer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SensorMeasurementConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SensorMeasurementConfiguration(tvb, offset, &asn1_ctx, tree, hf_x2ap_SensorMeasurementConfiguration_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedCells(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCells_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedCellSpecificInfoReq_NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedCellSpecificInfoReq_NR(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellSpecificInfoReq_NR_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServiceType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServiceType(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServiceType_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBCoordinationAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBCoordinationAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBCoordinationAssistanceInformation_PDU); offset += 7; offset >>= 3; return offset; } int dissect_x2ap_SgNBResourceCoordinationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBResourceCoordinationInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_x2ap_SgNBResourceCoordinationInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNB_UE_X2AP_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_x2ap_SgNB_UE_X2AP_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNB_UE_X2AP_ID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SIPTOBearerDeactivationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SIPTOBearerDeactivationIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_SIPTOBearerDeactivationIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ShortMAC_I_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ShortMAC_I(tvb, offset, &asn1_ctx, tree, hf_x2ap_ShortMAC_I_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SGNB_Addition_Trigger_Ind_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SGNB_Addition_Trigger_Ind(tvb, offset, &asn1_ctx, tree, hf_x2ap_SGNB_Addition_Trigger_Ind_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SNtriggered_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SNtriggered(tvb, offset, &asn1_ctx, tree, hf_x2ap_SNtriggered_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SpectrumSharingGroupID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SpectrumSharingGroupID(tvb, offset, &asn1_ctx, tree, hf_x2ap_SpectrumSharingGroupID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Subscription_Based_UE_DifferentiationInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_Subscription_Based_UE_DifferentiationInfo(tvb, offset, &asn1_ctx, tree, hf_x2ap_Subscription_Based_UE_DifferentiationInfo_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SRVCCOperationPossible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SRVCCOperationPossible(tvb, offset, &asn1_ctx, tree, hf_x2ap_SRVCCOperationPossible_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_SSB_PositionsInBurst(tvb, offset, &asn1_ctx, tree, hf_x2ap_SSB_PositionsInBurst_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SubscriberProfileIDforRFP_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SubscriberProfileIDforRFP(tvb, offset, &asn1_ctx, tree, hf_x2ap_SubscriberProfileIDforRFP_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SubframeAssignment_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SubframeAssignment(tvb, offset, &asn1_ctx, tree, hf_x2ap_SubframeAssignment_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBSecurityKey_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBSecurityKey(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBSecurityKey_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBtoMeNBContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBtoMeNBContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBtoMeNBContainer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SCGConfigurationQuery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SCGConfigurationQuery(tvb, offset, &asn1_ctx, tree, hf_x2ap_SCGConfigurationQuery_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SFN_Offset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SFN_Offset(tvb, offset, &asn1_ctx, tree, hf_x2ap_SFN_Offset_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TAC_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_TAC(tvb, offset, &asn1_ctx, tree, hf_x2ap_TAC_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TargetCellInNGRAN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_TargetCellInNGRAN(tvb, offset, &asn1_ctx, tree, hf_x2ap_TargetCellInNGRAN_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TargetCellInUTRAN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_TargetCellInUTRAN(tvb, offset, &asn1_ctx, tree, hf_x2ap_TargetCellInUTRAN_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TargeteNBtoSource_eNBTransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TDDULDLConfigurationCommonNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_TDDULDLConfigurationCommonNR(tvb, offset, &asn1_ctx, tree, hf_x2ap_TDDULDLConfigurationCommonNR_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_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_x2ap_TimeToWait_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Time_UE_StayedInCell_EnhancedGranularity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_Time_UE_StayedInCell_EnhancedGranularity(tvb, offset, &asn1_ctx, tree, hf_x2ap_Time_UE_StayedInCell_EnhancedGranularity_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TNLA_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_x2ap_TNLA_To_Add_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLA_To_Add_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TNLA_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_x2ap_TNLA_To_Update_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLA_To_Update_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TNLA_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_x2ap_TNLA_To_Remove_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLA_To_Remove_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TNLA_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_x2ap_TNLA_Setup_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLA_Setup_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TNLA_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_x2ap_TNLA_Failed_To_Setup_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLA_Failed_To_Setup_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TNLConfigurationInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_TNLConfigurationInfo(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLConfigurationInfo_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_x2ap_TraceActivation_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_TransportLayerAddress(tvb, offset, &asn1_ctx, tree, hf_x2ap_TransportLayerAddress_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_TunnelInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_TunnelInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_TunnelInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UEAggregateMaximumBitRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UEAggregateMaximumBitRate(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEAggregateMaximumBitRate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UEAppLayerMeasConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UEAppLayerMeasConfig(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEAppLayerMeasConfig_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_ContextKeptIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_ContextKeptIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextKeptIndicator_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UEID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UEID(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_HistoryInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_HistoryInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_HistoryInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_HistoryInformationFromTheUE_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_HistoryInformationFromTheUE(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_HistoryInformationFromTheUE_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_X2AP_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_x2ap_UE_X2AP_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_X2AP_ID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_X2AP_ID_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_X2AP_ID_Extension(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_X2AP_ID_Extension_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UERadioCapability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UERadioCapability(tvb, offset, &asn1_ctx, tree, hf_x2ap_UERadioCapability_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UERadioCapabilityID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UERadioCapabilityID(tvb, offset, &asn1_ctx, tree, hf_x2ap_UERadioCapabilityID_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_RLF_Report_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_x2ap_UE_RLF_Report_Container(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_RLF_Report_Container_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_RLF_Report_Container_for_extended_bands_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_RLF_Report_Container_for_extended_bands(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_RLF_Report_Container_for_extended_bands_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UESecurityCapabilities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UESecurityCapabilities(tvb, offset, &asn1_ctx, tree, hf_x2ap_UESecurityCapabilities_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UESidelinkAggregateMaximumBitRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UESidelinkAggregateMaximumBitRate(tvb, offset, &asn1_ctx, tree, hf_x2ap_UESidelinkAggregateMaximumBitRate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UEsToBeResetList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UEsToBeResetList(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEsToBeResetList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UL_scheduling_PDCCH_CCE_usage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UL_scheduling_PDCCH_CCE_usage(tvb, offset, &asn1_ctx, tree, hf_x2ap_UL_scheduling_PDCCH_CCE_usage_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UnlicensedSpectrumRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UnlicensedSpectrumRestriction(tvb, offset, &asn1_ctx, tree, hf_x2ap_UnlicensedSpectrumRestriction_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_URI_Address(tvb, offset, &asn1_ctx, tree, hf_x2ap_URI_Address_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UserPlaneTrafficActivityReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UserPlaneTrafficActivityReport(tvb, offset, &asn1_ctx, tree, hf_x2ap_UserPlaneTrafficActivityReport_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_V2XServicesAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_V2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_x2ap_V2XServicesAuthorized_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_WLANMeasurementConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_WLANMeasurementConfiguration(tvb, offset, &asn1_ctx, tree, hf_x2ap_WLANMeasurementConfiguration_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2BenefitValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_X2BenefitValue(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2BenefitValue_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_HandoverRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_ContextInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_ContextInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_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_x2ap_E_RABs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeSetup_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MobilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MobilityInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_ContextReferenceAtSeNB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_ContextReferenceAtSeNB(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextReferenceAtSeNB_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_ContextReferenceAtWT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_ContextReferenceAtWT(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextReferenceAtWT_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_ContextReferenceAtSgNB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_ContextReferenceAtSgNB(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextReferenceAtSgNB_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_HandoverRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRequestAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_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_x2ap_E_RABs_Admitted_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_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_x2ap_E_RABs_Admitted_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_HandoverPreparationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverPreparationFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_HandoverReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_HandoverReport(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverReport_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_EarlyStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_EarlyStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_EarlyStatusTransfer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ProcedureStageChoice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ProcedureStageChoice(tvb, offset, &asn1_ctx, tree, hf_x2ap_ProcedureStageChoice_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SNStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SNStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_SNStatusTransfer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_SubjectToStatusTransfer_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_x2ap_E_RABs_SubjectToStatusTransfer_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_SubjectToStatusTransfer_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_x2ap_E_RABs_SubjectToStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UEContextRelease_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UEContextRelease(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEContextRelease_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverCancel_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_HandoverSuccess_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_HandoverSuccess(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverSuccess_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ConditionalHandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ConditionalHandoverCancel(tvb, offset, &asn1_ctx, tree, hf_x2ap_ConditionalHandoverCancel_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_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_ErrorIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ResetRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ResetRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ResetResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ResetResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResetResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_X2SetupRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_X2SetupResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_X2SetupFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2SetupFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_LoadInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_LoadInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_LoadInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellInformation_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_x2ap_CellInformation_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellInformation_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_x2ap_CellInformation_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellInformation_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENBConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENBConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedCellsToModify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedCellsToModify(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellsToModify_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_Old_ECGIs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_Old_ECGIs(tvb, offset, &asn1_ctx, tree, hf_x2ap_Old_ECGIs_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENBConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENBConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENBConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENBConfigurationUpdateFailure_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_ResourceStatusRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellToReport_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_x2ap_CellToReport_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellToReport_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_x2ap_CellToReport_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_Item_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_ReportingPeriodicity(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReportingPeriodicity_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_PartialSuccessIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_PartialSuccessIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_PartialSuccessIndicator_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_ResourceStatusResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MeasurementInitiationResult_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_x2ap_MeasurementInitiationResult_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementInitiationResult_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MeasurementInitiationResult_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_x2ap_MeasurementInitiationResult_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementInitiationResult_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MeasurementFailureCause_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_x2ap_MeasurementFailureCause_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeasurementFailureCause_Item_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_ResourceStatusFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CompleteFailureCauseInformation_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_x2ap_CompleteFailureCauseInformation_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompleteFailureCauseInformation_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CompleteFailureCauseInformation_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_x2ap_CompleteFailureCauseInformation_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompleteFailureCauseInformation_Item_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_ResourceStatusUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResourceStatusUpdate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellMeasurementResult_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_x2ap_CellMeasurementResult_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellMeasurementResult_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_x2ap_CellMeasurementResult_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_Item_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_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_x2ap_PrivateMessage_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MobilityChangeRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MobilityChangeRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MobilityChangeAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MobilityChangeAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MobilityChangeFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_MobilityChangeFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RLFIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RLFIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_RLFIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellActivationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CellActivationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedCellsToActivate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedCellsToActivate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellsToActivate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellActivationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CellActivationResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ActivatedCellList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ActivatedCellList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ActivatedCellList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellActivationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CellActivationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2Release_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_X2Release(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2Release_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2APMessageTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_X2APMessageTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2APMessageTransfer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RNL_Header_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RNL_Header(tvb, offset, &asn1_ctx, tree, hf_x2ap_RNL_Header_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2AP_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_x2ap_X2AP_Message(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2AP_Message_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBAdditionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBAdditionRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBAdditionRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeAdded_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_x2ap_E_RABs_ToBeAdded_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeAdded_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeAdded_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_x2ap_E_RABs_ToBeAdded_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeAdded_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBAdditionRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBAdditionRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBAdditionRequestAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeAdded_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_x2ap_E_RABs_Admitted_ToBeAdded_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeAdded_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_x2ap_E_RABs_Admitted_ToBeAdded_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBAdditionRequestReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBAdditionRequestReject(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBAdditionRequestReject_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBReconfigurationComplete(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBReconfigurationComplete_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ResponseInformationSeNBReconfComp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ResponseInformationSeNBReconfComp(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResponseInformationSeNBReconfComp_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBModificationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBModificationRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_ContextInformationSeNBModReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_ContextInformationSeNBModReq(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextInformationSeNBModReq_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeAdded_ModReqItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeAdded_ModReqItem(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeAdded_ModReqItem_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeModified_ModReqItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeModified_ModReqItem(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeModified_ModReqItem_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_ModReqItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_ModReqItem(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_ModReqItem_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBModificationRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBModificationRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBModificationRequestAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeAdded_ModAckList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeAdded_ModAckItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeModified_ModAckList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToBeModified_ModAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeModified_ModAckList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeModified_ModAckItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeReleased_ModAckList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToReleased_ModAckItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToReleased_ModAckItem(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToReleased_ModAckItem_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBModificationRequestReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBModificationRequestReject(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBModificationRequestReject_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBModificationRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBModificationRequired(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBModificationRequired_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_ModReqd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_ModReqd(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_ModReqd_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_ModReqdItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_ModReqdItem(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_ModReqdItem_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBModificationConfirm_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBModificationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBModificationRefuse(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBModificationRefuse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBReleaseRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_List_RelReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_List_RelReq(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_List_RelReq_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_RelReqItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_RelReqItem(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_RelReqItem_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBReleaseRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBReleaseRequired(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBReleaseRequired_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBReleaseConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBReleaseConfirm(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBReleaseConfirm_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_List_RelConf_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_List_RelConf(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_List_RelConf_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_RelConfItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_RelConfItem(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_RelConfItem_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SeNBCounterCheckRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SeNBCounterCheckRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SeNBCounterCheckRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_SubjectToCounterCheck_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_x2ap_E_RABs_SubjectToCounterCheck_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToCounterCheck_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_SubjectToCounterCheckItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_SubjectToCounterCheckItem(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToCounterCheckItem_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2RemovalRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_X2RemovalRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2RemovalRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2RemovalResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_X2RemovalResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2RemovalResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2RemovalFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_X2RemovalFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2RemovalFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RetrieveUEContextRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RetrieveUEContextRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_RetrieveUEContextRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RetrieveUEContextResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RetrieveUEContextResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_RetrieveUEContextResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_ContextInformationRetrieve_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_ContextInformationRetrieve(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextInformationRetrieve_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeSetupRetrieve_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_x2ap_E_RABs_ToBeSetupRetrieve_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeSetupRetrieve_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RetrieveUEContextFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RetrieveUEContextFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_RetrieveUEContextFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBAdditionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBAdditionRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBAdditionRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeAdded_SgNBAddReqList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReqList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeAdded_SgNBAddReq_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_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBAdditionRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBAdditionRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBAdditionRequestAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_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_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBAdditionRequestReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBAdditionRequestReject(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBAdditionRequestReject_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBReconfigurationComplete(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReconfigurationComplete_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ResponseInformationSgNBReconfComp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ResponseInformationSgNBReconfComp(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResponseInformationSgNBReconfComp_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBModificationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UE_ContextInformation_SgNBModReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UE_ContextInformation_SgNBModReq(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextInformation_SgNBModReq_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeAdded_SgNBModReq_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_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeModified_SgNBModReq_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_x2ap_E_RABs_ToBeModified_SgNBModReq_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBModReq_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_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBModificationRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBModificationRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationRequestAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeAdded_SgNBModAckList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeAdded_SgNBModAck_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_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeModified_SgNBModAckList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeModified_SgNBModAck_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_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeReleased_SgNBModAckList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToReleased_SgNBModAck_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_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBModificationRequestReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBModificationRequestReject(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationRequestReject_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBModificationRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBModificationRequired(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationRequired_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBModReqdList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_SgNBModReqdList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBModReqd_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_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeModified_SgNBModReqdList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeModified_SgNBModReqdList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeModified_SgNBModReqd_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_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationConfirm_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_AdmittedToBeModified_SgNBModConfList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_AdmittedToBeModified_SgNBModConf_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_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBModificationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBModificationRefuse(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationRefuse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReleaseRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBRelReqList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReqList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBRelReq_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_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBReleaseRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBReleaseRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReleaseRequestAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_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_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBReleaseRequestReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBReleaseRequestReject(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReleaseRequestReject_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBReleaseRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBReleaseRequired(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReleaseRequired_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBRelReqdList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBRelReqd_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_x2ap_E_RABs_ToBeReleased_SgNBRelReqd_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqd_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBReleaseConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBReleaseConfirm(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReleaseConfirm_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBRelConfList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConfList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBRelConf_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_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBCounterCheckRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBCounterCheckRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBCounterCheckRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_SubjectToSgNBCounterCheck_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_x2ap_E_RABs_SubjectToSgNBCounterCheck_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_SubjectToSgNBCounterCheck_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_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBChangeRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBChangeRequired(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBChangeRequired_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_AccessAndMobilityIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_AccessAndMobilityIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBChangeConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBChangeConfirm(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBChangeConfirm_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBChaConfList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConfList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_ToBeReleased_SgNBChaConf_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_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RRCTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RRCTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_RRCTransfer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBChangeRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBChangeRefuse(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBChangeRefuse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCX2SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCX2SetupRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCX2SetupRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_InitiatingNodeType_EndcX2Setup_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_InitiatingNodeType_EndcX2Setup(tvb, offset, &asn1_ctx, tree, hf_x2ap_InitiatingNodeType_EndcX2Setup_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedEUTRAcellsENDCX2ManagementList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedEUTRAcellsENDCX2ManagementList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedNRcellsENDCX2ManagementList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedNRcellsENDCX2ManagementList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedNRcellsENDCX2ManagementList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellandCapacityAssistInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CellandCapacityAssistInfo(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellandCapacityAssistInfo_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CellAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellAssistanceInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCX2SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCX2SetupResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCX2SetupResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RespondingNodeType_EndcX2Setup_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RespondingNodeType_EndcX2Setup(tvb, offset, &asn1_ctx, tree, hf_x2ap_RespondingNodeType_EndcX2Setup_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCX2SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCX2SetupFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCX2SetupFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCConfigurationUpdate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_InitiatingNodeType_EndcConfigUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_InitiatingNodeType_EndcConfigUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_InitiatingNodeType_EndcConfigUpdate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedEUTRAcellsToModifyListENDCConfUpd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedEUTRAcellsToDeleteListENDCConfUpd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedNRcellsToModifyENDCConfUpdList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedNRcellsToModifyENDCConfUpdList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedNRcellsToDeleteENDCConfUpdList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedNRcellsToDeleteENDCConfUpdList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCConfigurationUpdateAcknowledge_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RespondingNodeType_EndcConfigUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RespondingNodeType_EndcConfigUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_RespondingNodeType_EndcConfigUpdate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCConfigurationUpdateFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCCellActivationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCCellActivationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCCellActivationRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ServedNRCellsToActivate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ServedNRCellsToActivate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedNRCellsToActivate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCCellActivationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCCellActivationResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCCellActivationResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ActivatedNRCellList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ActivatedNRCellList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ActivatedNRCellList_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCCellActivationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCCellActivationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCCellActivationFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCResourceStatusRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCResourceStatusRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCResourceStatusRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellToReport_NR_ENDC_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_x2ap_CellToReport_NR_ENDC_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_NR_ENDC_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellToReport_NR_ENDC_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_x2ap_CellToReport_NR_ENDC_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_NR_ENDC_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellToReport_E_UTRA_ENDC_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_x2ap_CellToReport_E_UTRA_ENDC_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_E_UTRA_ENDC_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellToReport_E_UTRA_ENDC_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_x2ap_CellToReport_E_UTRA_ENDC_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_E_UTRA_ENDC_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCResourceStatusResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCResourceStatusResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCResourceStatusResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCResourceStatusFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCResourceStatusFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCResourceStatusFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCResourceStatusUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCResourceStatusUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCResourceStatusUpdate_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellMeasurementResult_NR_ENDC_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_x2ap_CellMeasurementResult_NR_ENDC_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_NR_ENDC_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellMeasurementResult_NR_ENDC_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_x2ap_CellMeasurementResult_NR_ENDC_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_NR_ENDC_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellMeasurementResult_E_UTRA_ENDC_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_x2ap_CellMeasurementResult_E_UTRA_ENDC_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_E_UTRA_ENDC_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CellMeasurementResult_E_UTRA_ENDC_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_x2ap_CellMeasurementResult_E_UTRA_ENDC_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_E_UTRA_ENDC_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SecondaryRATDataUsageReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SecondaryRATDataUsageReport(tvb, offset, &asn1_ctx, tree, hf_x2ap_SecondaryRATDataUsageReport_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SgNBActivityNotification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_SgNBActivityNotification(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBActivityNotification_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCPartialResetRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCPartialResetRequired(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCPartialResetRequired_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCPartialResetConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCPartialResetConfirm(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCPartialResetConfirm_PDU); offset += 7; offset >>= 3; return offset; } int dissect_x2ap_EUTRANRCellResourceCoordinationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_EUTRANRCellResourceCoordinationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_x2ap_EUTRANRCellResourceCoordinationRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_InitiatingNodeType_EutranrCellResourceCoordination_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_InitiatingNodeType_EutranrCellResourceCoordination(tvb, offset, &asn1_ctx, tree, hf_x2ap_InitiatingNodeType_EutranrCellResourceCoordination_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ListofEUTRACellsinEUTRACoordinationReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ListofEUTRACellsinEUTRACoordinationReq(tvb, offset, &asn1_ctx, tree, hf_x2ap_ListofEUTRACellsinEUTRACoordinationReq_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ListofEUTRACellsinNRCoordinationReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ListofEUTRACellsinNRCoordinationReq(tvb, offset, &asn1_ctx, tree, hf_x2ap_ListofEUTRACellsinNRCoordinationReq_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ListofNRCellsinNRCoordinationReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ListofNRCellsinNRCoordinationReq(tvb, offset, &asn1_ctx, tree, hf_x2ap_ListofNRCellsinNRCoordinationReq_PDU); offset += 7; offset >>= 3; return offset; } int dissect_x2ap_EUTRANRCellResourceCoordinationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_EUTRANRCellResourceCoordinationResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_x2ap_EUTRANRCellResourceCoordinationResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RespondingNodeType_EutranrCellResourceCoordination_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RespondingNodeType_EutranrCellResourceCoordination(tvb, offset, &asn1_ctx, tree, hf_x2ap_RespondingNodeType_EutranrCellResourceCoordination_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ListofEUTRACellsinEUTRACoordinationResp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ListofEUTRACellsinEUTRACoordinationResp(tvb, offset, &asn1_ctx, tree, hf_x2ap_ListofEUTRACellsinEUTRACoordinationResp_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ListofNRCellsinNRCoordinationResp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ListofNRCellsinNRCoordinationResp(tvb, offset, &asn1_ctx, tree, hf_x2ap_ListofNRCellsinNRCoordinationResp_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCX2RemovalRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCX2RemovalRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCX2RemovalRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_InitiatingNodeType_EndcX2Removal_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_InitiatingNodeType_EndcX2Removal(tvb, offset, &asn1_ctx, tree, hf_x2ap_InitiatingNodeType_EndcX2Removal_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCX2RemovalResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCX2RemovalResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCX2RemovalResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_RespondingNodeType_EndcX2Removal_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_RespondingNodeType_EndcX2Removal(tvb, offset, &asn1_ctx, tree, hf_x2ap_RespondingNodeType_EndcX2Removal_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCX2RemovalFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCX2RemovalFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCX2RemovalFailure_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DataForwardingAddressIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_DataForwardingAddressIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_DataForwardingAddressIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_DataForwardingAddress_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_x2ap_E_RABs_DataForwardingAddress_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_DataForwardingAddress_List_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_E_RABs_DataForwardingAddress_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_x2ap_E_RABs_DataForwardingAddress_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_DataForwardingAddress_Item_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_GNBStatusIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_GNBStatusIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_GNBStatusIndication_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ENDCConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_ENDCConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCConfigurationTransfer_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_TraceStart(tvb, offset, &asn1_ctx, tree, hf_x2ap_TraceStart_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_DeactivateTrace(tvb, offset, &asn1_ctx, tree, hf_x2ap_DeactivateTrace_PDU); offset += 7; offset >>= 3; return offset; } 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_x2ap_CellTrafficTrace(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellTrafficTrace_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_F1CTrafficTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_F1CTrafficTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_F1CTrafficTransfer_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UERadioCapabilityIDMappingRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UERadioCapabilityIDMappingRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_UERadioCapabilityIDMappingRequest_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UERadioCapabilityIDMappingResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_UERadioCapabilityIDMappingResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_UERadioCapabilityIDMappingResponse_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_CPC_cancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_CPC_cancel(tvb, offset, &asn1_ctx, tree, hf_x2ap_CPC_cancel_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); offset = dissect_x2ap_X2AP_PDU(tvb, offset, &asn1_ctx, tree, hf_x2ap_X2AP_PDU_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo); return (dissector_try_uint_new(x2ap_ies_dissector_table, x2ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0; } static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo); return (dissector_try_uint_new(x2ap_extension_dissector_table, x2ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0; } static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo); x2ap_data->message_type = INITIATING_MESSAGE; return (dissector_try_uint_new(x2ap_proc_imsg_dissector_table, x2ap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0; } static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo); x2ap_data->message_type = SUCCESSFUL_OUTCOME; return (dissector_try_uint_new(x2ap_proc_sout_dissector_table, x2ap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0; } static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo); x2ap_data->message_type = UNSUCCESSFUL_OUTCOME; return (dissector_try_uint_new(x2ap_proc_uout_dissector_table, x2ap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0; } static int dissect_x2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { proto_item *x2ap_item; proto_tree *x2ap_tree; /* make entry in the Protocol column on summary display */ col_set_str(pinfo->cinfo, COL_PROTOCOL, "X2AP"); col_clear_fence(pinfo->cinfo, COL_INFO); col_clear(pinfo->cinfo, COL_INFO); /* create the x2ap protocol tree */ x2ap_item = proto_tree_add_item(tree, proto_x2ap, tvb, 0, -1, ENC_NA); x2ap_tree = proto_item_add_subtree(x2ap_item, ett_x2ap); return dissect_X2AP_PDU_PDU(tvb, pinfo, x2ap_tree, data); } /*--- proto_register_x2ap -------------------------------------------*/ void proto_register_x2ap(void) { /* List of fields */ static hf_register_info hf[] = { { &hf_x2ap_transportLayerAddressIPv4, { "transportLayerAddress(IPv4)", "x2ap.transportLayerAddressIPv4", FT_IPv4, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_transportLayerAddressIPv6, { "transportLayerAddress(IPv6)", "x2ap.transportLayerAddressIPv6", FT_IPv6, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_PRBPeriodic, { "PRBPeriodic", "x2ap.ReportCharacteristics.PRBPeriodic", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_TNLLoadIndPeriodic, { "TNLLoadIndPeriodic", "x2ap.ReportCharacteristics.TNLLoadIndPeriodic", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_HWLoadIndPeriodic, { "HWLoadIndPeriodic", "x2ap.ReportCharacteristics.HWLoadIndPeriodic", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic, { "CompositeAvailableCapacityPeriodic", "x2ap.ReportCharacteristics.CompositeAvailableCapacityPeriodic", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_ABSStatusPeriodic, { "ABSStatusPeriodic", "x2ap.ReportCharacteristics.ABSStatusPeriodic", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x08000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_RSRPMeasurementReportPeriodic, { "RSRPMeasurementReportPeriodic", "x2ap.ReportCharacteristics.RSRPMeasurementReportPeriodic", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x04000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_CSIReportPeriodic, { "CSIReportPeriodic", "x2ap.ReportCharacteristics.CSIReportPeriodic", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x02000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_Reserved, { "Reserved", "x2ap.ReportCharacteristics.Reserved", FT_UINT32, BASE_HEX, NULL, 0x01ffffff, NULL, HFILL }}, { &hf_x2ap_measurementFailedReportCharacteristics_PRBPeriodic, { "PRBPeriodic", "x2ap.measurementFailedReportCharacteristics.PRBPeriodic", FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x80000000, NULL, HFILL }}, { &hf_x2ap_measurementFailedReportCharacteristics_TNLLoadIndPeriodic, { "TNLLoadIndPeriodic", "x2ap.measurementFailedReportCharacteristics.TNLLoadIndPeriodic", FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x40000000, NULL, HFILL }}, { &hf_x2ap_measurementFailedReportCharacteristics_HWLoadIndPeriodic, { "HWLoadIndPeriodic", "x2ap.measurementFailedReportCharacteristics.HWLoadIndPeriodic", FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x20000000, NULL, HFILL }}, { &hf_x2ap_measurementFailedReportCharacteristics_CompositeAvailableCapacityPeriodic, { "CompositeAvailableCapacityPeriodic", "x2ap.measurementFailedReportCharacteristics.CompositeAvailableCapacityPeriodic", FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x10000000, NULL, HFILL }}, { &hf_x2ap_measurementFailedReportCharacteristics_ABSStatusPeriodic, { "ABSStatusPeriodic", "x2ap.measurementFailedReportCharacteristics.ABSStatusPeriodic", FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x08000000, NULL, HFILL }}, { &hf_x2ap_measurementFailedReportCharacteristics_RSRPMeasurementReportPeriodic, { "RSRPMeasurementReportPeriodic", "x2ap.measurementFailedReportCharacteristics.RSRPMeasurementReportPeriodic", FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x04000000, NULL, HFILL }}, { &hf_x2ap_measurementFailedReportCharacteristics_CSIReportPeriodic, { "CSIReportPeriodic", "x2ap.measurementFailedReportCharacteristics.CSIReportPeriodic", FT_BOOLEAN, 32, TFS(&x2ap_tfs_failed_succeeded), 0x02000000, NULL, HFILL }}, { &hf_x2ap_measurementFailedReportCharacteristics_Reserved, { "Reserved", "x2ap.measurementFailedReportCharacteristics.Reserved", FT_UINT32, BASE_HEX, NULL, 0x01ffffff, NULL, HFILL }}, { &hf_x2ap_eUTRANTraceID_TraceID, { "TraceID", "x2ap.eUTRANTraceID.TraceID", FT_UINT24, BASE_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_eUTRANTraceID_TraceRecordingSessionReference, { "TraceRecordingSessionReference", "x2ap.eUTRANTraceID.TraceRecordingSessionReference", FT_UINT16, BASE_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_interfacesToTrace_S1_MME, { "S1-MME", "x2ap.interfacesToTrace.S1_MME", FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x80, NULL, HFILL }}, { &hf_x2ap_interfacesToTrace_X2, { "X2", "x2ap.interfacesToTrace.X2", FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x40, NULL, HFILL }}, { &hf_x2ap_interfacesToTrace_Uu, { "Uu", "x2ap.interfacesToTrace.Uu", FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x20, NULL, HFILL }}, { &hf_x2ap_interfacesToTrace_F1_C, { "F1-C", "x2ap.interfacesToTrace.F1_C", FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x10, NULL, HFILL }}, { &hf_x2ap_interfacesToTrace_E1, { "E1", "x2ap.interfacesToTrace.E1", FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x08, NULL, HFILL }}, { &hf_x2ap_interfacesToTrace_Reserved, { "Reserved", "x2ap.interfacesToTrace.Reserved", FT_UINT8, BASE_HEX, NULL, 0x07, NULL, HFILL }}, { &hf_x2ap_traceCollectionEntityIPAddress_IPv4, { "IPv4", "x2ap.traceCollectionEntityIPAddress.IPv4", FT_IPv4, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_traceCollectionEntityIPAddress_IPv6, { "IPv6", "x2ap.traceCollectionEntityIPAddress.IPv6", FT_IPv6, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_encryptionAlgorithms_EEA1, { "128-EEA1", "x2ap.encryptionAlgorithms.EEA1", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000, NULL, HFILL }}, { &hf_x2ap_encryptionAlgorithms_EEA2, { "128-EEA2", "x2ap.encryptionAlgorithms.EEA2", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000, NULL, HFILL }}, { &hf_x2ap_encryptionAlgorithms_EEA3, { "128-EEA3", "x2ap.encryptionAlgorithms.EEA3", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000, NULL, HFILL }}, { &hf_x2ap_encryptionAlgorithms_Reserved, { "Reserved", "x2ap.encryptionAlgorithms.Reserved", FT_UINT16, BASE_HEX, NULL, 0x1fff, NULL, HFILL }}, { &hf_x2ap_integrityProtectionAlgorithms_EIA1, { "128-EIA1", "x2ap.integrityProtectionAlgorithms.EIA1", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000, NULL, HFILL }}, { &hf_x2ap_integrityProtectionAlgorithms_EIA2, { "128-EIA2", "x2ap.integrityProtectionAlgorithms.EIA2", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000, NULL, HFILL }}, { &hf_x2ap_integrityProtectionAlgorithms_EIA3, { "128-EIA3", "x2ap.integrityProtectionAlgorithms.EIA3", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000, NULL, HFILL }}, { &hf_x2ap_integrityProtectionAlgorithms_EIA7, { "EIA7", "x2ap.integrityProtectionAlgorithms.EIA7", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x0200, NULL, HFILL }}, { &hf_x2ap_integrityProtectionAlgorithms_Reserved, { "Reserved", "x2ap.integrityProtectionAlgorithms.Reserved", FT_UINT16, BASE_HEX, NULL, 0x1dff, NULL, HFILL }}, { &hf_x2ap_measurementsToActivate_M1, { "M1", "x2ap.measurementsToActivate.M1", FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x80, NULL, HFILL }}, { &hf_x2ap_measurementsToActivate_M2, { "M2", "x2ap.measurementsToActivate.M2", FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x40, NULL, HFILL }}, { &hf_x2ap_measurementsToActivate_M3, { "M3", "x2ap.measurementsToActivate.M3", FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x20, NULL, HFILL }}, { &hf_x2ap_measurementsToActivate_M4, { "M4", "x2ap.measurementsToActivate.M4", FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x10, NULL, HFILL }}, { &hf_x2ap_measurementsToActivate_M5, { "M5", "x2ap.measurementsToActivate.M5", FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x08, NULL, HFILL }}, { &hf_x2ap_measurementsToActivate_LoggingM1FromEventTriggered, { "LoggingOfM1FromEventTriggeredMeasurementReports", "x2ap.measurementsToActivate.LoggingM1FromEventTriggered", FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x04, NULL, HFILL }}, { &hf_x2ap_measurementsToActivate_M6, { "M6", "x2ap.measurementsToActivate.M6", FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x02, NULL, HFILL }}, { &hf_x2ap_measurementsToActivate_M7, { "M7", "x2ap.measurementsToActivate.M7", FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x01, NULL, HFILL }}, { &hf_x2ap_MDT_Location_Info_GNSS, { "GNSS", "x2ap.MDT_Location_Info.GNSS", FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x80, NULL, HFILL }}, { &hf_x2ap_MDT_Location_Info_E_CID, { "E-CID", "x2ap.MDT_Location_Info.E_CID", FT_BOOLEAN, 8, TFS(&x2ap_tfs_activate_do_not_activate), 0x40, NULL, HFILL }}, { &hf_x2ap_MDT_Location_Info_Reserved, { "Reserved", "x2ap.MDT_Location_Info.Reserved", FT_UINT8, BASE_HEX, NULL, 0x3f, NULL, HFILL }}, { &hf_x2ap_MDT_transmissionModes_tm1, { "TM1", "x2ap.MDT_Location_Info.transmissionModes.tm1", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x80, NULL, HFILL }}, { &hf_x2ap_MDT_transmissionModes_tm2, { "TM2", "x2ap.MDT_Location_Info.transmissionModes.tm2", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x40, NULL, HFILL }}, { &hf_x2ap_MDT_transmissionModes_tm3, { "TM3", "x2ap.MDT_Location_Info.transmissionModes.tm3", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x20, NULL, HFILL }}, { &hf_x2ap_MDT_transmissionModes_tm4, { "TM4", "x2ap.MDT_Location_Info.transmissionModes.tm4", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x10, NULL, HFILL }}, { &hf_x2ap_MDT_transmissionModes_tm6, { "TM6", "x2ap.MDT_Location_Info.transmissionModes.tm6", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x08, NULL, HFILL }}, { &hf_x2ap_MDT_transmissionModes_tm8, { "TM8", "x2ap.MDT_Location_Info.transmissionModes.tm8", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x04, NULL, HFILL }}, { &hf_x2ap_MDT_transmissionModes_tm9, { "TM9", "x2ap.MDT_Location_Info.transmissionModes.tm9", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x02, NULL, HFILL }}, { &hf_x2ap_MDT_transmissionModes_tm10, { "TM10", "x2ap.MDT_Location_Info.transmissionModes.tm10", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x01, NULL, HFILL }}, { &hf_x2ap_NRencryptionAlgorithms_NEA1, { "128-NEA1", "x2ap.NRencryptionAlgorithms.NEA1", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000, NULL, HFILL }}, { &hf_x2ap_NRencryptionAlgorithms_NEA2, { "128-NEA2", "x2ap.NRencryptionAlgorithms.NEA2", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000, NULL, HFILL }}, { &hf_x2ap_NRencryptionAlgorithms_NEA3, { "128-NEA3", "x2ap.NRencryptionAlgorithms.NEA3", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000, NULL, HFILL }}, { &hf_x2ap_NRencryptionAlgorithms_Reserved, { "Reserved", "x2ap.NRencryptionAlgorithms.Reserved", FT_UINT16, BASE_HEX, NULL, 0x1fff, NULL, HFILL }}, { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA1, { "128-NIA1", "x2ap.NRintegrityProtectionAlgorithms.NIA1", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000, NULL, HFILL }}, { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA2, { "128-NIA2", "x2ap.NRintegrityProtectionAlgorithms.NIA2", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000, NULL, HFILL }}, { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA3, { "128-NIA3", "x2ap.NRintegrityProtectionAlgorithms.NIA3", FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000, NULL, HFILL }}, { &hf_x2ap_NRintegrityProtectionAlgorithms_Reserved, { "Reserved", "x2ap.NRintegrityProtectionAlgorithms.Reserved", FT_UINT16, BASE_HEX, NULL, 0x1fff, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic, { "PRBPeriodic", "x2ap.ReportCharacteristics_ENDC.PRBPeriodic", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic, { "TNLCapacityIndPeriodic", "x2ap.ReportCharacteristics_ENDC.TNLCapacityIndPeriodic", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic, { "CompositeAvailableCapacityPeriodic", "x2ap.ReportCharacteristics_ENDC.CompositeAvailableCapacityPeriodic", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs, { "NumberOfActiveUEs", "x2ap.ReportCharacteristics_ENDC.NumberOfActiveUEs", FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_ENDC_Reserved, { "Reserved", "x2ap.ReportCharacteristics_ENDC.Reserved", FT_UINT32, BASE_HEX, NULL, 0x0fffffff, NULL, HFILL }}, { &hf_x2ap_Registration_Request_ENDC_PDU, { "Registration-Request-ENDC", "x2ap.Registration_Request_ENDC", FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_ENDC_vals), 0, NULL, HFILL }}, { &hf_x2ap_ReportingPeriodicity_ENDC_PDU, { "ReportingPeriodicity-ENDC", "x2ap.ReportingPeriodicity_ENDC", FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicity_ENDC_vals), 0, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_ENDC_PDU, { "ReportCharacteristics-ENDC", "x2ap.ReportCharacteristics_ENDC", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_rAT_RestrictionInformation_LEO, { "LEO", "x2ap.rAT_RestrictionInformation.LEO", FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80, NULL, HFILL }}, { &hf_x2ap_rAT_RestrictionInformation_MEO, { "MEO", "x2ap.rAT_RestrictionInformation.MEO", FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40, NULL, HFILL }}, { &hf_x2ap_rAT_RestrictionInformation_GEO, { "GEO", "x2ap.rAT_RestrictionInformation.GEO", FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20, NULL, HFILL }}, { &hf_x2ap_rAT_RestrictionInformation_OTHERSAT, { "OTHERSAT", "x2ap.rAT_RestrictionInformation.OTHERSAT", FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x10, NULL, HFILL }}, { &hf_x2ap_rAT_RestrictionInformation_Reserved, { "Reserved", "x2ap.rAT_RestrictionInformation.Reserved", FT_UINT8, BASE_HEX, NULL, 0x0f, NULL, HFILL }}, { &hf_x2ap_ABSInformation_PDU, { "ABSInformation", "x2ap.ABSInformation", FT_UINT32, BASE_DEC, VALS(x2ap_ABSInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_ABS_Status_PDU, { "ABS-Status", "x2ap.ABS_Status_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ActivationID_PDU, { "ActivationID", "x2ap.ActivationID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Additional_Measurement_Timing_Configuration_List_PDU, { "Additional-Measurement-Timing-Configuration-List", "x2ap.Additional_Measurement_Timing_Configuration_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_PDU, { "AdditionalListofForwardingGTPTunnelEndpoint", "x2ap.AdditionalListofForwardingGTPTunnelEndpoint", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_AdditionLocationInformation_PDU, { "AdditionLocationInformation", "x2ap.AdditionLocationInformation", FT_UINT32, BASE_DEC, VALS(x2ap_AdditionLocationInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_AdditionalRRMPriorityIndex_PDU, { "AdditionalRRMPriorityIndex", "x2ap.AdditionalRRMPriorityIndex", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_AdditionalSpecialSubframe_Info_PDU, { "AdditionalSpecialSubframe-Info", "x2ap.AdditionalSpecialSubframe_Info_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_AdditionalSpecialSubframeExtension_Info_PDU, { "AdditionalSpecialSubframeExtension-Info", "x2ap.AdditionalSpecialSubframeExtension_Info_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_AvailableFastMCGRecoveryViaSRB3_PDU, { "AvailableFastMCGRecoveryViaSRB3", "x2ap.AvailableFastMCGRecoveryViaSRB3", FT_UINT32, BASE_DEC, VALS(x2ap_AvailableFastMCGRecoveryViaSRB3_vals), 0, NULL, HFILL }}, { &hf_x2ap_AerialUEsubscriptionInformation_PDU, { "AerialUEsubscriptionInformation", "x2ap.AerialUEsubscriptionInformation", FT_UINT32, BASE_DEC, VALS(x2ap_AerialUEsubscriptionInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_AdditionalPLMNs_Item_PDU, { "AdditionalPLMNs-Item", "x2ap.AdditionalPLMNs_Item", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_BandwidthReducedSI_PDU, { "BandwidthReducedSI", "x2ap.BandwidthReducedSI", FT_UINT32, BASE_DEC, VALS(x2ap_BandwidthReducedSI_vals), 0, NULL, HFILL }}, { &hf_x2ap_BearerType_PDU, { "BearerType", "x2ap.BearerType", FT_UINT32, BASE_DEC, VALS(x2ap_BearerType_vals), 0, NULL, HFILL }}, { &hf_x2ap_BluetoothMeasurementConfiguration_PDU, { "BluetoothMeasurementConfiguration", "x2ap.BluetoothMeasurementConfiguration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_BPLMN_ID_Info_EUTRA_PDU, { "BPLMN-ID-Info-EUTRA", "x2ap.BPLMN_ID_Info_EUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_BPLMN_ID_Info_NR_PDU, { "BPLMN-ID-Info-NR", "x2ap.BPLMN_ID_Info_NR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Cause_PDU, { "Cause", "x2ap.Cause", FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0, NULL, HFILL }}, { &hf_x2ap_CellReportingIndicator_PDU, { "CellReportingIndicator", "x2ap.CellReportingIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_CellReportingIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_CPAinformation_REQ_PDU, { "CPAinformation-REQ", "x2ap.CPAinformation_REQ_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CPAinformation_REQ_ACK_PDU, { "CPAinformation-REQ-ACK", "x2ap.CPAinformation_REQ_ACK_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CPCinformation_REQD_PDU, { "CPCinformation-REQD", "x2ap.CPCinformation_REQD_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CPCinformation_CONF_PDU, { "CPCinformation-CONF", "x2ap.CPCinformation_CONF_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CPCinformation_NOTIFY_PDU, { "CPCinformation-NOTIFY", "x2ap.CPCinformation_NOTIFY_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CPAinformation_MOD_PDU, { "CPAinformation-MOD", "x2ap.CPAinformation_MOD_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CPCupdate_MOD_PDU, { "CPCupdate-MOD", "x2ap.CPCupdate_MOD_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CPAinformation_MOD_ACK_PDU, { "CPAinformation-MOD-ACK", "x2ap.CPAinformation_MOD_ACK_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CPACinformation_REQD_PDU, { "CPACinformation-REQD", "x2ap.CPACinformation_REQD_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CHO_DC_EarlyDataForwarding_PDU, { "CHO-DC-EarlyDataForwarding", "x2ap.CHO_DC_EarlyDataForwarding", FT_UINT32, BASE_DEC, VALS(x2ap_CHO_DC_EarlyDataForwarding_vals), 0, NULL, HFILL }}, { &hf_x2ap_CHO_DC_Indicator_PDU, { "CHO-DC-Indicator", "x2ap.CHO_DC_Indicator", FT_UINT32, BASE_DEC, VALS(x2ap_CHO_DC_Indicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_CNTypeRestrictions_PDU, { "CNTypeRestrictions", "x2ap.CNTypeRestrictions", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CoMPInformation_PDU, { "CoMPInformation", "x2ap.CoMPInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CompositeAvailableCapacityGroup_PDU, { "CompositeAvailableCapacityGroup", "x2ap.CompositeAvailableCapacityGroup_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Correlation_ID_PDU, { "Correlation-ID", "x2ap.Correlation_ID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_COUNTValueExtended_PDU, { "COUNTValueExtended", "x2ap.COUNTValueExtended_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_COUNTvaluePDCP_SNlength18_PDU, { "COUNTvaluePDCP-SNlength18", "x2ap.COUNTvaluePDCP_SNlength18_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CoverageModificationList_PDU, { "CoverageModificationList", "x2ap.CoverageModificationList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CriticalityDiagnostics_PDU, { "CriticalityDiagnostics", "x2ap.CriticalityDiagnostics_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CRNTI_PDU, { "CRNTI", "x2ap.CRNTI", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CSGMembershipStatus_PDU, { "CSGMembershipStatus", "x2ap.CSGMembershipStatus", FT_UINT32, BASE_DEC, VALS(x2ap_CSGMembershipStatus_vals), 0, NULL, HFILL }}, { &hf_x2ap_CSG_Id_PDU, { "CSG-Id", "x2ap.CSG_Id", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CSIReportList_PDU, { "CSIReportList", "x2ap.CSIReportList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CHOinformation_REQ_PDU, { "CHOinformation-REQ", "x2ap.CHOinformation_REQ_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CHOinformation_ACK_PDU, { "CHOinformation-ACK", "x2ap.CHOinformation_ACK_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CandidateCellsToBeCancelledList_PDU, { "CandidateCellsToBeCancelledList", "x2ap.CandidateCellsToBeCancelledList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CHOinformation_AddReq_PDU, { "CHOinformation-AddReq", "x2ap.CHOinformation_AddReq_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CHOinformation_ModReq_PDU, { "CHOinformation-ModReq", "x2ap.CHOinformation_ModReq_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CSI_RSTransmissionIndication_PDU, { "CSI-RSTransmissionIndication", "x2ap.CSI_RSTransmissionIndication", FT_UINT32, BASE_DEC, VALS(x2ap_CSI_RSTransmissionIndication_vals), 0, NULL, HFILL }}, { &hf_x2ap_DataTrafficResourceIndication_PDU, { "DataTrafficResourceIndication", "x2ap.DataTrafficResourceIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_DAPSRequestInfo_PDU, { "DAPSRequestInfo", "x2ap.DAPSRequestInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_DAPSResponseInfo_PDU, { "DAPSResponseInfo", "x2ap.DAPSResponseInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_DeactivationIndication_PDU, { "DeactivationIndication", "x2ap.DeactivationIndication", FT_UINT32, BASE_DEC, VALS(x2ap_DeactivationIndication_vals), 0, NULL, HFILL }}, { &hf_x2ap_DesiredActNotificationLevel_PDU, { "DesiredActNotificationLevel", "x2ap.DesiredActNotificationLevel", FT_UINT32, BASE_DEC, VALS(x2ap_DesiredActNotificationLevel_vals), 0, NULL, HFILL }}, { &hf_x2ap_DirectForwardingPathAvailability_PDU, { "DirectForwardingPathAvailability", "x2ap.DirectForwardingPathAvailability", FT_UINT32, BASE_DEC, VALS(x2ap_DirectForwardingPathAvailability_vals), 0, NULL, HFILL }}, { &hf_x2ap_DL_Forwarding_PDU, { "DL-Forwarding", "x2ap.DL_Forwarding", FT_UINT32, BASE_DEC, VALS(x2ap_DL_Forwarding_vals), 0, NULL, HFILL }}, { &hf_x2ap_DL_scheduling_PDCCH_CCE_usage_PDU, { "DL-scheduling-PDCCH-CCE-usage", "x2ap.DL_scheduling_PDCCH_CCE_usage", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_DuplicationActivation_PDU, { "DuplicationActivation", "x2ap.DuplicationActivation", FT_UINT32, BASE_DEC, VALS(x2ap_DuplicationActivation_vals), 0, NULL, HFILL }}, { &hf_x2ap_DynamicDLTransmissionInformation_PDU, { "DynamicDLTransmissionInformation", "x2ap.DynamicDLTransmissionInformation", FT_UINT32, BASE_DEC, VALS(x2ap_DynamicDLTransmissionInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_EARFCNExtension_PDU, { "EARFCNExtension", "x2ap.EARFCNExtension", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ECGI_PDU, { "ECGI", "x2ap.ECGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_EndcSONConfigurationTransfer_PDU, { "EndcSONConfigurationTransfer", "x2ap.EndcSONConfigurationTransfer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_EnhancedRNTP_PDU, { "EnhancedRNTP", "x2ap.EnhancedRNTP_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_EPCHandoverRestrictionListContainer_PDU, { "EPCHandoverRestrictionListContainer", "x2ap.EPCHandoverRestrictionListContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ERABActivityNotifyItemList_PDU, { "ERABActivityNotifyItemList", "x2ap.ERABActivityNotifyItemList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RAB_List_PDU, { "E-RAB-List", "x2ap.E_RAB_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RAB_Item_PDU, { "E-RAB-Item", "x2ap.E_RAB_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABUsageReport_Item_PDU, { "E-RABUsageReport-Item", "x2ap.E_RABUsageReport_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Ethernet_Type_PDU, { "Ethernet-Type", "x2ap.Ethernet_Type", FT_UINT32, BASE_DEC, VALS(x2ap_Ethernet_Type_vals), 0, NULL, HFILL }}, { &hf_x2ap_EUTRANCellIdentifier_PDU, { "EUTRANCellIdentifier", "x2ap.EUTRANCellIdentifier", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_EUTRANTraceID_PDU, { "EUTRANTraceID", "x2ap.EUTRANTraceID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ExpectedUEBehaviour_PDU, { "ExpectedUEBehaviour", "x2ap.ExpectedUEBehaviour_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ExtendedULInterferenceOverloadInfo_PDU, { "ExtendedULInterferenceOverloadInfo", "x2ap.ExtendedULInterferenceOverloadInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ExtendedBitRate_PDU, { "ExtendedBitRate", "x2ap.ExtendedBitRate", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, NULL, HFILL }}, { &hf_x2ap_F1CTrafficContainer_PDU, { "F1CTrafficContainer", "x2ap.F1CTrafficContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_FastMCGRecovery_PDU, { "FastMCGRecovery", "x2ap.FastMCGRecovery_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_FreqBandIndicatorPriority_PDU, { "FreqBandIndicatorPriority", "x2ap.FreqBandIndicatorPriority", FT_UINT32, BASE_DEC, VALS(x2ap_FreqBandIndicatorPriority_vals), 0, NULL, HFILL }}, { &hf_x2ap_FrequencyShift7p5khz_PDU, { "FrequencyShift7p5khz", "x2ap.FrequencyShift7p5khz", FT_UINT32, BASE_DEC, VALS(x2ap_FrequencyShift7p5khz_vals), 0, NULL, HFILL }}, { &hf_x2ap_GlobalENB_ID_PDU, { "GlobalENB-ID", "x2ap.GlobalENB_ID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_GlobalGNB_ID_PDU, { "GlobalGNB-ID", "x2ap.GlobalGNB_ID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Global_RAN_NODE_ID_PDU, { "Global-RAN-NODE-ID", "x2ap.Global_RAN_NODE_ID", FT_UINT32, BASE_DEC, VALS(x2ap_Global_RAN_NODE_ID_vals), 0, NULL, HFILL }}, { &hf_x2ap_GNBOverloadInformation_PDU, { "GNBOverloadInformation", "x2ap.GNBOverloadInformation", FT_UINT32, BASE_DEC, VALS(x2ap_GNBOverloadInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_GTPtunnelEndpoint_PDU, { "GTPtunnelEndpoint", "x2ap.GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_GUGroupIDList_PDU, { "GUGroupIDList", "x2ap.GUGroupIDList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_GUMMEI_PDU, { "GUMMEI", "x2ap.GUMMEI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_HandoverReportType_PDU, { "HandoverReportType", "x2ap.HandoverReportType", FT_UINT32, BASE_DEC, VALS(x2ap_HandoverReportType_vals), 0, NULL, HFILL }}, { &hf_x2ap_HandoverRestrictionList_PDU, { "HandoverRestrictionList", "x2ap.HandoverRestrictionList_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_IABNodeIndication_PDU, { "IABNodeIndication", "x2ap.IABNodeIndication", FT_UINT32, BASE_DEC, VALS(x2ap_IABNodeIndication_vals), 0, NULL, HFILL }}, { &hf_x2ap_IMSvoiceEPSfallbackfrom5G_PDU, { "IMSvoiceEPSfallbackfrom5G", "x2ap.IMSvoiceEPSfallbackfrom5G", FT_UINT32, BASE_DEC, VALS(x2ap_IMSvoiceEPSfallbackfrom5G_vals), 0, NULL, HFILL }}, { &hf_x2ap_IntendedTDD_DL_ULConfiguration_NR_PDU, { "IntendedTDD-DL-ULConfiguration-NR", "x2ap.IntendedTDD_DL_ULConfiguration_NR", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_InterfaceInstanceIndication_PDU, { "InterfaceInstanceIndication", "x2ap.InterfaceInstanceIndication", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_InvokeIndication_PDU, { "InvokeIndication", "x2ap.InvokeIndication", FT_UINT32, BASE_DEC, VALS(x2ap_InvokeIndication_vals), 0, NULL, HFILL }}, { &hf_x2ap_LCID_PDU, { "LCID", "x2ap.LCID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_LHN_ID_PDU, { "LHN-ID", "x2ap.LHN_ID", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_LocationInformationSgNB_PDU, { "LocationInformationSgNB", "x2ap.LocationInformationSgNB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_LocationInformationSgNBReporting_PDU, { "LocationInformationSgNBReporting", "x2ap.LocationInformationSgNBReporting", FT_UINT32, BASE_DEC, VALS(x2ap_LocationInformationSgNBReporting_vals), 0, NULL, HFILL }}, { &hf_x2ap_LowerLayerPresenceStatusChange_PDU, { "LowerLayerPresenceStatusChange", "x2ap.LowerLayerPresenceStatusChange", FT_UINT32, BASE_DEC, VALS(x2ap_LowerLayerPresenceStatusChange_vals), 0, NULL, HFILL }}, { &hf_x2ap_M3Configuration_PDU, { "M3Configuration", "x2ap.M3Configuration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_M4Configuration_PDU, { "M4Configuration", "x2ap.M4Configuration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_M5Configuration_PDU, { "M5Configuration", "x2ap.M5Configuration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_M6Configuration_PDU, { "M6Configuration", "x2ap.M6Configuration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_M7Configuration_PDU, { "M7Configuration", "x2ap.M7Configuration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MakeBeforeBreakIndicator_PDU, { "MakeBeforeBreakIndicator", "x2ap.MakeBeforeBreakIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_MakeBeforeBreakIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_ManagementBasedMDTallowed_PDU, { "ManagementBasedMDTallowed", "x2ap.ManagementBasedMDTallowed", FT_UINT32, BASE_DEC, VALS(x2ap_ManagementBasedMDTallowed_vals), 0, NULL, HFILL }}, { &hf_x2ap_Masked_IMEISV_PDU, { "Masked-IMEISV", "x2ap.Masked_IMEISV", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MDT_Configuration_PDU, { "MDT-Configuration", "x2ap.MDT_Configuration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MDTPLMNList_PDU, { "MDTPLMNList", "x2ap.MDTPLMNList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MDT_Location_Info_PDU, { "MDT-Location-Info", "x2ap.MDT_Location_Info", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Measurement_ID_PDU, { "Measurement-ID", "x2ap.Measurement_ID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Measurement_ID_ENDC_PDU, { "Measurement-ID-ENDC", "x2ap.Measurement_ID_ENDC", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MeNBCoordinationAssistanceInformation_PDU, { "MeNBCoordinationAssistanceInformation", "x2ap.MeNBCoordinationAssistanceInformation", FT_UINT32, BASE_DEC, VALS(x2ap_MeNBCoordinationAssistanceInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_x2ap_MeNBResourceCoordinationInformation_PDU, { "MeNBResourceCoordinationInformation", "x2ap.MeNBResourceCoordinationInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MeNBtoSeNBContainer_PDU, { "MeNBtoSeNBContainer", "x2ap.MeNBtoSeNBContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MBMS_Service_Area_Identity_List_PDU, { "MBMS-Service-Area-Identity-List", "x2ap.MBMS_Service_Area_Identity_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MBSFN_Subframe_Infolist_PDU, { "MBSFN-Subframe-Infolist", "x2ap.MBSFN_Subframe_Infolist", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MDT_ConfigurationNR_PDU, { "MDT-ConfigurationNR", "x2ap.MDT_ConfigurationNR", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MobilityParametersModificationRange_PDU, { "MobilityParametersModificationRange", "x2ap.MobilityParametersModificationRange_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MobilityParametersInformation_PDU, { "MobilityParametersInformation", "x2ap.MobilityParametersInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MultibandInfoList_PDU, { "MultibandInfoList", "x2ap.MultibandInfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MessageOversizeNotification_PDU, { "MessageOversizeNotification", "x2ap.MessageOversizeNotification_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MeNBtoSgNBContainer_PDU, { "MeNBtoSgNBContainer", "x2ap.MeNBtoSgNBContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SplitSRBs_PDU, { "SplitSRBs", "x2ap.SplitSRBs", FT_UINT32, BASE_DEC, VALS(x2ap_SplitSRBs_vals), 0, NULL, HFILL }}, { &hf_x2ap_SplitSRB_PDU, { "SplitSRB", "x2ap.SplitSRB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NBIoT_UL_DL_AlignmentOffset_PDU, { "NBIoT-UL-DL-AlignmentOffset", "x2ap.NBIoT_UL_DL_AlignmentOffset", FT_UINT32, BASE_DEC, VALS(x2ap_NBIoT_UL_DL_AlignmentOffset_vals), 0, NULL, HFILL }}, { &hf_x2ap_NBIoT_RLF_Report_Container_PDU, { "NBIoT-RLF-Report-Container", "x2ap.NBIoT_RLF_Report_Container", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NewDRBIDrequest_PDU, { "NewDRBIDrequest", "x2ap.NewDRBIDrequest", FT_UINT32, BASE_DEC, VALS(x2ap_NewDRBIDrequest_vals), 0, NULL, HFILL }}, { &hf_x2ap_Number_of_Antennaports_PDU, { "Number-of-Antennaports", "x2ap.Number_of_Antennaports", FT_UINT32, BASE_DEC, VALS(x2ap_Number_of_Antennaports_vals), 0, NULL, HFILL }}, { &hf_x2ap_NRCarrierList_PDU, { "NRCarrierList", "x2ap.NRCarrierList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NRCellPRACHConfig_PDU, { "NRCellPRACHConfig", "x2ap.NRCellPRACHConfig", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NRCGI_PDU, { "NRCGI", "x2ap.NRCGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NRRACHReportInformation_PDU, { "NRRACHReportInformation", "x2ap.NRRACHReportInformation", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NRNeighbour_Information_PDU, { "NRNeighbour-Information", "x2ap.NRNeighbour_Information", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NPRACHConfiguration_PDU, { "NPRACHConfiguration", "x2ap.NPRACHConfiguration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NRrestrictioninEPSasSecondaryRAT_PDU, { "NRrestrictioninEPSasSecondaryRAT", "x2ap.NRrestrictioninEPSasSecondaryRAT", FT_UINT32, BASE_DEC, VALS(x2ap_NRrestrictioninEPSasSecondaryRAT_vals), 0, NULL, HFILL }}, { &hf_x2ap_MeasurementResultforNRCellsPossiblyAggregated_PDU, { "MeasurementResultforNRCellsPossiblyAggregated", "x2ap.MeasurementResultforNRCellsPossiblyAggregated", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MIMOPRBusageInformation_PDU, { "MIMOPRBusageInformation", "x2ap.MIMOPRBusageInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NRrestrictionin5GS_PDU, { "NRrestrictionin5GS", "x2ap.NRrestrictionin5GS", FT_UINT32, BASE_DEC, VALS(x2ap_NRrestrictionin5GS_vals), 0, NULL, HFILL }}, { &hf_x2ap_NRS_NSSS_PowerOffset_PDU, { "NRS-NSSS-PowerOffset", "x2ap.NRS_NSSS_PowerOffset", FT_UINT32, BASE_DEC, VALS(x2ap_NRS_NSSS_PowerOffset_vals), 0, NULL, HFILL }}, { &hf_x2ap_NRUeReport_PDU, { "NRUeReport", "x2ap.NRUeReport_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NRUESidelinkAggregateMaximumBitRate_PDU, { "NRUESidelinkAggregateMaximumBitRate", "x2ap.NRUESidelinkAggregateMaximumBitRate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NRUESecurityCapabilities_PDU, { "NRUESecurityCapabilities", "x2ap.NRUESecurityCapabilities_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NSSS_NumOccasionDifferentPrecoder_PDU, { "NSSS-NumOccasionDifferentPrecoder", "x2ap.NSSS_NumOccasionDifferentPrecoder", FT_UINT32, BASE_DEC, VALS(x2ap_NSSS_NumOccasionDifferentPrecoder_vals), 0, NULL, HFILL }}, { &hf_x2ap_NRV2XServicesAuthorized_PDU, { "NRV2XServicesAuthorized", "x2ap.NRV2XServicesAuthorized_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_OffsetOfNbiotChannelNumberToEARFCN_PDU, { "OffsetOfNbiotChannelNumberToEARFCN", "x2ap.OffsetOfNbiotChannelNumberToEARFCN", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &x2ap_OffsetOfNbiotChannelNumberToEARFCN_vals_ext, 0, NULL, HFILL }}, { &hf_x2ap_Packet_LossRate_PDU, { "Packet-LossRate", "x2ap.Packet_LossRate", FT_UINT32, BASE_CUSTOM, CF_FUNC(x2ap_Packet_LossRate_fmt), 0, NULL, HFILL }}, { &hf_x2ap_PC5QoSParameters_PDU, { "PC5QoSParameters", "x2ap.PC5QoSParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_PDCPChangeIndication_PDU, { "PDCPChangeIndication", "x2ap.PDCPChangeIndication", FT_UINT32, BASE_DEC, VALS(x2ap_PDCPChangeIndication_vals), 0, NULL, HFILL }}, { &hf_x2ap_PDCPSnLength_PDU, { "PDCPSnLength", "x2ap.PDCPSnLength", FT_UINT32, BASE_DEC, VALS(x2ap_PDCPSnLength_vals), 0, NULL, HFILL }}, { &hf_x2ap_PCI_PDU, { "PCI", "x2ap.PCI", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_PLMN_Identity_PDU, { "PLMN-Identity", "x2ap.PLMN_Identity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_PRACH_Configuration_PDU, { "PRACH-Configuration", "x2ap.PRACH_Configuration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ProSeAuthorized_PDU, { "ProSeAuthorized", "x2ap.ProSeAuthorized_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ProSeUEtoNetworkRelaying_PDU, { "ProSeUEtoNetworkRelaying", "x2ap.ProSeUEtoNetworkRelaying", FT_UINT32, BASE_DEC, VALS(x2ap_ProSeUEtoNetworkRelaying_vals), 0, NULL, HFILL }}, { &hf_x2ap_x2ap_ProtectedEUTRAResourceIndication_PDU, { "ProtectedEUTRAResourceIndication", "x2ap.ProtectedEUTRAResourceIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_PartialListIndicator_PDU, { "PartialListIndicator", "x2ap.PartialListIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_PartialListIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_PrivacyIndicator_PDU, { "PrivacyIndicator", "x2ap.PrivacyIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_PrivacyIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_PSCellHistoryInformationRetrieve_PDU, { "PSCellHistoryInformationRetrieve", "x2ap.PSCellHistoryInformationRetrieve", FT_UINT32, BASE_DEC, VALS(x2ap_PSCellHistoryInformationRetrieve_vals), 0, NULL, HFILL }}, { &hf_x2ap_PSCell_UE_HistoryInformation_PDU, { "PSCell-UE-HistoryInformation", "x2ap.PSCell_UE_HistoryInformation", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_PSCellChangeHistory_PDU, { "PSCellChangeHistory", "x2ap.PSCellChangeHistory", FT_UINT32, BASE_DEC, VALS(x2ap_PSCellChangeHistory_vals), 0, NULL, HFILL }}, { &hf_x2ap_QoS_Mapping_Information_PDU, { "QoS-Mapping-Information", "x2ap.QoS_Mapping_Information_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RAN_UE_NGAP_ID_PDU, { "RAN-UE-NGAP-ID", "x2ap.RAN_UE_NGAP_ID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RAT_Restrictions_PDU, { "RAT-Restrictions", "x2ap.RAT_Restrictions", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ReceiveStatusOfULPDCPSDUsExtended_PDU, { "ReceiveStatusOfULPDCPSDUsExtended", "x2ap.ReceiveStatusOfULPDCPSDUsExtended", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU, { "ReceiveStatusOfULPDCPSDUsPDCP-SNlength18", "x2ap.ReceiveStatusOfULPDCPSDUsPDCP_SNlength18", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ReleaseFastMCGRecoveryViaSRB3_PDU, { "ReleaseFastMCGRecoveryViaSRB3", "x2ap.ReleaseFastMCGRecoveryViaSRB3", FT_UINT32, BASE_DEC, VALS(x2ap_ReleaseFastMCGRecoveryViaSRB3_vals), 0, NULL, HFILL }}, { &hf_x2ap_Registration_Request_PDU, { "Registration-Request", "x2ap.Registration_Request", FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_vals), 0, NULL, HFILL }}, { &hf_x2ap_ReportCharacteristics_PDU, { "ReportCharacteristics", "x2ap.ReportCharacteristics", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ReportingPeriodicityCSIR_PDU, { "ReportingPeriodicityCSIR", "x2ap.ReportingPeriodicityCSIR", FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicityCSIR_vals), 0, NULL, HFILL }}, { &hf_x2ap_ReportingPeriodicityRSRPMR_PDU, { "ReportingPeriodicityRSRPMR", "x2ap.ReportingPeriodicityRSRPMR", FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicityRSRPMR_vals), 0, NULL, HFILL }}, { &hf_x2ap_RequestedFastMCGRecoveryViaSRB3_PDU, { "RequestedFastMCGRecoveryViaSRB3", "x2ap.RequestedFastMCGRecoveryViaSRB3", FT_UINT32, BASE_DEC, VALS(x2ap_RequestedFastMCGRecoveryViaSRB3_vals), 0, NULL, HFILL }}, { &hf_x2ap_RequestedFastMCGRecoveryViaSRB3Release_PDU, { "RequestedFastMCGRecoveryViaSRB3Release", "x2ap.RequestedFastMCGRecoveryViaSRB3Release", FT_UINT32, BASE_DEC, VALS(x2ap_RequestedFastMCGRecoveryViaSRB3Release_vals), 0, NULL, HFILL }}, { &hf_x2ap_ResumeID_PDU, { "ResumeID", "x2ap.ResumeID", FT_UINT32, BASE_DEC, VALS(x2ap_ResumeID_vals), 0, NULL, HFILL }}, { &hf_x2ap_RLCMode_PDU, { "RLCMode", "x2ap.RLCMode", FT_UINT32, BASE_DEC, VALS(x2ap_RLCMode_vals), 0, NULL, HFILL }}, { &hf_x2ap_RLC_Status_PDU, { "RLC-Status", "x2ap.RLC_Status_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RRC_Config_Ind_PDU, { "RRC-Config-Ind", "x2ap.RRC_Config_Ind", FT_UINT32, BASE_DEC, VALS(x2ap_RRC_Config_Ind_vals), 0, NULL, HFILL }}, { &hf_x2ap_RRCConnReestabIndicator_PDU, { "RRCConnReestabIndicator", "x2ap.RRCConnReestabIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_RRCConnReestabIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_RRCConnSetupIndicator_PDU, { "RRCConnSetupIndicator", "x2ap.RRCConnSetupIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_RRCConnSetupIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_RSRPMRList_PDU, { "RSRPMRList", "x2ap.RSRPMRList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SCGActivationStatus_PDU, { "SCGActivationStatus", "x2ap.SCGActivationStatus", FT_UINT32, BASE_DEC, VALS(x2ap_SCGActivationStatus_vals), 0, NULL, HFILL }}, { &hf_x2ap_SCGActivationRequest_PDU, { "SCGActivationRequest", "x2ap.SCGActivationRequest", FT_UINT32, BASE_DEC, VALS(x2ap_SCGActivationRequest_vals), 0, NULL, HFILL }}, { &hf_x2ap_SCGChangeIndication_PDU, { "SCGChangeIndication", "x2ap.SCGChangeIndication", FT_UINT32, BASE_DEC, VALS(x2ap_SCGChangeIndication_vals), 0, NULL, HFILL }}, { &hf_x2ap_SCGreconfigNotification_PDU, { "SCGreconfigNotification", "x2ap.SCGreconfigNotification", FT_UINT32, BASE_DEC, VALS(x2ap_SCGreconfigNotification_vals), 0, NULL, HFILL }}, { &hf_x2ap_SCG_UE_HistoryInformation_PDU, { "SCG-UE-HistoryInformation", "x2ap.SCG_UE_HistoryInformation", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SecondaryRATUsageReportList_PDU, { "SecondaryRATUsageReportList", "x2ap.SecondaryRATUsageReportList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SecondaryRATUsageReport_Item_PDU, { "SecondaryRATUsageReport-Item", "x2ap.SecondaryRATUsageReport_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SecurityIndication_PDU, { "SecurityIndication", "x2ap.SecurityIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SecurityResult_PDU, { "SecurityResult", "x2ap.SecurityResult_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SeNBSecurityKey_PDU, { "SeNBSecurityKey", "x2ap.SeNBSecurityKey", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SeNBtoMeNBContainer_PDU, { "SeNBtoMeNBContainer", "x2ap.SeNBtoMeNBContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SensorMeasurementConfiguration_PDU, { "SensorMeasurementConfiguration", "x2ap.SensorMeasurementConfiguration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedCells_PDU, { "ServedCells", "x2ap.ServedCells", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedCellSpecificInfoReq_NR_PDU, { "ServedCellSpecificInfoReq-NR", "x2ap.ServedCellSpecificInfoReq_NR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServiceType_PDU, { "ServiceType", "x2ap.ServiceType", FT_UINT32, BASE_DEC, VALS(x2ap_ServiceType_vals), 0, NULL, HFILL }}, { &hf_x2ap_SgNBCoordinationAssistanceInformation_PDU, { "SgNBCoordinationAssistanceInformation", "x2ap.SgNBCoordinationAssistanceInformation", FT_UINT32, BASE_DEC, VALS(x2ap_SgNBCoordinationAssistanceInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_x2ap_SgNBResourceCoordinationInformation_PDU, { "SgNBResourceCoordinationInformation", "x2ap.SgNBResourceCoordinationInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNB_UE_X2AP_ID_PDU, { "SgNB-UE-X2AP-ID", "x2ap.SgNB_UE_X2AP_ID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SIPTOBearerDeactivationIndication_PDU, { "SIPTOBearerDeactivationIndication", "x2ap.SIPTOBearerDeactivationIndication", FT_UINT32, BASE_DEC, VALS(x2ap_SIPTOBearerDeactivationIndication_vals), 0, NULL, HFILL }}, { &hf_x2ap_ShortMAC_I_PDU, { "ShortMAC-I", "x2ap.ShortMAC_I", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SGNB_Addition_Trigger_Ind_PDU, { "SGNB-Addition-Trigger-Ind", "x2ap.SGNB_Addition_Trigger_Ind", FT_UINT32, BASE_DEC, VALS(x2ap_SGNB_Addition_Trigger_Ind_vals), 0, NULL, HFILL }}, { &hf_x2ap_SNtriggered_PDU, { "SNtriggered", "x2ap.SNtriggered", FT_UINT32, BASE_DEC, VALS(x2ap_SNtriggered_vals), 0, NULL, HFILL }}, { &hf_x2ap_SpectrumSharingGroupID_PDU, { "SpectrumSharingGroupID", "x2ap.SpectrumSharingGroupID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Subscription_Based_UE_DifferentiationInfo_PDU, { "Subscription-Based-UE-DifferentiationInfo", "x2ap.Subscription_Based_UE_DifferentiationInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SRVCCOperationPossible_PDU, { "SRVCCOperationPossible", "x2ap.SRVCCOperationPossible", FT_UINT32, BASE_DEC, VALS(x2ap_SRVCCOperationPossible_vals), 0, NULL, HFILL }}, { &hf_x2ap_SSB_PositionsInBurst_PDU, { "SSB-PositionsInBurst", "x2ap.SSB_PositionsInBurst", FT_UINT32, BASE_DEC, VALS(x2ap_SSB_PositionsInBurst_vals), 0, NULL, HFILL }}, { &hf_x2ap_SubscriberProfileIDforRFP_PDU, { "SubscriberProfileIDforRFP", "x2ap.SubscriberProfileIDforRFP", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SubframeAssignment_PDU, { "SubframeAssignment", "x2ap.SubframeAssignment", FT_UINT32, BASE_DEC, VALS(x2ap_SubframeAssignment_vals), 0, NULL, HFILL }}, { &hf_x2ap_SgNBSecurityKey_PDU, { "SgNBSecurityKey", "x2ap.SgNBSecurityKey", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBtoMeNBContainer_PDU, { "SgNBtoMeNBContainer", "x2ap.SgNBtoMeNBContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SCGConfigurationQuery_PDU, { "SCGConfigurationQuery", "x2ap.SCGConfigurationQuery", FT_UINT32, BASE_DEC, VALS(x2ap_SCGConfigurationQuery_vals), 0, NULL, HFILL }}, { &hf_x2ap_SFN_Offset_PDU, { "SFN-Offset", "x2ap.SFN_Offset_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TAC_PDU, { "TAC", "x2ap.TAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TargetCellInNGRAN_PDU, { "TargetCellInNGRAN", "x2ap.TargetCellInNGRAN", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TargetCellInUTRAN_PDU, { "TargetCellInUTRAN", "x2ap.TargetCellInUTRAN", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU, { "TargeteNBtoSource-eNBTransparentContainer", "x2ap.TargeteNBtoSource_eNBTransparentContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TDDULDLConfigurationCommonNR_PDU, { "TDDULDLConfigurationCommonNR", "x2ap.TDDULDLConfigurationCommonNR", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TimeToWait_PDU, { "TimeToWait", "x2ap.TimeToWait", FT_UINT32, BASE_DEC, VALS(x2ap_TimeToWait_vals), 0, NULL, HFILL }}, { &hf_x2ap_Time_UE_StayedInCell_EnhancedGranularity_PDU, { "Time-UE-StayedInCell-EnhancedGranularity", "x2ap.Time_UE_StayedInCell_EnhancedGranularity", FT_UINT32, BASE_CUSTOM, CF_FUNC(x2ap_Time_UE_StayedInCell_EnhancedGranularity_fmt), 0, NULL, HFILL }}, { &hf_x2ap_TNLA_To_Add_List_PDU, { "TNLA-To-Add-List", "x2ap.TNLA_To_Add_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TNLA_To_Update_List_PDU, { "TNLA-To-Update-List", "x2ap.TNLA_To_Update_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TNLA_To_Remove_List_PDU, { "TNLA-To-Remove-List", "x2ap.TNLA_To_Remove_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TNLA_Setup_List_PDU, { "TNLA-Setup-List", "x2ap.TNLA_Setup_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TNLA_Failed_To_Setup_List_PDU, { "TNLA-Failed-To-Setup-List", "x2ap.TNLA_Failed_To_Setup_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TNLConfigurationInfo_PDU, { "TNLConfigurationInfo", "x2ap.TNLConfigurationInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TraceActivation_PDU, { "TraceActivation", "x2ap.TraceActivation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TransportLayerAddress_PDU, { "TransportLayerAddress", "x2ap.TransportLayerAddress", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TunnelInformation_PDU, { "TunnelInformation", "x2ap.TunnelInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UEAggregateMaximumBitRate_PDU, { "UEAggregateMaximumBitRate", "x2ap.UEAggregateMaximumBitRate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UEAppLayerMeasConfig_PDU, { "UEAppLayerMeasConfig", "x2ap.UEAppLayerMeasConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_ContextKeptIndicator_PDU, { "UE-ContextKeptIndicator", "x2ap.UE_ContextKeptIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_UE_ContextKeptIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_UEID_PDU, { "UEID", "x2ap.UEID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_HistoryInformation_PDU, { "UE-HistoryInformation", "x2ap.UE_HistoryInformation", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_HistoryInformationFromTheUE_PDU, { "UE-HistoryInformationFromTheUE", "x2ap.UE_HistoryInformationFromTheUE", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_X2AP_ID_PDU, { "UE-X2AP-ID", "x2ap.UE_X2AP_ID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_X2AP_ID_Extension_PDU, { "UE-X2AP-ID-Extension", "x2ap.UE_X2AP_ID_Extension", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UERadioCapability_PDU, { "UERadioCapability", "x2ap.UERadioCapability", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UERadioCapabilityID_PDU, { "UERadioCapabilityID", "x2ap.UERadioCapabilityID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_RLF_Report_Container_PDU, { "UE-RLF-Report-Container", "x2ap.UE_RLF_Report_Container", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_RLF_Report_Container_for_extended_bands_PDU, { "UE-RLF-Report-Container-for-extended-bands", "x2ap.UE_RLF_Report_Container_for_extended_bands", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UESecurityCapabilities_PDU, { "UESecurityCapabilities", "x2ap.UESecurityCapabilities_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UESidelinkAggregateMaximumBitRate_PDU, { "UESidelinkAggregateMaximumBitRate", "x2ap.UESidelinkAggregateMaximumBitRate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UEsToBeResetList_PDU, { "UEsToBeResetList", "x2ap.UEsToBeResetList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UL_scheduling_PDCCH_CCE_usage_PDU, { "UL-scheduling-PDCCH-CCE-usage", "x2ap.UL_scheduling_PDCCH_CCE_usage", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UnlicensedSpectrumRestriction_PDU, { "UnlicensedSpectrumRestriction", "x2ap.UnlicensedSpectrumRestriction", FT_UINT32, BASE_DEC, VALS(x2ap_UnlicensedSpectrumRestriction_vals), 0, NULL, HFILL }}, { &hf_x2ap_URI_Address_PDU, { "URI-Address", "x2ap.URI_Address", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UserPlaneTrafficActivityReport_PDU, { "UserPlaneTrafficActivityReport", "x2ap.UserPlaneTrafficActivityReport", FT_UINT32, BASE_DEC, VALS(x2ap_UserPlaneTrafficActivityReport_vals), 0, NULL, HFILL }}, { &hf_x2ap_V2XServicesAuthorized_PDU, { "V2XServicesAuthorized", "x2ap.V2XServicesAuthorized_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_WLANMeasurementConfiguration_PDU, { "WLANMeasurementConfiguration", "x2ap.WLANMeasurementConfiguration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2BenefitValue_PDU, { "X2BenefitValue", "x2ap.X2BenefitValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_HandoverRequest_PDU, { "HandoverRequest", "x2ap.HandoverRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_ContextInformation_PDU, { "UE-ContextInformation", "x2ap.UE_ContextInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeSetup_Item_PDU, { "E-RABs-ToBeSetup-Item", "x2ap.E_RABs_ToBeSetup_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MobilityInformation_PDU, { "MobilityInformation", "x2ap.MobilityInformation", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_ContextReferenceAtSeNB_PDU, { "UE-ContextReferenceAtSeNB", "x2ap.UE_ContextReferenceAtSeNB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_ContextReferenceAtWT_PDU, { "UE-ContextReferenceAtWT", "x2ap.UE_ContextReferenceAtWT_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_ContextReferenceAtSgNB_PDU, { "UE-ContextReferenceAtSgNB", "x2ap.UE_ContextReferenceAtSgNB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_HandoverRequestAcknowledge_PDU, { "HandoverRequestAcknowledge", "x2ap.HandoverRequestAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_List_PDU, { "E-RABs-Admitted-List", "x2ap.E_RABs_Admitted_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_Item_PDU, { "E-RABs-Admitted-Item", "x2ap.E_RABs_Admitted_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_HandoverPreparationFailure_PDU, { "HandoverPreparationFailure", "x2ap.HandoverPreparationFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_HandoverReport_PDU, { "HandoverReport", "x2ap.HandoverReport_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_EarlyStatusTransfer_PDU, { "EarlyStatusTransfer", "x2ap.EarlyStatusTransfer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ProcedureStageChoice_PDU, { "ProcedureStageChoice", "x2ap.ProcedureStageChoice", FT_UINT32, BASE_DEC, VALS(x2ap_ProcedureStageChoice_vals), 0, NULL, HFILL }}, { &hf_x2ap_SNStatusTransfer_PDU, { "SNStatusTransfer", "x2ap.SNStatusTransfer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU, { "E-RABs-SubjectToStatusTransfer-List", "x2ap.E_RABs_SubjectToStatusTransfer_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU, { "E-RABs-SubjectToStatusTransfer-Item", "x2ap.E_RABs_SubjectToStatusTransfer_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UEContextRelease_PDU, { "UEContextRelease", "x2ap.UEContextRelease_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_HandoverCancel_PDU, { "HandoverCancel", "x2ap.HandoverCancel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_HandoverSuccess_PDU, { "HandoverSuccess", "x2ap.HandoverSuccess_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ConditionalHandoverCancel_PDU, { "ConditionalHandoverCancel", "x2ap.ConditionalHandoverCancel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ErrorIndication_PDU, { "ErrorIndication", "x2ap.ErrorIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ResetRequest_PDU, { "ResetRequest", "x2ap.ResetRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ResetResponse_PDU, { "ResetResponse", "x2ap.ResetResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2SetupRequest_PDU, { "X2SetupRequest", "x2ap.X2SetupRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2SetupResponse_PDU, { "X2SetupResponse", "x2ap.X2SetupResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2SetupFailure_PDU, { "X2SetupFailure", "x2ap.X2SetupFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_LoadInformation_PDU, { "LoadInformation", "x2ap.LoadInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellInformation_List_PDU, { "CellInformation-List", "x2ap.CellInformation_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellInformation_Item_PDU, { "CellInformation-Item", "x2ap.CellInformation_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENBConfigurationUpdate_PDU, { "ENBConfigurationUpdate", "x2ap.ENBConfigurationUpdate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedCellsToModify_PDU, { "ServedCellsToModify", "x2ap.ServedCellsToModify", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Old_ECGIs_PDU, { "Old-ECGIs", "x2ap.Old_ECGIs", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENBConfigurationUpdateAcknowledge_PDU, { "ENBConfigurationUpdateAcknowledge", "x2ap.ENBConfigurationUpdateAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENBConfigurationUpdateFailure_PDU, { "ENBConfigurationUpdateFailure", "x2ap.ENBConfigurationUpdateFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ResourceStatusRequest_PDU, { "ResourceStatusRequest", "x2ap.ResourceStatusRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellToReport_List_PDU, { "CellToReport-List", "x2ap.CellToReport_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellToReport_Item_PDU, { "CellToReport-Item", "x2ap.CellToReport_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ReportingPeriodicity_PDU, { "ReportingPeriodicity", "x2ap.ReportingPeriodicity", FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicity_vals), 0, NULL, HFILL }}, { &hf_x2ap_PartialSuccessIndicator_PDU, { "PartialSuccessIndicator", "x2ap.PartialSuccessIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_PartialSuccessIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_ResourceStatusResponse_PDU, { "ResourceStatusResponse", "x2ap.ResourceStatusResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MeasurementInitiationResult_List_PDU, { "MeasurementInitiationResult-List", "x2ap.MeasurementInitiationResult_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MeasurementInitiationResult_Item_PDU, { "MeasurementInitiationResult-Item", "x2ap.MeasurementInitiationResult_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MeasurementFailureCause_Item_PDU, { "MeasurementFailureCause-Item", "x2ap.MeasurementFailureCause_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ResourceStatusFailure_PDU, { "ResourceStatusFailure", "x2ap.ResourceStatusFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CompleteFailureCauseInformation_List_PDU, { "CompleteFailureCauseInformation-List", "x2ap.CompleteFailureCauseInformation_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CompleteFailureCauseInformation_Item_PDU, { "CompleteFailureCauseInformation-Item", "x2ap.CompleteFailureCauseInformation_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ResourceStatusUpdate_PDU, { "ResourceStatusUpdate", "x2ap.ResourceStatusUpdate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellMeasurementResult_List_PDU, { "CellMeasurementResult-List", "x2ap.CellMeasurementResult_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellMeasurementResult_Item_PDU, { "CellMeasurementResult-Item", "x2ap.CellMeasurementResult_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_PrivateMessage_PDU, { "PrivateMessage", "x2ap.PrivateMessage_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MobilityChangeRequest_PDU, { "MobilityChangeRequest", "x2ap.MobilityChangeRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MobilityChangeAcknowledge_PDU, { "MobilityChangeAcknowledge", "x2ap.MobilityChangeAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MobilityChangeFailure_PDU, { "MobilityChangeFailure", "x2ap.MobilityChangeFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RLFIndication_PDU, { "RLFIndication", "x2ap.RLFIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellActivationRequest_PDU, { "CellActivationRequest", "x2ap.CellActivationRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedCellsToActivate_PDU, { "ServedCellsToActivate", "x2ap.ServedCellsToActivate", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellActivationResponse_PDU, { "CellActivationResponse", "x2ap.CellActivationResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ActivatedCellList_PDU, { "ActivatedCellList", "x2ap.ActivatedCellList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellActivationFailure_PDU, { "CellActivationFailure", "x2ap.CellActivationFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2Release_PDU, { "X2Release", "x2ap.X2Release_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2APMessageTransfer_PDU, { "X2APMessageTransfer", "x2ap.X2APMessageTransfer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RNL_Header_PDU, { "RNL-Header", "x2ap.RNL_Header_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2AP_Message_PDU, { "X2AP-Message", "x2ap.X2AP_Message", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SeNBAdditionRequest_PDU, { "SeNBAdditionRequest", "x2ap.SeNBAdditionRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeAdded_List_PDU, { "E-RABs-ToBeAdded-List", "x2ap.E_RABs_ToBeAdded_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeAdded_Item_PDU, { "E-RABs-ToBeAdded-Item", "x2ap.E_RABs_ToBeAdded_Item", FT_UINT32, BASE_DEC, VALS(x2ap_E_RABs_ToBeAdded_Item_vals), 0, NULL, HFILL }}, { &hf_x2ap_SeNBAdditionRequestAcknowledge_PDU, { "SeNBAdditionRequestAcknowledge", "x2ap.SeNBAdditionRequestAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_List_PDU, { "E-RABs-Admitted-ToBeAdded-List", "x2ap.E_RABs_Admitted_ToBeAdded_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_Item_PDU, { "E-RABs-Admitted-ToBeAdded-Item", "x2ap.E_RABs_Admitted_ToBeAdded_Item", FT_UINT32, BASE_DEC, VALS(x2ap_E_RABs_Admitted_ToBeAdded_Item_vals), 0, NULL, HFILL }}, { &hf_x2ap_SeNBAdditionRequestReject_PDU, { "SeNBAdditionRequestReject", "x2ap.SeNBAdditionRequestReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SeNBReconfigurationComplete_PDU, { "SeNBReconfigurationComplete", "x2ap.SeNBReconfigurationComplete_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ResponseInformationSeNBReconfComp_PDU, { "ResponseInformationSeNBReconfComp", "x2ap.ResponseInformationSeNBReconfComp", FT_UINT32, BASE_DEC, VALS(x2ap_ResponseInformationSeNBReconfComp_vals), 0, NULL, HFILL }}, { &hf_x2ap_SeNBModificationRequest_PDU, { "SeNBModificationRequest", "x2ap.SeNBModificationRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_ContextInformationSeNBModReq_PDU, { "UE-ContextInformationSeNBModReq", "x2ap.UE_ContextInformationSeNBModReq_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeAdded_ModReqItem_PDU, { "E-RABs-ToBeAdded-ModReqItem", "x2ap.E_RABs_ToBeAdded_ModReqItem", FT_UINT32, BASE_DEC, VALS(x2ap_E_RABs_ToBeAdded_ModReqItem_vals), 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeModified_ModReqItem_PDU, { "E-RABs-ToBeModified-ModReqItem", "x2ap.E_RABs_ToBeModified_ModReqItem", FT_UINT32, BASE_DEC, VALS(x2ap_E_RABs_ToBeModified_ModReqItem_vals), 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_ModReqItem_PDU, { "E-RABs-ToBeReleased-ModReqItem", "x2ap.E_RABs_ToBeReleased_ModReqItem", FT_UINT32, BASE_DEC, VALS(x2ap_E_RABs_ToBeReleased_ModReqItem_vals), 0, NULL, HFILL }}, { &hf_x2ap_SeNBModificationRequestAcknowledge_PDU, { "SeNBModificationRequestAcknowledge", "x2ap.SeNBModificationRequestAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList_PDU, { "E-RABs-Admitted-ToBeAdded-ModAckList", "x2ap.E_RABs_Admitted_ToBeAdded_ModAckList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_PDU, { "E-RABs-Admitted-ToBeAdded-ModAckItem", "x2ap.E_RABs_Admitted_ToBeAdded_ModAckItem", FT_UINT32, BASE_DEC, VALS(x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_vals), 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeModified_ModAckList_PDU, { "E-RABs-Admitted-ToBeModified-ModAckList", "x2ap.E_RABs_Admitted_ToBeModified_ModAckList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_PDU, { "E-RABs-Admitted-ToBeModified-ModAckItem", "x2ap.E_RABs_Admitted_ToBeModified_ModAckItem", FT_UINT32, BASE_DEC, VALS(x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_vals), 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList_PDU, { "E-RABs-Admitted-ToBeReleased-ModAckList", "x2ap.E_RABs_Admitted_ToBeReleased_ModAckList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToReleased_ModAckItem_PDU, { "E-RABs-Admitted-ToReleased-ModAckItem", "x2ap.E_RABs_Admitted_ToReleased_ModAckItem", FT_UINT32, BASE_DEC, VALS(x2ap_E_RABs_Admitted_ToReleased_ModAckItem_vals), 0, NULL, HFILL }}, { &hf_x2ap_SeNBModificationRequestReject_PDU, { "SeNBModificationRequestReject", "x2ap.SeNBModificationRequestReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SeNBModificationRequired_PDU, { "SeNBModificationRequired", "x2ap.SeNBModificationRequired_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_ModReqd_PDU, { "E-RABs-ToBeReleased-ModReqd", "x2ap.E_RABs_ToBeReleased_ModReqd", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_ModReqdItem_PDU, { "E-RABs-ToBeReleased-ModReqdItem", "x2ap.E_RABs_ToBeReleased_ModReqdItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SeNBModificationConfirm_PDU, { "SeNBModificationConfirm", "x2ap.SeNBModificationConfirm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SeNBModificationRefuse_PDU, { "SeNBModificationRefuse", "x2ap.SeNBModificationRefuse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SeNBReleaseRequest_PDU, { "SeNBReleaseRequest", "x2ap.SeNBReleaseRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_List_RelReq_PDU, { "E-RABs-ToBeReleased-List-RelReq", "x2ap.E_RABs_ToBeReleased_List_RelReq", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_RelReqItem_PDU, { "E-RABs-ToBeReleased-RelReqItem", "x2ap.E_RABs_ToBeReleased_RelReqItem", FT_UINT32, BASE_DEC, VALS(x2ap_E_RABs_ToBeReleased_RelReqItem_vals), 0, NULL, HFILL }}, { &hf_x2ap_SeNBReleaseRequired_PDU, { "SeNBReleaseRequired", "x2ap.SeNBReleaseRequired_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SeNBReleaseConfirm_PDU, { "SeNBReleaseConfirm", "x2ap.SeNBReleaseConfirm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_List_RelConf_PDU, { "E-RABs-ToBeReleased-List-RelConf", "x2ap.E_RABs_ToBeReleased_List_RelConf", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_RelConfItem_PDU, { "E-RABs-ToBeReleased-RelConfItem", "x2ap.E_RABs_ToBeReleased_RelConfItem", FT_UINT32, BASE_DEC, VALS(x2ap_E_RABs_ToBeReleased_RelConfItem_vals), 0, NULL, HFILL }}, { &hf_x2ap_SeNBCounterCheckRequest_PDU, { "SeNBCounterCheckRequest", "x2ap.SeNBCounterCheckRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_SubjectToCounterCheck_List_PDU, { "E-RABs-SubjectToCounterCheck-List", "x2ap.E_RABs_SubjectToCounterCheck_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_SubjectToCounterCheckItem_PDU, { "E-RABs-SubjectToCounterCheckItem", "x2ap.E_RABs_SubjectToCounterCheckItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2RemovalRequest_PDU, { "X2RemovalRequest", "x2ap.X2RemovalRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2RemovalResponse_PDU, { "X2RemovalResponse", "x2ap.X2RemovalResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2RemovalFailure_PDU, { "X2RemovalFailure", "x2ap.X2RemovalFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RetrieveUEContextRequest_PDU, { "RetrieveUEContextRequest", "x2ap.RetrieveUEContextRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RetrieveUEContextResponse_PDU, { "RetrieveUEContextResponse", "x2ap.RetrieveUEContextResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_ContextInformationRetrieve_PDU, { "UE-ContextInformationRetrieve", "x2ap.UE_ContextInformationRetrieve_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeSetupRetrieve_Item_PDU, { "E-RABs-ToBeSetupRetrieve-Item", "x2ap.E_RABs_ToBeSetupRetrieve_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RetrieveUEContextFailure_PDU, { "RetrieveUEContextFailure", "x2ap.RetrieveUEContextFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBAdditionRequest_PDU, { "SgNBAdditionRequest", "x2ap.SgNBAdditionRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_PDU, { "E-RABs-ToBeAdded-SgNBAddReqList", "x2ap.E_RABs_ToBeAdded_SgNBAddReqList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_PDU, { "E-RABs-ToBeAdded-SgNBAddReq-Item", "x2ap.E_RABs_ToBeAdded_SgNBAddReq_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBAdditionRequestAcknowledge_PDU, { "SgNBAdditionRequestAcknowledge", "x2ap.SgNBAdditionRequestAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_PDU, { "E-RABs-Admitted-ToBeAdded-SgNBAddReqAckList", "x2ap.E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_PDU, { "E-RABs-Admitted-ToBeAdded-SgNBAddReqAck-Item", "x2ap.E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBAdditionRequestReject_PDU, { "SgNBAdditionRequestReject", "x2ap.SgNBAdditionRequestReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBReconfigurationComplete_PDU, { "SgNBReconfigurationComplete", "x2ap.SgNBReconfigurationComplete_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ResponseInformationSgNBReconfComp_PDU, { "ResponseInformationSgNBReconfComp", "x2ap.ResponseInformationSgNBReconfComp", FT_UINT32, BASE_DEC, VALS(x2ap_ResponseInformationSgNBReconfComp_vals), 0, NULL, HFILL }}, { &hf_x2ap_SgNBModificationRequest_PDU, { "SgNBModificationRequest", "x2ap.SgNBModificationRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UE_ContextInformation_SgNBModReq_PDU, { "UE-ContextInformation-SgNBModReq", "x2ap.UE_ContextInformation_SgNBModReq_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_PDU, { "E-RABs-ToBeAdded-SgNBModReq-Item", "x2ap.E_RABs_ToBeAdded_SgNBModReq_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_PDU, { "E-RABs-ToBeModified-SgNBModReq-Item", "x2ap.E_RABs_ToBeModified_SgNBModReq_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_PDU, { "E-RABs-ToBeReleased-SgNBModReq-Item", "x2ap.E_RABs_ToBeReleased_SgNBModReq_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBModificationRequestAcknowledge_PDU, { "SgNBModificationRequestAcknowledge", "x2ap.SgNBModificationRequestAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_PDU, { "E-RABs-Admitted-ToBeAdded-SgNBModAckList", "x2ap.E_RABs_Admitted_ToBeAdded_SgNBModAckList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_PDU, { "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item", "x2ap.E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_PDU, { "E-RABs-Admitted-ToBeModified-SgNBModAckList", "x2ap.E_RABs_Admitted_ToBeModified_SgNBModAckList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_PDU, { "E-RABs-Admitted-ToBeModified-SgNBModAck-Item", "x2ap.E_RABs_Admitted_ToBeModified_SgNBModAck_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_PDU, { "E-RABs-Admitted-ToBeReleased-SgNBModAckList", "x2ap.E_RABs_Admitted_ToBeReleased_SgNBModAckList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item_PDU, { "E-RABs-Admitted-ToReleased-SgNBModAck-Item", "x2ap.E_RABs_Admitted_ToReleased_SgNBModAck_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBModificationRequestReject_PDU, { "SgNBModificationRequestReject", "x2ap.SgNBModificationRequestReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBModificationRequired_PDU, { "SgNBModificationRequired", "x2ap.SgNBModificationRequired_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_PDU, { "E-RABs-ToBeReleased-SgNBModReqdList", "x2ap.E_RABs_ToBeReleased_SgNBModReqdList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item_PDU, { "E-RABs-ToBeReleased-SgNBModReqd-Item", "x2ap.E_RABs_ToBeReleased_SgNBModReqd_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_PDU, { "E-RABs-ToBeModified-SgNBModReqdList", "x2ap.E_RABs_ToBeModified_SgNBModReqdList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_PDU, { "E-RABs-ToBeModified-SgNBModReqd-Item", "x2ap.E_RABs_ToBeModified_SgNBModReqd_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBModificationConfirm_PDU, { "SgNBModificationConfirm", "x2ap.SgNBModificationConfirm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList_PDU, { "E-RABs-AdmittedToBeModified-SgNBModConfList", "x2ap.E_RABs_AdmittedToBeModified_SgNBModConfList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_PDU, { "E-RABs-AdmittedToBeModified-SgNBModConf-Item", "x2ap.E_RABs_AdmittedToBeModified_SgNBModConf_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBModificationRefuse_PDU, { "SgNBModificationRefuse", "x2ap.SgNBModificationRefuse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBReleaseRequest_PDU, { "SgNBReleaseRequest", "x2ap.SgNBReleaseRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_PDU, { "E-RABs-ToBeReleased-SgNBRelReqList", "x2ap.E_RABs_ToBeReleased_SgNBRelReqList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_PDU, { "E-RABs-ToBeReleased-SgNBRelReq-Item", "x2ap.E_RABs_ToBeReleased_SgNBRelReq_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBReleaseRequestAcknowledge_PDU, { "SgNBReleaseRequestAcknowledge", "x2ap.SgNBReleaseRequestAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_PDU, { "E-RABs-Admitted-ToBeReleased-SgNBRelReqAckList", "x2ap.E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item_PDU, { "E-RABs-Admitted-ToBeReleased-SgNBRelReqAck-Item", "x2ap.E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBReleaseRequestReject_PDU, { "SgNBReleaseRequestReject", "x2ap.SgNBReleaseRequestReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBReleaseRequired_PDU, { "SgNBReleaseRequired", "x2ap.SgNBReleaseRequired_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList_PDU, { "E-RABs-ToBeReleased-SgNBRelReqdList", "x2ap.E_RABs_ToBeReleased_SgNBRelReqdList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqd_Item_PDU, { "E-RABs-ToBeReleased-SgNBRelReqd-Item", "x2ap.E_RABs_ToBeReleased_SgNBRelReqd_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBReleaseConfirm_PDU, { "SgNBReleaseConfirm", "x2ap.SgNBReleaseConfirm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_PDU, { "E-RABs-ToBeReleased-SgNBRelConfList", "x2ap.E_RABs_ToBeReleased_SgNBRelConfList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_PDU, { "E-RABs-ToBeReleased-SgNBRelConf-Item", "x2ap.E_RABs_ToBeReleased_SgNBRelConf_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBCounterCheckRequest_PDU, { "SgNBCounterCheckRequest", "x2ap.SgNBCounterCheckRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_PDU, { "E-RABs-SubjectToSgNBCounterCheck-List", "x2ap.E_RABs_SubjectToSgNBCounterCheck_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item_PDU, { "E-RABs-SubjectToSgNBCounterCheck-Item", "x2ap.E_RABs_SubjectToSgNBCounterCheck_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBChangeRequired_PDU, { "SgNBChangeRequired", "x2ap.SgNBChangeRequired_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_AccessAndMobilityIndication_PDU, { "AccessAndMobilityIndication", "x2ap.AccessAndMobilityIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBChangeConfirm_PDU, { "SgNBChangeConfirm", "x2ap.SgNBChangeConfirm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_PDU, { "E-RABs-ToBeReleased-SgNBChaConfList", "x2ap.E_RABs_ToBeReleased_SgNBChaConfList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_PDU, { "E-RABs-ToBeReleased-SgNBChaConf-Item", "x2ap.E_RABs_ToBeReleased_SgNBChaConf_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RRCTransfer_PDU, { "RRCTransfer", "x2ap.RRCTransfer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBChangeRefuse_PDU, { "SgNBChangeRefuse", "x2ap.SgNBChangeRefuse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCX2SetupRequest_PDU, { "ENDCX2SetupRequest", "x2ap.ENDCX2SetupRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_InitiatingNodeType_EndcX2Setup_PDU, { "InitiatingNodeType-EndcX2Setup", "x2ap.InitiatingNodeType_EndcX2Setup", FT_UINT32, BASE_DEC, VALS(x2ap_InitiatingNodeType_EndcX2Setup_vals), 0, NULL, HFILL }}, { &hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_PDU, { "ServedEUTRAcellsENDCX2ManagementList", "x2ap.ServedEUTRAcellsENDCX2ManagementList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedNRcellsENDCX2ManagementList_PDU, { "ServedNRcellsENDCX2ManagementList", "x2ap.ServedNRcellsENDCX2ManagementList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellandCapacityAssistInfo_PDU, { "CellandCapacityAssistInfo", "x2ap.CellandCapacityAssistInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellAssistanceInformation_PDU, { "CellAssistanceInformation", "x2ap.CellAssistanceInformation", FT_UINT32, BASE_DEC, VALS(x2ap_CellAssistanceInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_ENDCX2SetupResponse_PDU, { "ENDCX2SetupResponse", "x2ap.ENDCX2SetupResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RespondingNodeType_EndcX2Setup_PDU, { "RespondingNodeType-EndcX2Setup", "x2ap.RespondingNodeType_EndcX2Setup", FT_UINT32, BASE_DEC, VALS(x2ap_RespondingNodeType_EndcX2Setup_vals), 0, NULL, HFILL }}, { &hf_x2ap_ENDCX2SetupFailure_PDU, { "ENDCX2SetupFailure", "x2ap.ENDCX2SetupFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCConfigurationUpdate_PDU, { "ENDCConfigurationUpdate", "x2ap.ENDCConfigurationUpdate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_InitiatingNodeType_EndcConfigUpdate_PDU, { "InitiatingNodeType-EndcConfigUpdate", "x2ap.InitiatingNodeType_EndcConfigUpdate", FT_UINT32, BASE_DEC, VALS(x2ap_InitiatingNodeType_EndcConfigUpdate_vals), 0, NULL, HFILL }}, { &hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_PDU, { "ServedEUTRAcellsToModifyListENDCConfUpd", "x2ap.ServedEUTRAcellsToModifyListENDCConfUpd", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_PDU, { "ServedEUTRAcellsToDeleteListENDCConfUpd", "x2ap.ServedEUTRAcellsToDeleteListENDCConfUpd", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_PDU, { "ServedNRcellsToModifyENDCConfUpdList", "x2ap.ServedNRcellsToModifyENDCConfUpdList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_PDU, { "ServedNRcellsToDeleteENDCConfUpdList", "x2ap.ServedNRcellsToDeleteENDCConfUpdList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCConfigurationUpdateAcknowledge_PDU, { "ENDCConfigurationUpdateAcknowledge", "x2ap.ENDCConfigurationUpdateAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RespondingNodeType_EndcConfigUpdate_PDU, { "RespondingNodeType-EndcConfigUpdate", "x2ap.RespondingNodeType_EndcConfigUpdate", FT_UINT32, BASE_DEC, VALS(x2ap_RespondingNodeType_EndcConfigUpdate_vals), 0, NULL, HFILL }}, { &hf_x2ap_ENDCConfigurationUpdateFailure_PDU, { "ENDCConfigurationUpdateFailure", "x2ap.ENDCConfigurationUpdateFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCCellActivationRequest_PDU, { "ENDCCellActivationRequest", "x2ap.ENDCCellActivationRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedNRCellsToActivate_PDU, { "ServedNRCellsToActivate", "x2ap.ServedNRCellsToActivate", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCCellActivationResponse_PDU, { "ENDCCellActivationResponse", "x2ap.ENDCCellActivationResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ActivatedNRCellList_PDU, { "ActivatedNRCellList", "x2ap.ActivatedNRCellList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCCellActivationFailure_PDU, { "ENDCCellActivationFailure", "x2ap.ENDCCellActivationFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCResourceStatusRequest_PDU, { "ENDCResourceStatusRequest", "x2ap.ENDCResourceStatusRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellToReport_NR_ENDC_List_PDU, { "CellToReport-NR-ENDC-List", "x2ap.CellToReport_NR_ENDC_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellToReport_NR_ENDC_Item_PDU, { "CellToReport-NR-ENDC-Item", "x2ap.CellToReport_NR_ENDC_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellToReport_E_UTRA_ENDC_List_PDU, { "CellToReport-E-UTRA-ENDC-List", "x2ap.CellToReport_E_UTRA_ENDC_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellToReport_E_UTRA_ENDC_Item_PDU, { "CellToReport-E-UTRA-ENDC-Item", "x2ap.CellToReport_E_UTRA_ENDC_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCResourceStatusResponse_PDU, { "ENDCResourceStatusResponse", "x2ap.ENDCResourceStatusResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCResourceStatusFailure_PDU, { "ENDCResourceStatusFailure", "x2ap.ENDCResourceStatusFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCResourceStatusUpdate_PDU, { "ENDCResourceStatusUpdate", "x2ap.ENDCResourceStatusUpdate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellMeasurementResult_NR_ENDC_List_PDU, { "CellMeasurementResult-NR-ENDC-List", "x2ap.CellMeasurementResult_NR_ENDC_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellMeasurementResult_NR_ENDC_Item_PDU, { "CellMeasurementResult-NR-ENDC-Item", "x2ap.CellMeasurementResult_NR_ENDC_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellMeasurementResult_E_UTRA_ENDC_List_PDU, { "CellMeasurementResult-E-UTRA-ENDC-List", "x2ap.CellMeasurementResult_E_UTRA_ENDC_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellMeasurementResult_E_UTRA_ENDC_Item_PDU, { "CellMeasurementResult-E-UTRA-ENDC-Item", "x2ap.CellMeasurementResult_E_UTRA_ENDC_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SecondaryRATDataUsageReport_PDU, { "SecondaryRATDataUsageReport", "x2ap.SecondaryRATDataUsageReport_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SgNBActivityNotification_PDU, { "SgNBActivityNotification", "x2ap.SgNBActivityNotification_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCPartialResetRequired_PDU, { "ENDCPartialResetRequired", "x2ap.ENDCPartialResetRequired_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCPartialResetConfirm_PDU, { "ENDCPartialResetConfirm", "x2ap.ENDCPartialResetConfirm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_x2ap_EUTRANRCellResourceCoordinationRequest_PDU, { "EUTRANRCellResourceCoordinationRequest", "x2ap.EUTRANRCellResourceCoordinationRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_InitiatingNodeType_EutranrCellResourceCoordination_PDU, { "InitiatingNodeType-EutranrCellResourceCoordination", "x2ap.InitiatingNodeType_EutranrCellResourceCoordination", FT_UINT32, BASE_DEC, VALS(x2ap_InitiatingNodeType_EutranrCellResourceCoordination_vals), 0, NULL, HFILL }}, { &hf_x2ap_ListofEUTRACellsinEUTRACoordinationReq_PDU, { "ListofEUTRACellsinEUTRACoordinationReq", "x2ap.ListofEUTRACellsinEUTRACoordinationReq", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ListofEUTRACellsinNRCoordinationReq_PDU, { "ListofEUTRACellsinNRCoordinationReq", "x2ap.ListofEUTRACellsinNRCoordinationReq", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ListofNRCellsinNRCoordinationReq_PDU, { "ListofNRCellsinNRCoordinationReq", "x2ap.ListofNRCellsinNRCoordinationReq", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_x2ap_EUTRANRCellResourceCoordinationResponse_PDU, { "EUTRANRCellResourceCoordinationResponse", "x2ap.EUTRANRCellResourceCoordinationResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RespondingNodeType_EutranrCellResourceCoordination_PDU, { "RespondingNodeType-EutranrCellResourceCoordination", "x2ap.RespondingNodeType_EutranrCellResourceCoordination", FT_UINT32, BASE_DEC, VALS(x2ap_RespondingNodeType_EutranrCellResourceCoordination_vals), 0, NULL, HFILL }}, { &hf_x2ap_ListofEUTRACellsinEUTRACoordinationResp_PDU, { "ListofEUTRACellsinEUTRACoordinationResp", "x2ap.ListofEUTRACellsinEUTRACoordinationResp", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ListofNRCellsinNRCoordinationResp_PDU, { "ListofNRCellsinNRCoordinationResp", "x2ap.ListofNRCellsinNRCoordinationResp", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCX2RemovalRequest_PDU, { "ENDCX2RemovalRequest", "x2ap.ENDCX2RemovalRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_InitiatingNodeType_EndcX2Removal_PDU, { "InitiatingNodeType-EndcX2Removal", "x2ap.InitiatingNodeType_EndcX2Removal", FT_UINT32, BASE_DEC, VALS(x2ap_InitiatingNodeType_EndcX2Removal_vals), 0, NULL, HFILL }}, { &hf_x2ap_ENDCX2RemovalResponse_PDU, { "ENDCX2RemovalResponse", "x2ap.ENDCX2RemovalResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RespondingNodeType_EndcX2Removal_PDU, { "RespondingNodeType-EndcX2Removal", "x2ap.RespondingNodeType_EndcX2Removal", FT_UINT32, BASE_DEC, VALS(x2ap_RespondingNodeType_EndcX2Removal_vals), 0, NULL, HFILL }}, { &hf_x2ap_ENDCX2RemovalFailure_PDU, { "ENDCX2RemovalFailure", "x2ap.ENDCX2RemovalFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_DataForwardingAddressIndication_PDU, { "DataForwardingAddressIndication", "x2ap.DataForwardingAddressIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_DataForwardingAddress_List_PDU, { "E-RABs-DataForwardingAddress-List", "x2ap.E_RABs_DataForwardingAddress_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_DataForwardingAddress_Item_PDU, { "E-RABs-DataForwardingAddress-Item", "x2ap.E_RABs_DataForwardingAddress_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_GNBStatusIndication_PDU, { "GNBStatusIndication", "x2ap.GNBStatusIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ENDCConfigurationTransfer_PDU, { "ENDCConfigurationTransfer", "x2ap.ENDCConfigurationTransfer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TraceStart_PDU, { "TraceStart", "x2ap.TraceStart_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_DeactivateTrace_PDU, { "DeactivateTrace", "x2ap.DeactivateTrace_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellTrafficTrace_PDU, { "CellTrafficTrace", "x2ap.CellTrafficTrace_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_F1CTrafficTransfer_PDU, { "F1CTrafficTransfer", "x2ap.F1CTrafficTransfer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UERadioCapabilityIDMappingRequest_PDU, { "UERadioCapabilityIDMappingRequest", "x2ap.UERadioCapabilityIDMappingRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UERadioCapabilityIDMappingResponse_PDU, { "UERadioCapabilityIDMappingResponse", "x2ap.UERadioCapabilityIDMappingResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CPC_cancel_PDU, { "CPC-cancel", "x2ap.CPC_cancel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_X2AP_PDU_PDU, { "X2AP-PDU", "x2ap.X2AP_PDU", FT_UINT32, BASE_DEC, VALS(x2ap_X2AP_PDU_vals), 0, NULL, HFILL }}, { &hf_x2ap_local, { "local", "x2ap.local", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxPrivateIEs", HFILL }}, { &hf_x2ap_global, { "global", "x2ap.global", FT_OID, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ProtocolIE_Container_item, { "ProtocolIE-Field", "x2ap.ProtocolIE_Field_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_id, { "id", "x2ap.id", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &x2ap_ProtocolIE_ID_vals_ext, 0, "ProtocolIE_ID", HFILL }}, { &hf_x2ap_criticality, { "criticality", "x2ap.criticality", FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0, NULL, HFILL }}, { &hf_x2ap_protocolIE_Field_value, { "value", "x2ap.value_element", FT_NONE, BASE_NONE, NULL, 0, "ProtocolIE_Field_value", HFILL }}, { &hf_x2ap_ProtocolExtensionContainer_item, { "ProtocolExtensionField", "x2ap.ProtocolExtensionField_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_extension_id, { "id", "x2ap.id", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &x2ap_ProtocolIE_ID_vals_ext, 0, "ProtocolIE_ID", HFILL }}, { &hf_x2ap_extensionValue, { "extensionValue", "x2ap.extensionValue_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_PrivateIE_Container_item, { "PrivateIE-Field", "x2ap.PrivateIE_Field_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_private_id, { "id", "x2ap.id", FT_UINT32, BASE_DEC, VALS(x2ap_PrivateIE_ID_vals), 0, "PrivateIE_ID", HFILL }}, { &hf_x2ap_privateIE_Field_value, { "value", "x2ap.value_element", FT_NONE, BASE_NONE, NULL, 0, "PrivateIE_Field_value", HFILL }}, { &hf_x2ap_fdd, { "fdd", "x2ap.fdd_element", FT_NONE, BASE_NONE, NULL, 0, "ABSInformationFDD", HFILL }}, { &hf_x2ap_tdd, { "tdd", "x2ap.tdd_element", FT_NONE, BASE_NONE, NULL, 0, "ABSInformationTDD", HFILL }}, { &hf_x2ap_abs_inactive, { "abs-inactive", "x2ap.abs_inactive_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_abs_pattern_info, { "abs-pattern-info", "x2ap.abs_pattern_info", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_40", HFILL }}, { &hf_x2ap_numberOfCellSpecificAntennaPorts, { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts", FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_vals), 0, NULL, HFILL }}, { &hf_x2ap_measurement_subset, { "measurement-subset", "x2ap.measurement_subset", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_40", HFILL }}, { &hf_x2ap_iE_Extensions, { "iE-Extensions", "x2ap.iE_Extensions", FT_UINT32, BASE_DEC, NULL, 0, "ProtocolExtensionContainer", HFILL }}, { &hf_x2ap_abs_pattern_info_01, { "abs-pattern-info", "x2ap.abs_pattern_info", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1_70_", HFILL }}, { &hf_x2ap_numberOfCellSpecificAntennaPorts_01, { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts", FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_01_vals), 0, "T_numberOfCellSpecificAntennaPorts_01", HFILL }}, { &hf_x2ap_measurement_subset_01, { "measurement-subset", "x2ap.measurement_subset", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1_70_", HFILL }}, { &hf_x2ap_dL_ABS_status, { "dL-ABS-status", "x2ap.dL_ABS_status", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_usableABSInformation, { "usableABSInformation", "x2ap.usableABSInformation", FT_UINT32, BASE_DEC, VALS(x2ap_UsableABSInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_Additional_Measurement_Timing_Configuration_List_item, { "Additional-Measurement-Timing-Configuration-Item", "x2ap.Additional_Measurement_Timing_Configuration_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_additionalMeasurementTimingConfiguration, { "additionalMeasurementTimingConfiguration", "x2ap.additionalMeasurementTimingConfiguration", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16", HFILL }}, { &hf_x2ap_csi_RS_MTC_Configuration_List, { "csi-RS-MTC-Configuration-List", "x2ap.csi_RS_MTC_Configuration_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CSI_RS_MTC_Configuration_List_item, { "CSI-RS-MTC-Configuration-Item", "x2ap.CSI_RS_MTC_Configuration_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_csi_RS_Index, { "csi-RS-Index", "x2ap.csi_RS_Index", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_95", HFILL }}, { &hf_x2ap_csi_RS_Status, { "csi-RS-Status", "x2ap.csi_RS_Status", FT_UINT32, BASE_DEC, VALS(x2ap_T_csi_RS_Status_vals), 0, NULL, HFILL }}, { &hf_x2ap_csi_RS_Neighbour_List, { "csi-RS-Neighbour-List", "x2ap.csi_RS_Neighbour_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CSI_RS_Neighbour_List_item, { "CSI-RS-Neighbour-Item", "x2ap.CSI_RS_Neighbour_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nr_cgi, { "nr-cgi", "x2ap.nr_cgi_element", FT_NONE, BASE_NONE, NULL, 0, "NRCGI", HFILL }}, { &hf_x2ap_csi_RS_MTC_Neighbour_List, { "csi-RS-MTC-Neighbour-List", "x2ap.csi_RS_MTC_Neighbour_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CSI_RS_MTC_Neighbour_List_item, { "CSI-RS-MTC-Neighbour-Item", "x2ap.CSI_RS_MTC_Neighbour_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_item, { "AdditionalListofForwardingGTPTunnelEndpoint-Item", "x2ap.AdditionalListofForwardingGTPTunnelEndpoint_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uL_GTPtunnelEndpoint, { "uL-GTPtunnelEndpoint", "x2ap.uL_GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_dL_GTPtunnelEndpoint, { "dL-GTPtunnelEndpoint", "x2ap.dL_GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_additionalspecialSubframePatterns, { "additionalspecialSubframePatterns", "x2ap.additionalspecialSubframePatterns", FT_UINT32, BASE_DEC, VALS(x2ap_AdditionalSpecialSubframePatterns_vals), 0, NULL, HFILL }}, { &hf_x2ap_cyclicPrefixDL, { "cyclicPrefixDL", "x2ap.cyclicPrefixDL", FT_UINT32, BASE_DEC, VALS(x2ap_CyclicPrefixDL_vals), 0, NULL, HFILL }}, { &hf_x2ap_cyclicPrefixUL, { "cyclicPrefixUL", "x2ap.cyclicPrefixUL", FT_UINT32, BASE_DEC, VALS(x2ap_CyclicPrefixUL_vals), 0, NULL, HFILL }}, { &hf_x2ap_additionalspecialSubframePatternsExtension, { "additionalspecialSubframePatternsExtension", "x2ap.additionalspecialSubframePatternsExtension", FT_UINT32, BASE_DEC, VALS(x2ap_AdditionalSpecialSubframePatternsExtension_vals), 0, NULL, HFILL }}, { &hf_x2ap_priorityLevel, { "priorityLevel", "x2ap.priorityLevel", FT_UINT32, BASE_DEC, VALS(x2ap_PriorityLevel_vals), 0, NULL, HFILL }}, { &hf_x2ap_pre_emptionCapability, { "pre-emptionCapability", "x2ap.pre_emptionCapability", FT_UINT32, BASE_DEC, VALS(x2ap_Pre_emptionCapability_vals), 0, NULL, HFILL }}, { &hf_x2ap_pre_emptionVulnerability, { "pre-emptionVulnerability", "x2ap.pre_emptionVulnerability", FT_UINT32, BASE_DEC, VALS(x2ap_Pre_emptionVulnerability_vals), 0, NULL, HFILL }}, { &hf_x2ap_cellBased, { "cellBased", "x2ap.cellBased_element", FT_NONE, BASE_NONE, NULL, 0, "CellBasedMDT", HFILL }}, { &hf_x2ap_tABased, { "tABased", "x2ap.tABased_element", FT_NONE, BASE_NONE, NULL, 0, "TABasedMDT", HFILL }}, { &hf_x2ap_pLMNWide, { "pLMNWide", "x2ap.pLMNWide_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_tAIBased, { "tAIBased", "x2ap.tAIBased_element", FT_NONE, BASE_NONE, NULL, 0, "TAIBasedMDT", HFILL }}, { &hf_x2ap_cellBased_01, { "cellBased", "x2ap.cellBased_element", FT_NONE, BASE_NONE, NULL, 0, "CellBasedQMC", HFILL }}, { &hf_x2ap_tABased_01, { "tABased", "x2ap.tABased_element", FT_NONE, BASE_NONE, NULL, 0, "TABasedQMC", HFILL }}, { &hf_x2ap_tAIBased_01, { "tAIBased", "x2ap.tAIBased_element", FT_NONE, BASE_NONE, NULL, 0, "TAIBasedQMC", HFILL }}, { &hf_x2ap_pLMNAreaBased, { "pLMNAreaBased", "x2ap.pLMNAreaBased_element", FT_NONE, BASE_NONE, NULL, 0, "PLMNAreaBasedQMC", HFILL }}, { &hf_x2ap_key_eNodeB_star, { "key-eNodeB-star", "x2ap.key_eNodeB_star", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nextHopChainingCount, { "nextHopChainingCount", "x2ap.nextHopChainingCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_AdditionalPLMNs_Item_item, { "PLMN-Identity", "x2ap.PLMN_Identity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_BroadcastPLMNs_Item_item, { "PLMN-Identity", "x2ap.PLMN_Identity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_bluetoothMeasConfig, { "bluetoothMeasConfig", "x2ap.bluetoothMeasConfig", FT_UINT32, BASE_DEC, VALS(x2ap_BluetoothMeasConfig_vals), 0, NULL, HFILL }}, { &hf_x2ap_bluetoothMeasConfigNameList, { "bluetoothMeasConfigNameList", "x2ap.bluetoothMeasConfigNameList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_bt_rssi, { "bt-rssi", "x2ap.bt_rssi", FT_UINT32, BASE_DEC, VALS(x2ap_T_bt_rssi_vals), 0, "T_bt_rssi", HFILL }}, { &hf_x2ap_BluetoothMeasConfigNameList_item, { "BluetoothName", "x2ap.BluetoothName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_BPLMN_ID_Info_EUTRA_item, { "BPLMN-ID-Info-EUTRA-Item", "x2ap.BPLMN_ID_Info_EUTRA_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_broadcastPLMNs, { "broadcastPLMNs", "x2ap.broadcastPLMNs", FT_UINT32, BASE_DEC, NULL, 0, "BroadcastPLMNs_Item", HFILL }}, { &hf_x2ap_tac, { "tac", "x2ap.tac", FT_UINT16, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_e_utraCI, { "e-utraCI", "x2ap.e_utraCI", FT_BYTES, BASE_NONE, NULL, 0, "EUTRANCellIdentifier", HFILL }}, { &hf_x2ap_iE_Extension, { "iE-Extension", "x2ap.iE_Extension", FT_UINT32, BASE_DEC, NULL, 0, "ProtocolExtensionContainer", HFILL }}, { &hf_x2ap_BPLMN_ID_Info_NR_item, { "BPLMN-ID-Info-NR-Item", "x2ap.BPLMN_ID_Info_NR_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_broadcastPLMNs_01, { "broadcastPLMNs", "x2ap.broadcastPLMNs", FT_UINT32, BASE_DEC, NULL, 0, "BroadcastextPLMNs", HFILL }}, { &hf_x2ap_fiveGS_TAC, { "fiveGS-TAC", "x2ap.fiveGS_TAC", FT_UINT24, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nr_CI, { "nr-CI", "x2ap.nr_CI", FT_BYTES, BASE_NONE, NULL, 0, "NRCellIdentifier", HFILL }}, { &hf_x2ap_BroadcastextPLMNs_item, { "PLMN-Identity", "x2ap.PLMN_Identity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_radioNetwork, { "radioNetwork", "x2ap.radioNetwork", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &x2ap_CauseRadioNetwork_vals_ext, 0, "CauseRadioNetwork", HFILL }}, { &hf_x2ap_transport, { "transport", "x2ap.transport", FT_UINT32, BASE_DEC, VALS(x2ap_CauseTransport_vals), 0, "CauseTransport", HFILL }}, { &hf_x2ap_protocol, { "protocol", "x2ap.protocol", FT_UINT32, BASE_DEC, VALS(x2ap_CauseProtocol_vals), 0, "CauseProtocol", HFILL }}, { &hf_x2ap_misc, { "misc", "x2ap.misc", FT_UINT32, BASE_DEC, VALS(x2ap_CauseMisc_vals), 0, "CauseMisc", HFILL }}, { &hf_x2ap_cellIdListforMDT, { "cellIdListforMDT", "x2ap.cellIdListforMDT", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cellIdListforQMC, { "cellIdListforQMC", "x2ap.cellIdListforQMC", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellIdListforMDT_item, { "ECGI", "x2ap.ECGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellIdListforQMC_item, { "ECGI", "x2ap.ECGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_replacingCellsList, { "replacingCellsList", "x2ap.replacingCellsList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cell_Size, { "cell-Size", "x2ap.cell_Size", FT_UINT32, BASE_DEC, VALS(x2ap_Cell_Size_vals), 0, NULL, HFILL }}, { &hf_x2ap_CPACcandidatePSCells_list_item, { "CPACcandidatePSCells-item", "x2ap.CPACcandidatePSCells_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_pscell_id, { "pscell-id", "x2ap.pscell_id_element", FT_NONE, BASE_NONE, NULL, 0, "NRCGI", HFILL }}, { &hf_x2ap_max_no_of_pscells, { "max-no-of-pscells", "x2ap.max_no_of_pscells", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxnoofPSCellCandidates", HFILL }}, { &hf_x2ap_estimatedArrivalProbability, { "estimatedArrivalProbability", "x2ap.estimatedArrivalProbability", FT_UINT32, BASE_DEC, NULL, 0, "CHO_Probability", HFILL }}, { &hf_x2ap_candidate_pscells, { "candidate-pscells", "x2ap.candidate_pscells", FT_UINT32, BASE_DEC, NULL, 0, "CPACcandidatePSCells_list", HFILL }}, { &hf_x2ap_cpc_target_sgnb_list, { "cpc-target-sgnb-list", "x2ap.cpc_target_sgnb_list", FT_UINT32, BASE_DEC, NULL, 0, "CPC_target_SgNB_reqd_list", HFILL }}, { &hf_x2ap_CPC_target_SgNB_reqd_list_item, { "CPC-target-SgNB-reqd-item", "x2ap.CPC_target_SgNB_reqd_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_target_SgNB_ID, { "target-SgNB-ID", "x2ap.target_SgNB_ID_element", FT_NONE, BASE_NONE, NULL, 0, "GlobalGNB_ID", HFILL }}, { &hf_x2ap_cpc_indicator, { "cpc-indicator", "x2ap.cpc_indicator", FT_UINT32, BASE_DEC, VALS(x2ap_CPCindicator_vals), 0, "CPCindicator", HFILL }}, { &hf_x2ap_sgNBtoMeNBContainer, { "sgNBtoMeNBContainer", "x2ap.sgNBtoMeNBContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cpc_target_sgnb_list_01, { "cpc-target-sgnb-list", "x2ap.cpc_target_sgnb_list", FT_UINT32, BASE_DEC, NULL, 0, "CPC_target_SgNB_conf_list", HFILL }}, { &hf_x2ap_CPC_target_SgNB_conf_list_item, { "CPC-target-SgNB-conf-item", "x2ap.CPC_target_SgNB_conf_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cpc_indicator_01, { "cpc-indicator", "x2ap.cpc_indicator", FT_UINT32, BASE_DEC, VALS(x2ap_CPCdataforwarding_vals), 0, "CPCdataforwarding", HFILL }}, { &hf_x2ap_cpc_target_sgnb_list_02, { "cpc-target-sgnb-list", "x2ap.cpc_target_sgnb_list", FT_UINT32, BASE_DEC, NULL, 0, "CPC_target_SgNB_mod_list", HFILL }}, { &hf_x2ap_CPC_target_SgNB_mod_list_item, { "CPC-target-SgNB-mod-item", "x2ap.CPC_target_SgNB_mod_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CNTypeRestrictions_item, { "CNTypeRestrictionsItem", "x2ap.CNTypeRestrictionsItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_plmn_Id, { "plmn-Id", "x2ap.plmn_Id", FT_BYTES, BASE_NONE, NULL, 0, "PLMN_Identity", HFILL }}, { &hf_x2ap_cn_type, { "cn-type", "x2ap.cn_type", FT_UINT32, BASE_DEC, VALS(x2ap_T_cn_type_vals), 0, NULL, HFILL }}, { &hf_x2ap_CoMPHypothesisSet_item, { "CoMPHypothesisSetItem", "x2ap.CoMPHypothesisSetItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_coMPCellID, { "coMPCellID", "x2ap.coMPCellID_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_coMPHypothesis, { "coMPHypothesis", "x2ap.coMPHypothesis", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6_4400_", HFILL }}, { &hf_x2ap_coMPInformationItem, { "coMPInformationItem", "x2ap.coMPInformationItem", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_coMPInformationStartTime, { "coMPInformationStartTime", "x2ap.coMPInformationStartTime", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CoMPInformationItem_item, { "CoMPInformationItem item", "x2ap.CoMPInformationItem_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_coMPHypothesisSet, { "coMPHypothesisSet", "x2ap.coMPHypothesisSet", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_benefitMetric, { "benefitMetric", "x2ap.benefitMetric", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CoMPInformationStartTime_item, { "CoMPInformationStartTime item", "x2ap.CoMPInformationStartTime_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_startSFN, { "startSFN", "x2ap.startSFN", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023_", HFILL }}, { &hf_x2ap_startSubframeNumber, { "startSubframeNumber", "x2ap.startSubframeNumber", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9_", HFILL }}, { &hf_x2ap_cellCapacityClassValue, { "cellCapacityClassValue", "x2ap.cellCapacityClassValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_capacityValue, { "capacityValue", "x2ap.capacityValue", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dL_CompositeAvailableCapacity, { "dL-CompositeAvailableCapacity", "x2ap.dL_CompositeAvailableCapacity_element", FT_NONE, BASE_NONE, NULL, 0, "CompositeAvailableCapacity", HFILL }}, { &hf_x2ap_uL_CompositeAvailableCapacity, { "uL-CompositeAvailableCapacity", "x2ap.uL_CompositeAvailableCapacity_element", FT_NONE, BASE_NONE, NULL, 0, "CompositeAvailableCapacity", HFILL }}, { &hf_x2ap_pDCP_SN, { "pDCP-SN", "x2ap.pDCP_SN", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_hFN, { "hFN", "x2ap.hFN", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_pDCP_SNExtended, { "pDCP-SNExtended", "x2ap.pDCP_SNExtended", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_hFNModified, { "hFNModified", "x2ap.hFNModified", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_pDCP_SNlength18, { "pDCP-SNlength18", "x2ap.pDCP_SNlength18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_hFNforPDCP_SNlength18, { "hFNforPDCP-SNlength18", "x2ap.hFNforPDCP_SNlength18", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CoverageModificationList_item, { "CoverageModification-Item", "x2ap.CoverageModification_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_eCGI, { "eCGI", "x2ap.eCGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_coverageState, { "coverageState", "x2ap.coverageState", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15_", HFILL }}, { &hf_x2ap_cellDeploymentStatusIndicator, { "cellDeploymentStatusIndicator", "x2ap.cellDeploymentStatusIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_CellDeploymentStatusIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_cellReplacingInfo, { "cellReplacingInfo", "x2ap.cellReplacingInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_endpointIPAddress, { "endpointIPAddress", "x2ap.endpointIPAddress", FT_BYTES, BASE_NONE, NULL, 0, "TransportLayerAddress", HFILL }}, { &hf_x2ap_endpointIPAddressAndPort, { "endpointIPAddressAndPort", "x2ap.endpointIPAddressAndPort_element", FT_NONE, BASE_NONE, NULL, 0, "TransportLayerAddressAndPort", HFILL }}, { &hf_x2ap_procedureCode, { "procedureCode", "x2ap.procedureCode", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &x2ap_ProcedureCode_vals_ext, 0, NULL, HFILL }}, { &hf_x2ap_triggeringMessage, { "triggeringMessage", "x2ap.triggeringMessage", FT_UINT32, BASE_DEC, VALS(x2ap_TriggeringMessage_vals), 0, NULL, HFILL }}, { &hf_x2ap_procedureCriticality, { "procedureCriticality", "x2ap.procedureCriticality", FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0, "Criticality", HFILL }}, { &hf_x2ap_iEsCriticalityDiagnostics, { "iEsCriticalityDiagnostics", "x2ap.iEsCriticalityDiagnostics", FT_UINT32, BASE_DEC, NULL, 0, "CriticalityDiagnostics_IE_List", HFILL }}, { &hf_x2ap_CriticalityDiagnostics_IE_List_item, { "CriticalityDiagnostics-IE-List item", "x2ap.CriticalityDiagnostics_IE_List_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_iECriticality, { "iECriticality", "x2ap.iECriticality", FT_UINT32, BASE_DEC, VALS(x2ap_Criticality_vals), 0, "Criticality", HFILL }}, { &hf_x2ap_iE_ID, { "iE-ID", "x2ap.iE_ID", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &x2ap_ProtocolIE_ID_vals_ext, 0, "ProtocolIE_ID", HFILL }}, { &hf_x2ap_typeOfError, { "typeOfError", "x2ap.typeOfError", FT_UINT32, BASE_DEC, VALS(x2ap_TypeOfError_vals), 0, NULL, HFILL }}, { &hf_x2ap_CSIReportList_item, { "CSIReportList item", "x2ap.CSIReportList_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uEID, { "uEID", "x2ap.uEID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cSIReportPerCSIProcess, { "cSIReportPerCSIProcess", "x2ap.cSIReportPerCSIProcess", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CSIReportPerCSIProcess_item, { "CSIReportPerCSIProcess item", "x2ap.CSIReportPerCSIProcess_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cSIProcessConfigurationIndex, { "cSIProcessConfigurationIndex", "x2ap.cSIProcessConfigurationIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_7_", HFILL }}, { &hf_x2ap_cSIReportPerCSIProcessItem, { "cSIReportPerCSIProcessItem", "x2ap.cSIReportPerCSIProcessItem", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CSIReportPerCSIProcessItem_item, { "CSIReportPerCSIProcessItem item", "x2ap.CSIReportPerCSIProcessItem_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_rI, { "rI", "x2ap.rI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8_", HFILL }}, { &hf_x2ap_widebandCQI, { "widebandCQI", "x2ap.widebandCQI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_subbandSize, { "subbandSize", "x2ap.subbandSize", FT_UINT32, BASE_DEC, VALS(x2ap_SubbandSize_vals), 0, NULL, HFILL }}, { &hf_x2ap_subbandCQIList, { "subbandCQIList", "x2ap.subbandCQIList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cho_trigger, { "cho-trigger", "x2ap.cho_trigger", FT_UINT32, BASE_DEC, VALS(x2ap_CHOtrigger_vals), 0, "CHOtrigger", HFILL }}, { &hf_x2ap_new_eNB_UE_X2AP_ID, { "new-eNB-UE-X2AP-ID", "x2ap.new_eNB_UE_X2AP_ID", FT_UINT32, BASE_DEC, NULL, 0, "UE_X2AP_ID", HFILL }}, { &hf_x2ap_new_eNB_UE_X2AP_ID_Extension, { "new-eNB-UE-X2AP-ID-Extension", "x2ap.new_eNB_UE_X2AP_ID_Extension", FT_UINT32, BASE_DEC, NULL, 0, "UE_X2AP_ID_Extension", HFILL }}, { &hf_x2ap_cHO_EstimatedArrivalProbability, { "cHO-EstimatedArrivalProbability", "x2ap.cHO_EstimatedArrivalProbability", FT_UINT32, BASE_DEC, NULL, 0, "CHO_Probability", HFILL }}, { &hf_x2ap_requestedTargetCellID, { "requestedTargetCellID", "x2ap.requestedTargetCellID_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_maxCHOpreparations, { "maxCHOpreparations", "x2ap.maxCHOpreparations", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CandidateCellsToBeCancelledList_item, { "ECGI", "x2ap.ECGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_source_eNB_ID, { "source-eNB-ID", "x2ap.source_eNB_ID_element", FT_NONE, BASE_NONE, NULL, 0, "GlobalENB_ID", HFILL }}, { &hf_x2ap_source_eNB_UE_X2AP_ID, { "source-eNB-UE-X2AP-ID", "x2ap.source_eNB_UE_X2AP_ID", FT_UINT32, BASE_DEC, NULL, 0, "UE_X2AP_ID", HFILL }}, { &hf_x2ap_source_eNB_UE_X2AP_ID_Ext, { "source-eNB-UE-X2AP-ID-Ext", "x2ap.source_eNB_UE_X2AP_ID_Ext", FT_UINT32, BASE_DEC, NULL, 0, "UE_X2AP_ID_Extension", HFILL }}, { &hf_x2ap_conditionalReconfig, { "conditionalReconfig", "x2ap.conditionalReconfig", FT_UINT32, BASE_DEC, VALS(x2ap_T_conditionalReconfig_vals), 0, NULL, HFILL }}, { &hf_x2ap_activationSFN, { "activationSFN", "x2ap.activationSFN", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_x2ap_sharedResourceType, { "sharedResourceType", "x2ap.sharedResourceType", FT_UINT32, BASE_DEC, VALS(x2ap_SharedResourceType_vals), 0, NULL, HFILL }}, { &hf_x2ap_reservedSubframePattern, { "reservedSubframePattern", "x2ap.reservedSubframePattern_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dAPSIndicator, { "dAPSIndicator", "x2ap.dAPSIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_T_dAPSIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_dAPSResponseIndicator, { "dAPSResponseIndicator", "x2ap.dAPSResponseIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_T_dAPSResponseIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_highestSuccessDeliveredPDCPSN, { "highestSuccessDeliveredPDCPSN", "x2ap.highestSuccessDeliveredPDCPSN", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4095", HFILL }}, { &hf_x2ap_unchanged, { "unchanged", "x2ap.unchanged_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_changed, { "changed", "x2ap.changed", FT_BYTES, BASE_NONE, NULL, 0, "DLResourceBitmapULandDLSharing", HFILL }}, { &hf_x2ap_naics_active, { "naics-active", "x2ap.naics_active_element", FT_NONE, BASE_NONE, NULL, 0, "DynamicNAICSInformation", HFILL }}, { &hf_x2ap_naics_inactive, { "naics-inactive", "x2ap.naics_inactive_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_transmissionModes, { "transmissionModes", "x2ap.transmissionModes", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_pB_information, { "pB-information", "x2ap.pB_information", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_x2ap_pA_list, { "pA-list", "x2ap.pA_list", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values", HFILL }}, { &hf_x2ap_pA_list_item, { "PA-Values", "x2ap.PA_Values", FT_UINT32, BASE_DEC, VALS(x2ap_PA_Values_vals), 0, NULL, HFILL }}, { &hf_x2ap_pLMN_Identity, { "pLMN-Identity", "x2ap.pLMN_Identity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_eUTRANcellIdentifier, { "eUTRANcellIdentifier", "x2ap.eUTRANcellIdentifier", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_enhancedRNTPBitmap, { "enhancedRNTPBitmap", "x2ap.enhancedRNTPBitmap", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_12_8800_", HFILL }}, { &hf_x2ap_rNTP_High_Power_Threshold, { "rNTP-High-Power-Threshold", "x2ap.rNTP_High_Power_Threshold", FT_UINT32, BASE_DEC, VALS(x2ap_RNTP_Threshold_vals), 0, "RNTP_Threshold", HFILL }}, { &hf_x2ap_enhancedRNTPStartTime, { "enhancedRNTPStartTime", "x2ap.enhancedRNTPStartTime_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_macro_eNB_ID, { "macro-eNB-ID", "x2ap.macro_eNB_ID", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_20", HFILL }}, { &hf_x2ap_home_eNB_ID, { "home-eNB-ID", "x2ap.home_eNB_ID", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_28", HFILL }}, { &hf_x2ap_short_Macro_eNB_ID, { "short-Macro-eNB-ID", "x2ap.short_Macro_eNB_ID", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_18", HFILL }}, { &hf_x2ap_long_Macro_eNB_ID, { "long-Macro-eNB-ID", "x2ap.long_Macro_eNB_ID", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_21", HFILL }}, { &hf_x2ap_pDCPatSgNB, { "pDCPatSgNB", "x2ap.pDCPatSgNB", FT_UINT32, BASE_DEC, VALS(x2ap_T_pDCPatSgNB_vals), 0, NULL, HFILL }}, { &hf_x2ap_mCGresources, { "mCGresources", "x2ap.mCGresources", FT_UINT32, BASE_DEC, VALS(x2ap_T_mCGresources_vals), 0, NULL, HFILL }}, { &hf_x2ap_sCGresources, { "sCGresources", "x2ap.sCGresources", FT_UINT32, BASE_DEC, VALS(x2ap_T_sCGresources_vals), 0, NULL, HFILL }}, { &hf_x2ap_EPLMNs_item, { "PLMN-Identity", "x2ap.PLMN_Identity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ERABActivityNotifyItemList_item, { "ERABActivityNotifyItem", "x2ap.ERABActivityNotifyItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_e_RAB_ID, { "e-RAB-ID", "x2ap.e_RAB_ID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_activityReport, { "activityReport", "x2ap.activityReport", FT_UINT32, BASE_DEC, VALS(x2ap_UserPlaneTrafficActivityReport_vals), 0, "UserPlaneTrafficActivityReport", HFILL }}, { &hf_x2ap_qCI, { "qCI", "x2ap.qCI", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_allocationAndRetentionPriority, { "allocationAndRetentionPriority", "x2ap.allocationAndRetentionPriority_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_gbrQosInformation, { "gbrQosInformation", "x2ap.gbrQosInformation_element", FT_NONE, BASE_NONE, NULL, 0, "GBR_QosInformation", HFILL }}, { &hf_x2ap_E_RAB_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cause, { "cause", "x2ap.cause", FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0, NULL, HFILL }}, { &hf_x2ap_E_RABsSubjectToEarlyStatusTransfer_List_item, { "E-RABsSubjectToEarlyStatusTransfer-Item", "x2ap.E_RABsSubjectToEarlyStatusTransfer_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_fIRST_DL_COUNTValue, { "fIRST-DL-COUNTValue", "x2ap.fIRST_DL_COUNTValue_element", FT_NONE, BASE_NONE, NULL, 0, "COUNTvalue", HFILL }}, { &hf_x2ap_fIRST_DL_COUNTValueExtended, { "fIRST-DL-COUNTValueExtended", "x2ap.fIRST_DL_COUNTValueExtended_element", FT_NONE, BASE_NONE, NULL, 0, "COUNTValueExtended", HFILL }}, { &hf_x2ap_fIRST_DL_COUNTValueforPDCPSNLength18, { "fIRST-DL-COUNTValueforPDCPSNLength18", "x2ap.fIRST_DL_COUNTValueforPDCPSNLength18_element", FT_NONE, BASE_NONE, NULL, 0, "COUNTvaluePDCP_SNlength18", HFILL }}, { &hf_x2ap_E_RABsSubjectToDLDiscarding_List_item, { "E-RABsSubjectToDLDiscarding-Item", "x2ap.E_RABsSubjectToDLDiscarding_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dISCARD_DL_COUNTValue, { "dISCARD-DL-COUNTValue", "x2ap.dISCARD_DL_COUNTValue_element", FT_NONE, BASE_NONE, NULL, 0, "COUNTvalue", HFILL }}, { &hf_x2ap_dISCARD_DL_COUNTValueExtended, { "dISCARD-DL-COUNTValueExtended", "x2ap.dISCARD_DL_COUNTValueExtended_element", FT_NONE, BASE_NONE, NULL, 0, "COUNTValueExtended", HFILL }}, { &hf_x2ap_dISCARD_DL_COUNTValueforPDCPSNLength18, { "dISCARD-DL-COUNTValueforPDCPSNLength18", "x2ap.dISCARD_DL_COUNTValueforPDCPSNLength18_element", FT_NONE, BASE_NONE, NULL, 0, "COUNTvaluePDCP_SNlength18", HFILL }}, { &hf_x2ap_E_RABUsageReportList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_startTimeStamp, { "startTimeStamp", "x2ap.startTimeStamp", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_endTimeStamp, { "endTimeStamp", "x2ap.endTimeStamp", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_usageCountUL, { "usageCountUL", "x2ap.usageCountUL", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_octet_octets, 0, "INTEGER_0_18446744073709551615", HFILL }}, { &hf_x2ap_usageCountDL, { "usageCountDL", "x2ap.usageCountDL", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_octet_octets, 0, "INTEGER_0_18446744073709551615", HFILL }}, { &hf_x2ap_fDD, { "fDD", "x2ap.fDD_element", FT_NONE, BASE_NONE, NULL, 0, "FDD_Info", HFILL }}, { &hf_x2ap_tDD, { "tDD", "x2ap.tDD_element", FT_NONE, BASE_NONE, NULL, 0, "TDD_Info", HFILL }}, { &hf_x2ap_expectedActivity, { "expectedActivity", "x2ap.expectedActivity_element", FT_NONE, BASE_NONE, NULL, 0, "ExpectedUEActivityBehaviour", HFILL }}, { &hf_x2ap_expectedHOInterval, { "expectedHOInterval", "x2ap.expectedHOInterval", FT_UINT32, BASE_DEC, VALS(x2ap_ExpectedHOInterval_vals), 0, NULL, HFILL }}, { &hf_x2ap_expectedActivityPeriod, { "expectedActivityPeriod", "x2ap.expectedActivityPeriod", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, NULL, HFILL }}, { &hf_x2ap_expectedIdlePeriod, { "expectedIdlePeriod", "x2ap.expectedIdlePeriod", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, NULL, HFILL }}, { &hf_x2ap_sourceofUEActivityBehaviourInformation, { "sourceofUEActivityBehaviourInformation", "x2ap.sourceofUEActivityBehaviourInformation", FT_UINT32, BASE_DEC, VALS(x2ap_SourceOfUEActivityBehaviourInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_associatedSubframes, { "associatedSubframes", "x2ap.associatedSubframes", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_5", HFILL }}, { &hf_x2ap_extended_ul_InterferenceOverloadIndication, { "extended-ul-InterferenceOverloadIndication", "x2ap.extended_ul_InterferenceOverloadIndication", FT_UINT32, BASE_DEC, NULL, 0, "UL_InterferenceOverloadIndication", HFILL }}, { &hf_x2ap_rrcContainer, { "rrcContainer", "x2ap.rrcContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uL_EARFCN, { "uL-EARFCN", "x2ap.uL_EARFCN", FT_UINT32, BASE_DEC, NULL, 0, "EARFCN", HFILL }}, { &hf_x2ap_dL_EARFCN, { "dL-EARFCN", "x2ap.dL_EARFCN", FT_UINT32, BASE_DEC, NULL, 0, "EARFCN", HFILL }}, { &hf_x2ap_uL_Transmission_Bandwidth, { "uL-Transmission-Bandwidth", "x2ap.uL_Transmission_Bandwidth", FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0, "Transmission_Bandwidth", HFILL }}, { &hf_x2ap_dL_Transmission_Bandwidth, { "dL-Transmission-Bandwidth", "x2ap.dL_Transmission_Bandwidth", FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0, "Transmission_Bandwidth", HFILL }}, { &hf_x2ap_ul_NRFreqInfo, { "ul-NRFreqInfo", "x2ap.ul_NRFreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, "NRFreqInfo", HFILL }}, { &hf_x2ap_dl_NRFreqInfo, { "dl-NRFreqInfo", "x2ap.dl_NRFreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, "NRFreqInfo", HFILL }}, { &hf_x2ap_ForbiddenTAs_item, { "ForbiddenTAs-Item", "x2ap.ForbiddenTAs_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_forbiddenTACs, { "forbiddenTACs", "x2ap.forbiddenTACs", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ForbiddenTACs_item, { "TAC", "x2ap.TAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ForbiddenLAs_item, { "ForbiddenLAs-Item", "x2ap.ForbiddenLAs_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_forbiddenLACs, { "forbiddenLACs", "x2ap.forbiddenLACs", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ForbiddenLACs_item, { "LAC", "x2ap.LAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_freqBandIndicatorNr, { "freqBandIndicatorNr", "x2ap.freqBandIndicatorNr", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_1024_", HFILL }}, { &hf_x2ap_supportedSULBandList, { "supportedSULBandList", "x2ap.supportedSULBandList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem", HFILL }}, { &hf_x2ap_supportedSULBandList_item, { "SupportedSULFreqBandItem", "x2ap.SupportedSULFreqBandItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_e_RAB_MaximumBitrateDL, { "e-RAB-MaximumBitrateDL", "x2ap.e_RAB_MaximumBitrateDL", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, { &hf_x2ap_e_RAB_MaximumBitrateUL, { "e-RAB-MaximumBitrateUL", "x2ap.e_RAB_MaximumBitrateUL", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, { &hf_x2ap_e_RAB_GuaranteedBitrateDL, { "e-RAB-GuaranteedBitrateDL", "x2ap.e_RAB_GuaranteedBitrateDL", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, { &hf_x2ap_e_RAB_GuaranteedBitrateUL, { "e-RAB-GuaranteedBitrateUL", "x2ap.e_RAB_GuaranteedBitrateUL", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, { &hf_x2ap_eNB_ID, { "eNB-ID", "x2ap.eNB_ID", FT_UINT32, BASE_DEC, VALS(x2ap_ENB_ID_vals), 0, NULL, HFILL }}, { &hf_x2ap_gNB_ID, { "gNB-ID", "x2ap.gNB_ID", FT_UINT32, BASE_DEC, VALS(x2ap_GNB_ID_vals), 0, NULL, HFILL }}, { &hf_x2ap_gNB, { "gNB", "x2ap.gNB_element", FT_NONE, BASE_NONE, NULL, 0, "GlobalGNB_ID", HFILL }}, { &hf_x2ap_choice_extension, { "choice-extension", "x2ap.choice_extension_element", FT_NONE, BASE_NONE, NULL, 0, "ProtocolIE_Single_Container", HFILL }}, { &hf_x2ap_GTPTLAs_item, { "GTPTLA-Item", "x2ap.GTPTLA_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_gTPTransportLayerAddresses, { "gTPTransportLayerAddresses", "x2ap.gTPTransportLayerAddresses", FT_BYTES, BASE_NONE, NULL, 0, "TransportLayerAddress", HFILL }}, { &hf_x2ap_transportLayerAddress, { "transportLayerAddress", "x2ap.transportLayerAddress", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_gTP_TEID, { "gTP-TEID", "x2ap.gTP_TEID", FT_BYTES, BASE_NONE, NULL, 0, "GTP_TEI", HFILL }}, { &hf_x2ap_GUGroupIDList_item, { "GU-Group-ID", "x2ap.GU_Group_ID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_mME_Group_ID, { "mME-Group-ID", "x2ap.mME_Group_ID", FT_UINT16, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_gU_Group_ID, { "gU-Group-ID", "x2ap.gU_Group_ID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_mME_Code, { "mME-Code", "x2ap.mME_Code", FT_UINT8, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_gNB_ID_01, { "gNB-ID", "x2ap.gNB_ID", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_22_32", HFILL }}, { &hf_x2ap_servingPLMN, { "servingPLMN", "x2ap.servingPLMN", FT_BYTES, BASE_NONE, NULL, 0, "PLMN_Identity", HFILL }}, { &hf_x2ap_equivalentPLMNs, { "equivalentPLMNs", "x2ap.equivalentPLMNs", FT_UINT32, BASE_DEC, NULL, 0, "EPLMNs", HFILL }}, { &hf_x2ap_forbiddenTAs, { "forbiddenTAs", "x2ap.forbiddenTAs", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_forbiddenLAs, { "forbiddenLAs", "x2ap.forbiddenLAs", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_forbiddenInterRATs, { "forbiddenInterRATs", "x2ap.forbiddenInterRATs", FT_UINT32, BASE_DEC, VALS(x2ap_ForbiddenInterRATs_vals), 0, NULL, HFILL }}, { &hf_x2ap_dLHWLoadIndicator, { "dLHWLoadIndicator", "x2ap.dLHWLoadIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0, "LoadIndicator", HFILL }}, { &hf_x2ap_uLHWLoadIndicator, { "uLHWLoadIndicator", "x2ap.uLHWLoadIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0, "LoadIndicator", HFILL }}, { &hf_x2ap_e_UTRAN_Cell, { "e-UTRAN-Cell", "x2ap.e_UTRAN_Cell_element", FT_NONE, BASE_NONE, NULL, 0, "LastVisitedEUTRANCellInformation", HFILL }}, { &hf_x2ap_uTRAN_Cell, { "uTRAN-Cell", "x2ap.uTRAN_Cell", FT_BYTES, BASE_NONE, NULL, 0, "LastVisitedUTRANCellInformation", HFILL }}, { &hf_x2ap_gERAN_Cell, { "gERAN-Cell", "x2ap.gERAN_Cell", FT_UINT32, BASE_DEC, VALS(x2ap_LastVisitedGERANCellInformation_vals), 0, "LastVisitedGERANCellInformation", HFILL }}, { &hf_x2ap_nG_RAN_Cell, { "nG-RAN-Cell", "x2ap.nG_RAN_Cell", FT_BYTES, BASE_NONE, NULL, 0, "LastVisitedNGRANCellInformation", HFILL }}, { &hf_x2ap_global_Cell_ID, { "global-Cell-ID", "x2ap.global_Cell_ID_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_cellType, { "cellType", "x2ap.cellType_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_time_UE_StayedInCell, { "time-UE-StayedInCell", "x2ap.time_UE_StayedInCell", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, NULL, HFILL }}, { &hf_x2ap_undefined, { "undefined", "x2ap.undefined_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_pSCell_id, { "pSCell-id", "x2ap.pSCell_id_element", FT_NONE, BASE_NONE, NULL, 0, "NRCGI", HFILL }}, { &hf_x2ap_eventType, { "eventType", "x2ap.eventType", FT_UINT32, BASE_DEC, VALS(x2ap_EventType_vals), 0, NULL, HFILL }}, { &hf_x2ap_reportArea, { "reportArea", "x2ap.reportArea", FT_UINT32, BASE_DEC, VALS(x2ap_ReportArea_vals), 0, NULL, HFILL }}, { &hf_x2ap_reportInterval, { "reportInterval", "x2ap.reportInterval", FT_UINT32, BASE_DEC, VALS(x2ap_ReportIntervalMDT_vals), 0, "ReportIntervalMDT", HFILL }}, { &hf_x2ap_reportAmount, { "reportAmount", "x2ap.reportAmount", FT_UINT32, BASE_DEC, VALS(x2ap_ReportAmountMDT_vals), 0, "ReportAmountMDT", HFILL }}, { &hf_x2ap_measurementThreshold, { "measurementThreshold", "x2ap.measurementThreshold", FT_UINT32, BASE_DEC, VALS(x2ap_MeasurementThresholdA2_vals), 0, "MeasurementThresholdA2", HFILL }}, { &hf_x2ap_m3period, { "m3period", "x2ap.m3period", FT_UINT32, BASE_DEC, VALS(x2ap_M3period_vals), 0, NULL, HFILL }}, { &hf_x2ap_m4period, { "m4period", "x2ap.m4period", FT_UINT32, BASE_DEC, VALS(x2ap_M4period_vals), 0, NULL, HFILL }}, { &hf_x2ap_m4_links_to_log, { "m4-links-to-log", "x2ap.m4_links_to_log", FT_UINT32, BASE_DEC, VALS(x2ap_Links_to_log_vals), 0, "Links_to_log", HFILL }}, { &hf_x2ap_m5period, { "m5period", "x2ap.m5period", FT_UINT32, BASE_DEC, VALS(x2ap_M5period_vals), 0, NULL, HFILL }}, { &hf_x2ap_m5_links_to_log, { "m5-links-to-log", "x2ap.m5_links_to_log", FT_UINT32, BASE_DEC, VALS(x2ap_Links_to_log_vals), 0, "Links_to_log", HFILL }}, { &hf_x2ap_m6report_interval, { "m6report-interval", "x2ap.m6report_interval", FT_UINT32, BASE_DEC, VALS(x2ap_M6report_interval_vals), 0, NULL, HFILL }}, { &hf_x2ap_m6delay_threshold, { "m6delay-threshold", "x2ap.m6delay_threshold", FT_UINT32, BASE_DEC, VALS(x2ap_M6delay_threshold_vals), 0, NULL, HFILL }}, { &hf_x2ap_m6_links_to_log, { "m6-links-to-log", "x2ap.m6_links_to_log", FT_UINT32, BASE_DEC, VALS(x2ap_Links_to_log_vals), 0, "Links_to_log", HFILL }}, { &hf_x2ap_m7period, { "m7period", "x2ap.m7period", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_m7_links_to_log, { "m7-links-to-log", "x2ap.m7_links_to_log", FT_UINT32, BASE_DEC, VALS(x2ap_Links_to_log_vals), 0, "Links_to_log", HFILL }}, { &hf_x2ap_mdt_Activation, { "mdt-Activation", "x2ap.mdt_Activation", FT_UINT32, BASE_DEC, VALS(x2ap_MDT_Activation_vals), 0, NULL, HFILL }}, { &hf_x2ap_areaScopeOfMDT, { "areaScopeOfMDT", "x2ap.areaScopeOfMDT", FT_UINT32, BASE_DEC, VALS(x2ap_AreaScopeOfMDT_vals), 0, NULL, HFILL }}, { &hf_x2ap_measurementsToActivate, { "measurementsToActivate", "x2ap.measurementsToActivate", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_m1reportingTrigger, { "m1reportingTrigger", "x2ap.m1reportingTrigger", FT_UINT32, BASE_DEC, VALS(x2ap_M1ReportingTrigger_vals), 0, NULL, HFILL }}, { &hf_x2ap_m1thresholdeventA2, { "m1thresholdeventA2", "x2ap.m1thresholdeventA2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_m1periodicReporting, { "m1periodicReporting", "x2ap.m1periodicReporting_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MDTPLMNList_item, { "PLMN-Identity", "x2ap.PLMN_Identity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_threshold_RSRP, { "threshold-RSRP", "x2ap.threshold_RSRP", FT_UINT32, BASE_CUSTOM, CF_FUNC(x2ap_Threshold_RSRP_fmt), 0, NULL, HFILL }}, { &hf_x2ap_threshold_RSRQ, { "threshold-RSRQ", "x2ap.threshold_RSRQ", FT_UINT32, BASE_CUSTOM, CF_FUNC(x2ap_Threshold_RSRQ_fmt), 0, NULL, HFILL }}, { &hf_x2ap_eUTRA_Cell_ID, { "eUTRA-Cell-ID", "x2ap.eUTRA_Cell_ID_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_uLCoordinationInformation, { "uLCoordinationInformation", "x2ap.uLCoordinationInformation", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6_4400_", HFILL }}, { &hf_x2ap_dLCoordinationInformation, { "dLCoordinationInformation", "x2ap.dLCoordinationInformation", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6_4400_", HFILL }}, { &hf_x2ap_MBMS_Service_Area_Identity_List_item, { "MBMS-Service-Area-Identity", "x2ap.MBMS_Service_Area_Identity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MBSFN_Subframe_Infolist_item, { "MBSFN-Subframe-Info", "x2ap.MBSFN_Subframe_Info_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_radioframeAllocationPeriod, { "radioframeAllocationPeriod", "x2ap.radioframeAllocationPeriod", FT_UINT32, BASE_DEC, VALS(x2ap_RadioframeAllocationPeriod_vals), 0, NULL, HFILL }}, { &hf_x2ap_radioframeAllocationOffset, { "radioframeAllocationOffset", "x2ap.radioframeAllocationOffset", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_subframeAllocation, { "subframeAllocation", "x2ap.subframeAllocation", FT_UINT32, BASE_DEC, VALS(x2ap_SubframeAllocation_vals), 0, NULL, HFILL }}, { &hf_x2ap_handoverTriggerChangeLowerLimit, { "handoverTriggerChangeLowerLimit", "x2ap.handoverTriggerChangeLowerLimit", FT_INT32, BASE_CUSTOM, CF_FUNC(x2ap_handoverTriggerChange_fmt), 0, "INTEGER_M20_20", HFILL }}, { &hf_x2ap_handoverTriggerChangeUpperLimit, { "handoverTriggerChangeUpperLimit", "x2ap.handoverTriggerChangeUpperLimit", FT_INT32, BASE_CUSTOM, CF_FUNC(x2ap_handoverTriggerChange_fmt), 0, "INTEGER_M20_20", HFILL }}, { &hf_x2ap_handoverTriggerChange, { "handoverTriggerChange", "x2ap.handoverTriggerChange", FT_INT32, BASE_CUSTOM, CF_FUNC(x2ap_handoverTriggerChange_fmt), 0, "INTEGER_M20_20", HFILL }}, { &hf_x2ap_MultibandInfoList_item, { "BandInfo", "x2ap.BandInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_maximumCellListSize, { "maximumCellListSize", "x2ap.maximumCellListSize", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_freqBandIndicator, { "freqBandIndicator", "x2ap.freqBandIndicator", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_rrcContainer_01, { "rrcContainer", "x2ap.rrcContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_srbType, { "srbType", "x2ap.srbType", FT_UINT32, BASE_DEC, VALS(x2ap_SRBType_vals), 0, NULL, HFILL }}, { &hf_x2ap_deliveryStatus, { "deliveryStatus", "x2ap.deliveryStatus_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Neighbour_Information_item, { "Neighbour-Information item", "x2ap.Neighbour_Information_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_pCI, { "pCI", "x2ap.pCI", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_eARFCN, { "eARFCN", "x2ap.eARFCN", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_capacityValue_01, { "capacityValue", "x2ap.capacityValue", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_x2ap_ssbAreaCapacityValue_List, { "ssbAreaCapacityValue-List", "x2ap.ssbAreaCapacityValue_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NRCarrierList_item, { "NRCarrierItem", "x2ap.NRCarrierItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_carrierSCS, { "carrierSCS", "x2ap.carrierSCS", FT_UINT32, BASE_DEC, VALS(x2ap_NRSCS_vals), 0, "NRSCS", HFILL }}, { &hf_x2ap_offsetToCarrier, { "offsetToCarrier", "x2ap.offsetToCarrier", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_2199_", HFILL }}, { &hf_x2ap_carrierBandwidth, { "carrierBandwidth", "x2ap.carrierBandwidth", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxnoofNRPhysicalResourceBlocks_", HFILL }}, { &hf_x2ap_compositeAvailableCapacityDL, { "compositeAvailableCapacityDL", "x2ap.compositeAvailableCapacityDL_element", FT_NONE, BASE_NONE, NULL, 0, "NRCompositeAvailableCapacity", HFILL }}, { &hf_x2ap_compositeAvailableCapacityUL, { "compositeAvailableCapacityUL", "x2ap.compositeAvailableCapacityUL_element", FT_NONE, BASE_NONE, NULL, 0, "NRCompositeAvailableCapacity", HFILL }}, { &hf_x2ap_cellCapacityClassValue_01, { "cellCapacityClassValue", "x2ap.cellCapacityClassValue", FT_UINT32, BASE_DEC, NULL, 0, "NRCellCapacityClassValue", HFILL }}, { &hf_x2ap_capacityValue_02, { "capacityValue", "x2ap.capacityValue_element", FT_NONE, BASE_NONE, NULL, 0, "NRCapacityValue", HFILL }}, { &hf_x2ap_nRARFCN, { "nRARFCN", "x2ap.nRARFCN", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3279165", HFILL }}, { &hf_x2ap_freqBandListNr, { "freqBandListNr", "x2ap.freqBandListNr", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem", HFILL }}, { &hf_x2ap_freqBandListNr_item, { "FreqBandNrItem", "x2ap.FreqBandNrItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sULInformation, { "sULInformation", "x2ap.sULInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nRcellIdentifier, { "nRcellIdentifier", "x2ap.nRcellIdentifier", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_NRRACHReportInformation_item, { "NRRACHReportList-Item", "x2ap.NRRACHReportList_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nRRACHReport, { "nRRACHReport", "x2ap.nRRACHReport", FT_BYTES, BASE_NONE, NULL, 0, "NRRACHReportContainer", HFILL }}, { &hf_x2ap_uEAssitantIdentifier, { "uEAssitantIdentifier", "x2ap.uEAssitantIdentifier", FT_UINT32, BASE_DEC, NULL, 0, "SgNB_UE_X2AP_ID", HFILL }}, { &hf_x2ap_NRNeighbour_Information_item, { "NRNeighbour-Information item", "x2ap.NRNeighbour_Information_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nrpCI, { "nrpCI", "x2ap.nrpCI", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nrCellID, { "nrCellID", "x2ap.nrCellID_element", FT_NONE, BASE_NONE, NULL, 0, "NRCGI", HFILL }}, { &hf_x2ap_configured_TAC, { "configured-TAC", "x2ap.configured_TAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, "TAC", HFILL }}, { &hf_x2ap_measurementTimingConfiguration, { "measurementTimingConfiguration", "x2ap.measurementTimingConfiguration", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nRNeighbourModeInfo, { "nRNeighbourModeInfo", "x2ap.nRNeighbourModeInfo", FT_UINT32, BASE_DEC, VALS(x2ap_T_nRNeighbourModeInfo_vals), 0, NULL, HFILL }}, { &hf_x2ap_fdd_01, { "fdd", "x2ap.fdd_element", FT_NONE, BASE_NONE, NULL, 0, "FDD_InfoNeighbourServedNRCell_Information", HFILL }}, { &hf_x2ap_tdd_01, { "tdd", "x2ap.tdd_element", FT_NONE, BASE_NONE, NULL, 0, "TDD_InfoNeighbourServedNRCell_Information", HFILL }}, { &hf_x2ap_fdd_or_tdd, { "fdd-or-tdd", "x2ap.fdd_or_tdd", FT_UINT32, BASE_DEC, VALS(x2ap_T_fdd_or_tdd_vals), 0, NULL, HFILL }}, { &hf_x2ap_fdd_02, { "fdd", "x2ap.fdd_element", FT_NONE, BASE_NONE, NULL, 0, "NPRACHConfiguration_FDD", HFILL }}, { &hf_x2ap_tdd_02, { "tdd", "x2ap.tdd_element", FT_NONE, BASE_NONE, NULL, 0, "NPRACHConfiguration_TDD", HFILL }}, { &hf_x2ap_nprach_CP_length, { "nprach-CP-length", "x2ap.nprach_CP_length", FT_UINT32, BASE_DEC, VALS(x2ap_NPRACH_CP_Length_vals), 0, NULL, HFILL }}, { &hf_x2ap_anchorCarrier_NPRACHConfig, { "anchorCarrier-NPRACHConfig", "x2ap.anchorCarrier_NPRACHConfig", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_anchorCarrier_EDT_NPRACHConfig, { "anchorCarrier-EDT-NPRACHConfig", "x2ap.anchorCarrier_EDT_NPRACHConfig", FT_BYTES, BASE_NONE, NULL, 0, "T_anchorCarrier_EDT_NPRACHConfig", HFILL }}, { &hf_x2ap_anchorCarrier_Format2_NPRACHConfig, { "anchorCarrier-Format2-NPRACHConfig", "x2ap.anchorCarrier_Format2_NPRACHConfig", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig, { "anchorCarrier-Format2-EDT-NPRACHConfig", "x2ap.anchorCarrier_Format2_EDT_NPRACHConfig", FT_BYTES, BASE_NONE, NULL, 0, "T_anchorCarrier_Format2_EDT_NPRACHConfig", HFILL }}, { &hf_x2ap_non_anchorCarrier_NPRACHConfig, { "non-anchorCarrier-NPRACHConfig", "x2ap.non_anchorCarrier_NPRACHConfig", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_non_anchorCarrier_Format2_NPRACHConfig, { "non-anchorCarrier-Format2-NPRACHConfig", "x2ap.non_anchorCarrier_Format2_NPRACHConfig", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nprach_preambleFormat, { "nprach-preambleFormat", "x2ap.nprach_preambleFormat", FT_UINT32, BASE_DEC, VALS(x2ap_NPRACH_preambleFormat_vals), 0, NULL, HFILL }}, { &hf_x2ap_anchorCarrier_NPRACHConfigTDD, { "anchorCarrier-NPRACHConfigTDD", "x2ap.anchorCarrier_NPRACHConfigTDD", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_non_anchorCarrierFequencyConfiglist, { "non-anchorCarrierFequencyConfiglist", "x2ap.non_anchorCarrierFequencyConfiglist", FT_UINT32, BASE_DEC, NULL, 0, "Non_AnchorCarrierFrequencylist", HFILL }}, { &hf_x2ap_non_anchorCarrier_NPRACHConfigTDD, { "non-anchorCarrier-NPRACHConfigTDD", "x2ap.non_anchorCarrier_NPRACHConfigTDD", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_Non_AnchorCarrierFrequencylist_item, { "Non-AnchorCarrierFrequencylist item", "x2ap.Non_AnchorCarrierFrequencylist_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_non_anchorCarrioerFrquency, { "non-anchorCarrioerFrquency", "x2ap.non_anchorCarrioerFrquency", FT_BYTES, BASE_NONE, NULL, 0, "Non_anchorCarrierFrequency", HFILL }}, { &hf_x2ap_MeasurementResultforNRCellsPossiblyAggregated_item, { "MeasurementResultforNRCellsPossiblyAggregated-Item", "x2ap.MeasurementResultforNRCellsPossiblyAggregated_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cellID, { "cellID", "x2ap.cellID_element", FT_NONE, BASE_NONE, NULL, 0, "NRCGI", HFILL }}, { &hf_x2ap_nrCompositeAvailableCapacityGroup, { "nrCompositeAvailableCapacityGroup", "x2ap.nrCompositeAvailableCapacityGroup_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ssbAreaRadioResourceStatus_List, { "ssbAreaRadioResourceStatus-List", "x2ap.ssbAreaRadioResourceStatus_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dl_GBR_PRB_usage_for_MIMO, { "dl-GBR-PRB-usage-for-MIMO", "x2ap.dl_GBR_PRB_usage_for_MIMO", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ul_GBR_PRB_usage_for_MIMO, { "ul-GBR-PRB-usage-for-MIMO", "x2ap.ul_GBR_PRB_usage_for_MIMO", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dl_non_GBR_PRB_usage_for_MIMO, { "dl-non-GBR-PRB-usage-for-MIMO", "x2ap.dl_non_GBR_PRB_usage_for_MIMO", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ul_non_GBR_PRB_usage_for_MIMO, { "ul-non-GBR-PRB-usage-for-MIMO", "x2ap.ul_non_GBR_PRB_usage_for_MIMO", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dl_Total_PRB_usage_for_MIMO, { "dl-Total-PRB-usage-for-MIMO", "x2ap.dl_Total_PRB_usage_for_MIMO", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ul_Total_PRB_usage_for_MIMO, { "ul-Total-PRB-usage-for-MIMO", "x2ap.ul_Total_PRB_usage_for_MIMO", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nRSCS, { "nRSCS", "x2ap.nRSCS", FT_UINT32, BASE_DEC, VALS(x2ap_NRSCS_vals), 0, NULL, HFILL }}, { &hf_x2ap_nRNRB, { "nRNRB", "x2ap.nRNRB", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &x2ap_NRNRB_vals_ext, 0, NULL, HFILL }}, { &hf_x2ap_uENRMeasurements, { "uENRMeasurements", "x2ap.uENRMeasurements", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uESidelinkAggregateMaximumBitRate, { "uESidelinkAggregateMaximumBitRate", "x2ap.uESidelinkAggregateMaximumBitRate", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, { &hf_x2ap_nRencryptionAlgorithms, { "nRencryptionAlgorithms", "x2ap.nRencryptionAlgorithms", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nRintegrityProtectionAlgorithms, { "nRintegrityProtectionAlgorithms", "x2ap.nRintegrityProtectionAlgorithms", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_vehicleUE, { "vehicleUE", "x2ap.vehicleUE", FT_UINT32, BASE_DEC, VALS(x2ap_VehicleUE_vals), 0, NULL, HFILL }}, { &hf_x2ap_pedestrianUE, { "pedestrianUE", "x2ap.pedestrianUE", FT_UINT32, BASE_DEC, VALS(x2ap_PedestrianUE_vals), 0, NULL, HFILL }}, { &hf_x2ap_pc5QoSFlowList, { "pc5QoSFlowList", "x2ap.pc5QoSFlowList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_pc5LinkAggregatedBitRates, { "pc5LinkAggregatedBitRates", "x2ap.pc5LinkAggregatedBitRates", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, { &hf_x2ap_PC5QoSFlowList_item, { "PC5QoSFlowItem", "x2ap.PC5QoSFlowItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_pQI, { "pQI", "x2ap.pQI", FT_UINT32, BASE_DEC, NULL, 0, "FiveQI", HFILL }}, { &hf_x2ap_pc5FlowBitRates, { "pc5FlowBitRates", "x2ap.pc5FlowBitRates_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_range, { "range", "x2ap.range", FT_UINT32, BASE_DEC, VALS(x2ap_Range_vals), 0, NULL, HFILL }}, { &hf_x2ap_guaranteedFlowBitRate, { "guaranteedFlowBitRate", "x2ap.guaranteedFlowBitRate", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, { &hf_x2ap_maximumFlowBitRate, { "maximumFlowBitRate", "x2ap.maximumFlowBitRate", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, { &hf_x2ap_rootSequenceIndex, { "rootSequenceIndex", "x2ap.rootSequenceIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_837", HFILL }}, { &hf_x2ap_zeroCorrelationIndex, { "zeroCorrelationIndex", "x2ap.zeroCorrelationIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_x2ap_highSpeedFlag, { "highSpeedFlag", "x2ap.highSpeedFlag", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_x2ap_prach_FreqOffset, { "prach-FreqOffset", "x2ap.prach_FreqOffset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_94", HFILL }}, { &hf_x2ap_prach_ConfigIndex, { "prach-ConfigIndex", "x2ap.prach_ConfigIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, { &hf_x2ap_plmnListforQMC, { "plmnListforQMC", "x2ap.plmnListforQMC", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_PLMNListforQMC_item, { "PLMN-Identity", "x2ap.PLMN_Identity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_proSeDirectDiscovery, { "proSeDirectDiscovery", "x2ap.proSeDirectDiscovery", FT_UINT32, BASE_DEC, VALS(x2ap_ProSeDirectDiscovery_vals), 0, NULL, HFILL }}, { &hf_x2ap_proSeDirectCommunication, { "proSeDirectCommunication", "x2ap.proSeDirectCommunication", FT_UINT32, BASE_DEC, VALS(x2ap_ProSeDirectCommunication_vals), 0, NULL, HFILL }}, { &hf_x2ap_protectedResourceList, { "protectedResourceList", "x2ap.protectedResourceList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_mBSFNControlRegionLength, { "mBSFNControlRegionLength", "x2ap.mBSFNControlRegionLength", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_pDCCHRegionLength, { "pDCCHRegionLength", "x2ap.pDCCHRegionLength", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_protectedFootprintTimePeriodicity, { "protectedFootprintTimePeriodicity", "x2ap.protectedFootprintTimePeriodicity", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_320_", HFILL }}, { &hf_x2ap_protectedFootprintStartTime, { "protectedFootprintStartTime", "x2ap.protectedFootprintStartTime", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_20_", HFILL }}, { &hf_x2ap_ProtectedResourceList_item, { "ProtectedResourceList-Item", "x2ap.ProtectedResourceList_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resourceType, { "resourceType", "x2ap.resourceType", FT_UINT32, BASE_DEC, VALS(x2ap_ResourceType_vals), 0, NULL, HFILL }}, { &hf_x2ap_intraPRBProtectedResourceFootprint, { "intraPRBProtectedResourceFootprint", "x2ap.intraPRBProtectedResourceFootprint", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_84_", HFILL }}, { &hf_x2ap_protectedFootprintFrequencyPattern, { "protectedFootprintFrequencyPattern", "x2ap.protectedFootprintFrequencyPattern", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6_110_", HFILL }}, { &hf_x2ap_protectedFootprintTimePattern, { "protectedFootprintTimePattern", "x2ap.protectedFootprintTimePattern_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_PSCell_UE_HistoryInformation_item, { "LastVisitedPSCell-Item", "x2ap.LastVisitedPSCell_Item", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dscp, { "dscp", "x2ap.dscp", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6", HFILL }}, { &hf_x2ap_flow_label, { "flow-label", "x2ap.flow_label", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_20", HFILL }}, { &hf_x2ap_dL_GBR_PRB_usage, { "dL-GBR-PRB-usage", "x2ap.dL_GBR_PRB_usage", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uL_GBR_PRB_usage, { "uL-GBR-PRB-usage", "x2ap.uL_GBR_PRB_usage", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dL_non_GBR_PRB_usage, { "dL-non-GBR-PRB-usage", "x2ap.dL_non_GBR_PRB_usage", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uL_non_GBR_PRB_usage, { "uL-non-GBR-PRB-usage", "x2ap.uL_non_GBR_PRB_usage", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dL_Total_PRB_usage, { "dL-Total-PRB-usage", "x2ap.dL_Total_PRB_usage", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uL_Total_PRB_usage, { "uL-Total-PRB-usage", "x2ap.uL_Total_PRB_usage", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_RAT_Restrictions_item, { "RAT-RestrictionsItem", "x2ap.RAT_RestrictionsItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_rAT_RestrictionInformation, { "rAT-RestrictionInformation", "x2ap.rAT_RestrictionInformation", FT_BYTES, BASE_NONE, NULL, 0, "T_rAT_RestrictionInformation", HFILL }}, { &hf_x2ap_rNTP_PerPRB, { "rNTP-PerPRB", "x2ap.rNTP_PerPRB", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6_110_", HFILL }}, { &hf_x2ap_rNTP_Threshold, { "rNTP-Threshold", "x2ap.rNTP_Threshold", FT_UINT32, BASE_DEC, VALS(x2ap_RNTP_Threshold_vals), 0, NULL, HFILL }}, { &hf_x2ap_numberOfCellSpecificAntennaPorts_02, { "numberOfCellSpecificAntennaPorts", "x2ap.numberOfCellSpecificAntennaPorts", FT_UINT32, BASE_DEC, VALS(x2ap_T_numberOfCellSpecificAntennaPorts_02_vals), 0, "T_numberOfCellSpecificAntennaPorts_02", HFILL }}, { &hf_x2ap_p_B, { "p-B", "x2ap.p_B", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3_", HFILL }}, { &hf_x2ap_pDCCH_InterferenceImpact, { "pDCCH-InterferenceImpact", "x2ap.pDCCH_InterferenceImpact", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4_", HFILL }}, { &hf_x2ap_ReplacingCellsList_item, { "ReplacingCellsList-Item", "x2ap.ReplacingCellsList_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_subframeType, { "subframeType", "x2ap.subframeType", FT_UINT32, BASE_DEC, VALS(x2ap_SubframeType_vals), 0, NULL, HFILL }}, { &hf_x2ap_reservedSubframePattern_01, { "reservedSubframePattern", "x2ap.reservedSubframePattern", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10_160", HFILL }}, { &hf_x2ap_mBSFNControlRegionLength_01, { "mBSFNControlRegionLength", "x2ap.mBSFNControlRegionLength", FT_UINT32, BASE_DEC, NULL, 0, "T_mBSFNControlRegionLength_01", HFILL }}, { &hf_x2ap_non_truncated, { "non-truncated", "x2ap.non_truncated", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_40", HFILL }}, { &hf_x2ap_truncated, { "truncated", "x2ap.truncated", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_24", HFILL }}, { &hf_x2ap_reestablishment_Indication, { "reestablishment-Indication", "x2ap.reestablishment_Indication", FT_UINT32, BASE_DEC, VALS(x2ap_Reestablishment_Indication_vals), 0, NULL, HFILL }}, { &hf_x2ap_RSRPMeasurementResult_item, { "RSRPMeasurementResult item", "x2ap.RSRPMeasurementResult_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_rSRPCellID, { "rSRPCellID", "x2ap.rSRPCellID_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_rSRPMeasured, { "rSRPMeasured", "x2ap.rSRPMeasured", FT_UINT32, BASE_CUSTOM, CF_FUNC(x2ap_Threshold_RSRP_fmt), 0, "INTEGER_0_97_", HFILL }}, { &hf_x2ap_RSRPMRList_item, { "RSRPMRList item", "x2ap.RSRPMRList_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_rSRPMeasurementResult, { "rSRPMeasurementResult", "x2ap.rSRPMeasurementResult", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dLS1TNLLoadIndicator, { "dLS1TNLLoadIndicator", "x2ap.dLS1TNLLoadIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0, "LoadIndicator", HFILL }}, { &hf_x2ap_uLS1TNLLoadIndicator, { "uLS1TNLLoadIndicator", "x2ap.uLS1TNLLoadIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0, "LoadIndicator", HFILL }}, { &hf_x2ap_SCG_UE_HistoryInformation_item, { "LastVisitedPSCell-Item", "x2ap.LastVisitedPSCell_Item", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SecondaryRATUsageReportList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_secondaryRATType, { "secondaryRATType", "x2ap.secondaryRATType", FT_UINT32, BASE_DEC, VALS(x2ap_T_secondaryRATType_vals), 0, NULL, HFILL }}, { &hf_x2ap_e_RABUsageReportList, { "e-RABUsageReportList", "x2ap.e_RABUsageReportList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_integrityProtectionIndication, { "integrityProtectionIndication", "x2ap.integrityProtectionIndication", FT_UINT32, BASE_DEC, VALS(x2ap_IntegrityProtectionIndication_vals), 0, NULL, HFILL }}, { &hf_x2ap_integrityProtectionResult, { "integrityProtectionResult", "x2ap.integrityProtectionResult", FT_UINT32, BASE_DEC, VALS(x2ap_IntegrityProtectionResult_vals), 0, NULL, HFILL }}, { &hf_x2ap_sensorMeasConfig, { "sensorMeasConfig", "x2ap.sensorMeasConfig", FT_UINT32, BASE_DEC, VALS(x2ap_SensorMeasConfig_vals), 0, NULL, HFILL }}, { &hf_x2ap_sensorMeasConfigNameList, { "sensorMeasConfigNameList", "x2ap.sensorMeasConfigNameList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_SensorMeasConfigNameList_item, { "SensorMeasConfigNameItem", "x2ap.SensorMeasConfigNameItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sensorNameConfig, { "sensorNameConfig", "x2ap.sensorNameConfig", FT_UINT32, BASE_DEC, VALS(x2ap_SensorNameConfig_vals), 0, NULL, HFILL }}, { &hf_x2ap_uncompensatedBarometricConfig, { "uncompensatedBarometricConfig", "x2ap.uncompensatedBarometricConfig", FT_UINT32, BASE_DEC, VALS(x2ap_T_uncompensatedBarometricConfig_vals), 0, NULL, HFILL }}, { &hf_x2ap_ServedCells_item, { "ServedCells item", "x2ap.ServedCells_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_servedCellInfo, { "servedCellInfo", "x2ap.servedCellInfo_element", FT_NONE, BASE_NONE, NULL, 0, "ServedCell_Information", HFILL }}, { &hf_x2ap_neighbour_Info, { "neighbour-Info", "x2ap.neighbour_Info", FT_UINT32, BASE_DEC, NULL, 0, "Neighbour_Information", HFILL }}, { &hf_x2ap_cellId, { "cellId", "x2ap.cellId_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_tAC, { "tAC", "x2ap.tAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_eUTRA_Mode_Info, { "eUTRA-Mode-Info", "x2ap.eUTRA_Mode_Info", FT_UINT32, BASE_DEC, VALS(x2ap_EUTRA_Mode_Info_vals), 0, NULL, HFILL }}, { &hf_x2ap_ServedCellSpecificInfoReq_NR_item, { "ServedCellSpecificInfoReq-NR-Item", "x2ap.ServedCellSpecificInfoReq_NR_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nRCGI, { "nRCGI", "x2ap.nRCGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_additionalMTCListRequestIndicator, { "additionalMTCListRequestIndicator", "x2ap.additionalMTCListRequestIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_T_additionalMTCListRequestIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_nR_CGI, { "nR-CGI", "x2ap.nR_CGI_element", FT_NONE, BASE_NONE, NULL, 0, "NRCGI", HFILL }}, { &hf_x2ap_uLOnlySharing, { "uLOnlySharing", "x2ap.uLOnlySharing_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uLandDLSharing, { "uLandDLSharing", "x2ap.uLandDLSharing_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_specialSubframePatterns, { "specialSubframePatterns", "x2ap.specialSubframePatterns", FT_UINT32, BASE_DEC, VALS(x2ap_SpecialSubframePatterns_vals), 0, NULL, HFILL }}, { &hf_x2ap_subbandCQICodeword0, { "subbandCQICodeword0", "x2ap.subbandCQICodeword0", FT_UINT32, BASE_DEC, VALS(x2ap_SubbandCQICodeword0_vals), 0, NULL, HFILL }}, { &hf_x2ap_subbandCQICodeword1, { "subbandCQICodeword1", "x2ap.subbandCQICodeword1", FT_UINT32, BASE_DEC, VALS(x2ap_SubbandCQICodeword1_vals), 0, NULL, HFILL }}, { &hf_x2ap_periodicCommunicationIndicator, { "periodicCommunicationIndicator", "x2ap.periodicCommunicationIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_T_periodicCommunicationIndicator_vals), 0, NULL, HFILL }}, { &hf_x2ap_periodicTime, { "periodicTime", "x2ap.periodicTime", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, "INTEGER_1_3600_", HFILL }}, { &hf_x2ap_scheduledCommunicationTime, { "scheduledCommunicationTime", "x2ap.scheduledCommunicationTime_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_stationaryIndication, { "stationaryIndication", "x2ap.stationaryIndication", FT_UINT32, BASE_DEC, VALS(x2ap_T_stationaryIndication_vals), 0, NULL, HFILL }}, { &hf_x2ap_trafficProfile, { "trafficProfile", "x2ap.trafficProfile", FT_UINT32, BASE_DEC, VALS(x2ap_T_trafficProfile_vals), 0, NULL, HFILL }}, { &hf_x2ap_batteryIndication, { "batteryIndication", "x2ap.batteryIndication", FT_UINT32, BASE_DEC, VALS(x2ap_T_batteryIndication_vals), 0, NULL, HFILL }}, { &hf_x2ap_dayofWeek, { "dayofWeek", "x2ap.dayofWeek", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_7", HFILL }}, { &hf_x2ap_timeofDayStart, { "timeofDayStart", "x2ap.timeofDayStart", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, "INTEGER_0_86399_", HFILL }}, { &hf_x2ap_timeofDayEnd, { "timeofDayEnd", "x2ap.timeofDayEnd", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, "INTEGER_0_86399_", HFILL }}, { &hf_x2ap_SSBAreaCapacityValue_List_item, { "SSBAreaCapacityValue-Item", "x2ap.SSBAreaCapacityValue_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ssbIndex, { "ssbIndex", "x2ap.ssbIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ssbAreaCapacityValue, { "ssbAreaCapacityValue", "x2ap.ssbAreaCapacityValue", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_x2ap_SSBAreaRadioResourceStatus_List_item, { "SSBAreaRadioResourceStatus-Item", "x2ap.SSBAreaRadioResourceStatus_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ssbAreaDLGBRPRBUsage, { "ssbAreaDLGBRPRBUsage", "x2ap.ssbAreaDLGBRPRBUsage", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_x2ap_ssbAreaULGBRPRBUsage, { "ssbAreaULGBRPRBUsage", "x2ap.ssbAreaULGBRPRBUsage", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_x2ap_ssbAreaDLNonGBRPRBUsage, { "ssbAreaDLNonGBRPRBUsage", "x2ap.ssbAreaDLNonGBRPRBUsage", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_x2ap_ssbAreaULNonGBRPRBUsage, { "ssbAreaULNonGBRPRBUsage", "x2ap.ssbAreaULNonGBRPRBUsage", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_x2ap_ssbAreaDLTotalPRBUsage, { "ssbAreaDLTotalPRBUsage", "x2ap.ssbAreaDLTotalPRBUsage", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_x2ap_ssbAreaULTotalPRBUsage, { "ssbAreaULTotalPRBUsage", "x2ap.ssbAreaULTotalPRBUsage", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_x2ap_ssbAreaDLSchedulingPDCCHCCEUsage, { "ssbAreaDLSchedulingPDCCHCCEUsage", "x2ap.ssbAreaDLSchedulingPDCCHCCEUsage", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_x2ap_ssbAreaULSchedulingPDCCHCCEUsage, { "ssbAreaULSchedulingPDCCHCCEUsage", "x2ap.ssbAreaULSchedulingPDCCHCCEUsage", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100", HFILL }}, { &hf_x2ap_shortBitmap, { "shortBitmap", "x2ap.shortBitmap", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_4", HFILL }}, { &hf_x2ap_mediumBitmap, { "mediumBitmap", "x2ap.mediumBitmap", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_x2ap_longBitmap, { "longBitmap", "x2ap.longBitmap", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_64", HFILL }}, { &hf_x2ap_four_bitCQI, { "four-bitCQI", "x2ap.four_bitCQI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15_", HFILL }}, { &hf_x2ap_two_bitSubbandDifferentialCQI, { "two-bitSubbandDifferentialCQI", "x2ap.two_bitSubbandDifferentialCQI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3_", HFILL }}, { &hf_x2ap_two_bitDifferentialCQI, { "two-bitDifferentialCQI", "x2ap.two_bitDifferentialCQI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3_", HFILL }}, { &hf_x2ap_three_bitSpatialDifferentialCQI, { "three-bitSpatialDifferentialCQI", "x2ap.three_bitSpatialDifferentialCQI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_7_", HFILL }}, { &hf_x2ap_SubbandCQIList_item, { "SubbandCQIItem", "x2ap.SubbandCQIItem_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_subbandCQI, { "subbandCQI", "x2ap.subbandCQI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_subbandIndex, { "subbandIndex", "x2ap.subbandIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_27_", HFILL }}, { &hf_x2ap_oneframe, { "oneframe", "x2ap.oneframe", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_fourframes, { "fourframes", "x2ap.fourframes", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sUL_ARFCN, { "sUL-ARFCN", "x2ap.sUL_ARFCN", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3279165", HFILL }}, { &hf_x2ap_sUL_TxBW, { "sUL-TxBW", "x2ap.sUL_TxBW_element", FT_NONE, BASE_NONE, NULL, 0, "NR_TxBW", HFILL }}, { &hf_x2ap_sFN_Time_Offset, { "sFN-Time-Offset", "x2ap.sFN_Time_Offset", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_24", HFILL }}, { &hf_x2ap_tAListforMDT, { "tAListforMDT", "x2ap.tAListforMDT", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_tAIListforMDT, { "tAIListforMDT", "x2ap.tAIListforMDT", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TAIListforMDT_item, { "TAI-Item", "x2ap.TAI_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TAListforMDT_item, { "TAC", "x2ap.TAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_tAListforQMC, { "tAListforQMC", "x2ap.tAListforQMC", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TAListforQMC_item, { "TAC", "x2ap.TAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, { &hf_x2ap_tAIListforQMC, { "tAIListforQMC", "x2ap.tAIListforQMC", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TAIListforQMC_item, { "TAI-Item", "x2ap.TAI_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_transmission_Bandwidth, { "transmission-Bandwidth", "x2ap.transmission_Bandwidth", FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0, NULL, HFILL }}, { &hf_x2ap_subframeAssignment, { "subframeAssignment", "x2ap.subframeAssignment", FT_UINT32, BASE_DEC, VALS(x2ap_SubframeAssignment_vals), 0, NULL, HFILL }}, { &hf_x2ap_specialSubframe_Info, { "specialSubframe-Info", "x2ap.specialSubframe_Info_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nRFreqInfo, { "nRFreqInfo", "x2ap.nRFreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TNLA_To_Add_List_item, { "TNLA-To-Add-Item", "x2ap.TNLA_To_Add_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_tNLAssociationTransportLayerAddress, { "tNLAssociationTransportLayerAddress", "x2ap.tNLAssociationTransportLayerAddress", FT_UINT32, BASE_DEC, VALS(x2ap_CPTransportLayerInformation_vals), 0, "CPTransportLayerInformation", HFILL }}, { &hf_x2ap_tNLAssociationUsage, { "tNLAssociationUsage", "x2ap.tNLAssociationUsage", FT_UINT32, BASE_DEC, VALS(x2ap_TNLAssociationUsage_vals), 0, NULL, HFILL }}, { &hf_x2ap_TNLA_To_Update_List_item, { "TNLA-To-Update-Item", "x2ap.TNLA_To_Update_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TNLA_To_Remove_List_item, { "TNLA-To-Remove-Item", "x2ap.TNLA_To_Remove_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TNLA_Setup_List_item, { "TNLA-Setup-Item", "x2ap.TNLA_Setup_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_TNLA_Failed_To_Setup_List_item, { "TNLA-Failed-To-Setup-Item", "x2ap.TNLA_Failed_To_Setup_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dlTNLMaximumOfferedCapacity, { "dlTNLMaximumOfferedCapacity", "x2ap.dlTNLMaximumOfferedCapacity", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16777216_", HFILL }}, { &hf_x2ap_dlTNLAvailableCapacity, { "dlTNLAvailableCapacity", "x2ap.dlTNLAvailableCapacity", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100_", HFILL }}, { &hf_x2ap_ulTNLMaximumOfferedCapacity, { "ulTNLMaximumOfferedCapacity", "x2ap.ulTNLMaximumOfferedCapacity", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16777216_", HFILL }}, { &hf_x2ap_ulTNLAvailableCapacity, { "ulTNLAvailableCapacity", "x2ap.ulTNLAvailableCapacity", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_100_", HFILL }}, { &hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List_item, { "Transport-UP-Layer-Addresses-Info-To-Add-Item", "x2ap.Transport_UP_Layer_Addresses_Info_To_Add_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_iP_SecTransportLayerAddress, { "iP-SecTransportLayerAddress", "x2ap.iP_SecTransportLayerAddress", FT_BYTES, BASE_NONE, NULL, 0, "TransportLayerAddress", HFILL }}, { &hf_x2ap_gTPTransportLayerAddressesToAdd, { "gTPTransportLayerAddressesToAdd", "x2ap.gTPTransportLayerAddressesToAdd", FT_UINT32, BASE_DEC, NULL, 0, "GTPTLAs", HFILL }}, { &hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List_item, { "Transport-UP-Layer-Addresses-Info-To-Remove-Item", "x2ap.Transport_UP_Layer_Addresses_Info_To_Remove_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_gTPTransportLayerAddressesToRemove, { "gTPTransportLayerAddressesToRemove", "x2ap.gTPTransportLayerAddressesToRemove", FT_UINT32, BASE_DEC, NULL, 0, "GTPTLAs", HFILL }}, { &hf_x2ap_transport_UP_Layer_Addresses_Info_To_Add_List, { "transport-UP-Layer-Addresses-Info-To-Add-List", "x2ap.transport_UP_Layer_Addresses_Info_To_Add_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_transport_UP_Layer_Addresses_Info_To_Remove_List, { "transport-UP-Layer-Addresses-Info-To-Remove-List", "x2ap.transport_UP_Layer_Addresses_Info_To_Remove_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_eUTRANTraceID, { "eUTRANTraceID", "x2ap.eUTRANTraceID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_interfacesToTrace, { "interfacesToTrace", "x2ap.interfacesToTrace", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_traceDepth, { "traceDepth", "x2ap.traceDepth", FT_UINT32, BASE_DEC, VALS(x2ap_TraceDepth_vals), 0, NULL, HFILL }}, { &hf_x2ap_traceCollectionEntityIPAddress, { "traceCollectionEntityIPAddress", "x2ap.traceCollectionEntityIPAddress", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_portnumber, { "portnumber", "x2ap.portnumber", FT_UINT16, BASE_DEC, NULL, 0, "Port_Number", HFILL }}, { &hf_x2ap_uDP_Port_Number, { "uDP-Port-Number", "x2ap.uDP_Port_Number", FT_UINT16, BASE_DEC, NULL, 0, "Port_Number", HFILL }}, { &hf_x2ap_uEaggregateMaximumBitRateDownlink, { "uEaggregateMaximumBitRateDownlink", "x2ap.uEaggregateMaximumBitRateDownlink", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, { &hf_x2ap_uEaggregateMaximumBitRateUplink, { "uEaggregateMaximumBitRateUplink", "x2ap.uEaggregateMaximumBitRateUplink", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, { &hf_x2ap_containerForAppLayerMeasConfig, { "containerForAppLayerMeasConfig", "x2ap.containerForAppLayerMeasConfig", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_1_1000", HFILL }}, { &hf_x2ap_areaScopeOfQMC, { "areaScopeOfQMC", "x2ap.areaScopeOfQMC", FT_UINT32, BASE_DEC, VALS(x2ap_AreaScopeOfQMC_vals), 0, NULL, HFILL }}, { &hf_x2ap_UE_HistoryInformation_item, { "LastVisitedCell-Item", "x2ap.LastVisitedCell_Item", FT_UINT32, BASE_DEC, VALS(x2ap_LastVisitedCell_Item_vals), 0, NULL, HFILL }}, { &hf_x2ap_encryptionAlgorithms, { "encryptionAlgorithms", "x2ap.encryptionAlgorithms", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_integrityProtectionAlgorithms, { "integrityProtectionAlgorithms", "x2ap.integrityProtectionAlgorithms", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_UEsToBeResetList_item, { "UEsToBeResetList-Item", "x2ap.UEsToBeResetList_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_meNB_ID, { "meNB-ID", "x2ap.meNB_ID", FT_UINT32, BASE_DEC, NULL, 0, "UE_X2AP_ID", HFILL }}, { &hf_x2ap_meNB_ID_ext, { "meNB-ID-ext", "x2ap.meNB_ID_ext", FT_UINT32, BASE_DEC, NULL, 0, "UE_X2AP_ID_Extension", HFILL }}, { &hf_x2ap_sgNB_ID, { "sgNB-ID", "x2ap.sgNB_ID", FT_UINT32, BASE_DEC, NULL, 0, "SgNB_UE_X2AP_ID", HFILL }}, { &hf_x2ap_uLResourcesULandDLSharing, { "uLResourcesULandDLSharing", "x2ap.uLResourcesULandDLSharing", FT_UINT32, BASE_DEC, VALS(x2ap_ULResourcesULandDLSharing_vals), 0, NULL, HFILL }}, { &hf_x2ap_dLResourcesULandDLSharing, { "dLResourcesULandDLSharing", "x2ap.dLResourcesULandDLSharing", FT_UINT32, BASE_DEC, VALS(x2ap_DLResourcesULandDLSharing_vals), 0, NULL, HFILL }}, { &hf_x2ap_uL_PDCP, { "uL-PDCP", "x2ap.uL_PDCP", FT_UINT32, BASE_DEC, VALS(x2ap_UL_UE_Configuration_vals), 0, "UL_UE_Configuration", HFILL }}, { &hf_x2ap_UL_HighInterferenceIndicationInfo_item, { "UL-HighInterferenceIndicationInfo-Item", "x2ap.UL_HighInterferenceIndicationInfo_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_target_Cell_ID, { "target-Cell-ID", "x2ap.target_Cell_ID_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_ul_interferenceindication, { "ul-interferenceindication", "x2ap.ul_interferenceindication", FT_BYTES, BASE_NONE, NULL, 0, "UL_HighInterferenceIndication", HFILL }}, { &hf_x2ap_UL_InterferenceOverloadIndication_item, { "UL-InterferenceOverloadIndication-Item", "x2ap.UL_InterferenceOverloadIndication_Item", FT_UINT32, BASE_DEC, VALS(x2ap_UL_InterferenceOverloadIndication_Item_vals), 0, NULL, HFILL }}, { &hf_x2ap_uLResourceBitmapULOnlySharing, { "uLResourceBitmapULOnlySharing", "x2ap.uLResourceBitmapULOnlySharing", FT_BYTES, BASE_NONE, NULL, 0, "DataTrafficResources", HFILL }}, { &hf_x2ap_changed_01, { "changed", "x2ap.changed", FT_BYTES, BASE_NONE, NULL, 0, "ULResourceBitmapULandDLSharing", HFILL }}, { &hf_x2ap_fdd_03, { "fdd", "x2ap.fdd_element", FT_NONE, BASE_NONE, NULL, 0, "UsableABSInformationFDD", HFILL }}, { &hf_x2ap_tdd_03, { "tdd", "x2ap.tdd_element", FT_NONE, BASE_NONE, NULL, 0, "UsableABSInformationTDD", HFILL }}, { &hf_x2ap_usable_abs_pattern_info, { "usable-abs-pattern-info", "x2ap.usable_abs_pattern_info", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_40", HFILL }}, { &hf_x2ap_usaable_abs_pattern_info, { "usaable-abs-pattern-info", "x2ap.usaable_abs_pattern_info", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1_70_", HFILL }}, { &hf_x2ap_widebandCQICodeword0, { "widebandCQICodeword0", "x2ap.widebandCQICodeword0", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15_", HFILL }}, { &hf_x2ap_widebandCQICodeword1, { "widebandCQICodeword1", "x2ap.widebandCQICodeword1", FT_UINT32, BASE_DEC, VALS(x2ap_WidebandCQICodeword1_vals), 0, NULL, HFILL }}, { &hf_x2ap_wlanMeasConfig, { "wlanMeasConfig", "x2ap.wlanMeasConfig", FT_UINT32, BASE_DEC, VALS(x2ap_WLANMeasConfig_vals), 0, NULL, HFILL }}, { &hf_x2ap_wlanMeasConfigNameList, { "wlanMeasConfigNameList", "x2ap.wlanMeasConfigNameList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_wlan_rssi, { "wlan-rssi", "x2ap.wlan_rssi", FT_UINT32, BASE_DEC, VALS(x2ap_T_wlan_rssi_vals), 0, NULL, HFILL }}, { &hf_x2ap_wlan_rtt, { "wlan-rtt", "x2ap.wlan_rtt", FT_UINT32, BASE_DEC, VALS(x2ap_T_wlan_rtt_vals), 0, NULL, HFILL }}, { &hf_x2ap_WLANMeasConfigNameList_item, { "WLANName", "x2ap.WLANName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_wTID_Type1, { "wTID-Type1", "x2ap.wTID_Type1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_wTID_Type2, { "wTID-Type2", "x2ap.wTID_Type2", FT_BYTES, BASE_NONE, NULL, 0, "WTID_Long_Type2", HFILL }}, { &hf_x2ap_shortWTID, { "shortWTID", "x2ap.shortWTID", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_24", HFILL }}, { &hf_x2ap_protocolIEs, { "protocolIEs", "x2ap.protocolIEs", FT_UINT32, BASE_DEC, NULL, 0, "ProtocolIE_Container", HFILL }}, { &hf_x2ap_mME_UE_S1AP_ID, { "mME-UE-S1AP-ID", "x2ap.mME_UE_S1AP_ID", FT_UINT32, BASE_DEC, NULL, 0, "UE_S1AP_ID", HFILL }}, { &hf_x2ap_uESecurityCapabilities, { "uESecurityCapabilities", "x2ap.uESecurityCapabilities_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_aS_SecurityInformation, { "aS-SecurityInformation", "x2ap.aS_SecurityInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uEaggregateMaximumBitRate, { "uEaggregateMaximumBitRate", "x2ap.uEaggregateMaximumBitRate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_subscriberProfileIDforRFP, { "subscriberProfileIDforRFP", "x2ap.subscriberProfileIDforRFP", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_e_RABs_ToBeSetup_List, { "e-RABs-ToBeSetup-List", "x2ap.e_RABs_ToBeSetup_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_rRC_Context, { "rRC-Context", "x2ap.rRC_Context", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_handoverRestrictionList, { "handoverRestrictionList", "x2ap.handoverRestrictionList_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_locationReportingInformation, { "locationReportingInformation", "x2ap.locationReportingInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeSetup_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_e_RAB_Level_QoS_Parameters, { "e-RAB-Level-QoS-Parameters", "x2ap.e_RAB_Level_QoS_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dL_Forwarding, { "dL-Forwarding", "x2ap.dL_Forwarding", FT_UINT32, BASE_DEC, VALS(x2ap_DL_Forwarding_vals), 0, NULL, HFILL }}, { &hf_x2ap_source_GlobalSeNB_ID, { "source-GlobalSeNB-ID", "x2ap.source_GlobalSeNB_ID_element", FT_NONE, BASE_NONE, NULL, 0, "GlobalENB_ID", HFILL }}, { &hf_x2ap_seNB_UE_X2AP_ID, { "seNB-UE-X2AP-ID", "x2ap.seNB_UE_X2AP_ID", FT_UINT32, BASE_DEC, NULL, 0, "UE_X2AP_ID", HFILL }}, { &hf_x2ap_seNB_UE_X2AP_ID_Extension, { "seNB-UE-X2AP-ID-Extension", "x2ap.seNB_UE_X2AP_ID_Extension", FT_UINT32, BASE_DEC, NULL, 0, "UE_X2AP_ID_Extension", HFILL }}, { &hf_x2ap_wTID, { "wTID", "x2ap.wTID", FT_UINT32, BASE_DEC, VALS(x2ap_WTID_vals), 0, NULL, HFILL }}, { &hf_x2ap_wT_UE_XwAP_ID, { "wT-UE-XwAP-ID", "x2ap.wT_UE_XwAP_ID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_source_GlobalSgNB_ID, { "source-GlobalSgNB-ID", "x2ap.source_GlobalSgNB_ID_element", FT_NONE, BASE_NONE, NULL, 0, "GlobalGNB_ID", HFILL }}, { &hf_x2ap_sgNB_UE_X2AP_ID, { "sgNB-UE-X2AP-ID", "x2ap.sgNB_UE_X2AP_ID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_Admitted_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uL_GTP_TunnelEndpoint, { "uL-GTP-TunnelEndpoint", "x2ap.uL_GTP_TunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_dL_GTP_TunnelEndpoint, { "dL-GTP-TunnelEndpoint", "x2ap.dL_GTP_TunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_first_dl_count, { "first-dl-count", "x2ap.first_dl_count_element", FT_NONE, BASE_NONE, NULL, 0, "FirstDLCount", HFILL }}, { &hf_x2ap_dl_discarding, { "dl-discarding", "x2ap.dl_discarding_element", FT_NONE, BASE_NONE, NULL, 0, "DLDiscarding", HFILL }}, { &hf_x2ap_e_RABsSubjectToEarlyStatusTransfer, { "e-RABsSubjectToEarlyStatusTransfer", "x2ap.e_RABsSubjectToEarlyStatusTransfer", FT_UINT32, BASE_DEC, NULL, 0, "E_RABsSubjectToEarlyStatusTransfer_List", HFILL }}, { &hf_x2ap_e_RABsSubjectToDLDiscarding_List, { "e-RABsSubjectToDLDiscarding-List", "x2ap.e_RABsSubjectToDLDiscarding_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_receiveStatusofULPDCPSDUs, { "receiveStatusofULPDCPSDUs", "x2ap.receiveStatusofULPDCPSDUs", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uL_COUNTvalue, { "uL-COUNTvalue", "x2ap.uL_COUNTvalue_element", FT_NONE, BASE_NONE, NULL, 0, "COUNTvalue", HFILL }}, { &hf_x2ap_dL_COUNTvalue, { "dL-COUNTvalue", "x2ap.dL_COUNTvalue_element", FT_NONE, BASE_NONE, NULL, 0, "COUNTvalue", HFILL }}, { &hf_x2ap_CellInformation_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cell_ID, { "cell-ID", "x2ap.cell_ID_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_ul_InterferenceOverloadIndication, { "ul-InterferenceOverloadIndication", "x2ap.ul_InterferenceOverloadIndication", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ul_HighInterferenceIndicationInfo, { "ul-HighInterferenceIndicationInfo", "x2ap.ul_HighInterferenceIndicationInfo", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_relativeNarrowbandTxPower, { "relativeNarrowbandTxPower", "x2ap.relativeNarrowbandTxPower_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedCellsToModify_item, { "ServedCellsToModify-Item", "x2ap.ServedCellsToModify_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_old_ecgi, { "old-ecgi", "x2ap.old_ecgi_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_Old_ECGIs_item, { "ECGI", "x2ap.ECGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellToReport_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MeasurementInitiationResult_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_measurementFailureCause_List, { "measurementFailureCause-List", "x2ap.measurementFailureCause_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_MeasurementFailureCause_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_measurementFailedReportCharacteristics, { "measurementFailedReportCharacteristics", "x2ap.measurementFailedReportCharacteristics", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CompleteFailureCauseInformation_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellMeasurementResult_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_hWLoadIndicator, { "hWLoadIndicator", "x2ap.hWLoadIndicator_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_s1TNLLoadIndicator, { "s1TNLLoadIndicator", "x2ap.s1TNLLoadIndicator_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_radioResourceStatus, { "radioResourceStatus", "x2ap.radioResourceStatus_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_privateIEs, { "privateIEs", "x2ap.privateIEs", FT_UINT32, BASE_DEC, NULL, 0, "PrivateIE_Container", HFILL }}, { &hf_x2ap_ServedCellsToActivate_item, { "ServedCellsToActivate-Item", "x2ap.ServedCellsToActivate_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ecgi, { "ecgi", "x2ap.ecgi_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ActivatedCellList_item, { "ActivatedCellList-Item", "x2ap.ActivatedCellList_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_source_GlobalENB_ID, { "source-GlobalENB-ID", "x2ap.source_GlobalENB_ID_element", FT_NONE, BASE_NONE, NULL, 0, "GlobalENB_ID", HFILL }}, { &hf_x2ap_target_GlobalENB_ID, { "target-GlobalENB-ID", "x2ap.target_GlobalENB_ID_element", FT_NONE, BASE_NONE, NULL, 0, "GlobalENB_ID", HFILL }}, { &hf_x2ap_E_RABs_ToBeAdded_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sCG_Bearer, { "sCG-Bearer", "x2ap.sCG_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeAdded_Item_SCG_Bearer", HFILL }}, { &hf_x2ap_split_Bearer, { "split-Bearer", "x2ap.split_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeAdded_Item_Split_Bearer", HFILL }}, { &hf_x2ap_s1_UL_GTPtunnelEndpoint, { "s1-UL-GTPtunnelEndpoint", "x2ap.s1_UL_GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_meNB_GTPtunnelEndpoint, { "meNB-GTPtunnelEndpoint", "x2ap.meNB_GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sCG_Bearer_01, { "sCG-Bearer", "x2ap.sCG_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer", HFILL }}, { &hf_x2ap_split_Bearer_01, { "split-Bearer", "x2ap.split_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeAdded_Item_Split_Bearer", HFILL }}, { &hf_x2ap_s1_DL_GTPtunnelEndpoint, { "s1-DL-GTPtunnelEndpoint", "x2ap.s1_DL_GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, { "dL-Forwarding-GTPtunnelEndpoint", "x2ap.dL_Forwarding_GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_uL_Forwarding_GTPtunnelEndpoint, { "uL-Forwarding-GTPtunnelEndpoint", "x2ap.uL_Forwarding_GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_seNB_GTPtunnelEndpoint, { "seNB-GTPtunnelEndpoint", "x2ap.seNB_GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_success, { "success", "x2ap.success_element", FT_NONE, BASE_NONE, NULL, 0, "ResponseInformationSeNBReconfComp_SuccessItem", HFILL }}, { &hf_x2ap_reject_by_MeNB, { "reject-by-MeNB", "x2ap.reject_by_MeNB_element", FT_NONE, BASE_NONE, NULL, 0, "ResponseInformationSeNBReconfComp_RejectByMeNBItem", HFILL }}, { &hf_x2ap_meNBtoSeNBContainer, { "meNBtoSeNBContainer", "x2ap.meNBtoSeNBContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uE_SecurityCapabilities, { "uE-SecurityCapabilities", "x2ap.uE_SecurityCapabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UESecurityCapabilities", HFILL }}, { &hf_x2ap_seNB_SecurityKey, { "seNB-SecurityKey", "x2ap.seNB_SecurityKey", FT_BYTES, BASE_NONE, NULL, 0, "SeNBSecurityKey", HFILL }}, { &hf_x2ap_seNBUEAggregateMaximumBitRate, { "seNBUEAggregateMaximumBitRate", "x2ap.seNBUEAggregateMaximumBitRate_element", FT_NONE, BASE_NONE, NULL, 0, "UEAggregateMaximumBitRate", HFILL }}, { &hf_x2ap_e_RABs_ToBeAdded, { "e-RABs-ToBeAdded", "x2ap.e_RABs_ToBeAdded", FT_UINT32, BASE_DEC, NULL, 0, "E_RABs_ToBeAdded_List_ModReq", HFILL }}, { &hf_x2ap_e_RABs_ToBeModified, { "e-RABs-ToBeModified", "x2ap.e_RABs_ToBeModified", FT_UINT32, BASE_DEC, NULL, 0, "E_RABs_ToBeModified_List_ModReq", HFILL }}, { &hf_x2ap_e_RABs_ToBeReleased, { "e-RABs-ToBeReleased", "x2ap.e_RABs_ToBeReleased", FT_UINT32, BASE_DEC, NULL, 0, "E_RABs_ToBeReleased_List_ModReq", HFILL }}, { &hf_x2ap_E_RABs_ToBeAdded_List_ModReq_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sCG_Bearer_02, { "sCG-Bearer", "x2ap.sCG_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeAdded_ModReqItem_SCG_Bearer", HFILL }}, { &hf_x2ap_split_Bearer_02, { "split-Bearer", "x2ap.split_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeAdded_ModReqItem_Split_Bearer", HFILL }}, { &hf_x2ap_E_RABs_ToBeModified_List_ModReq_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sCG_Bearer_03, { "sCG-Bearer", "x2ap.sCG_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeModified_ModReqItem_SCG_Bearer", HFILL }}, { &hf_x2ap_split_Bearer_03, { "split-Bearer", "x2ap.split_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeModified_ModReqItem_Split_Bearer", HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_List_ModReq_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sCG_Bearer_04, { "sCG-Bearer", "x2ap.sCG_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_ModReqItem_SCG_Bearer", HFILL }}, { &hf_x2ap_split_Bearer_04, { "split-Bearer", "x2ap.split_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_ModReqItem_Split_Bearer", HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sCG_Bearer_05, { "sCG-Bearer", "x2ap.sCG_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer", HFILL }}, { &hf_x2ap_split_Bearer_05, { "split-Bearer", "x2ap.split_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer", HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeModified_ModAckList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sCG_Bearer_06, { "sCG-Bearer", "x2ap.sCG_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer", HFILL }}, { &hf_x2ap_split_Bearer_06, { "split-Bearer", "x2ap.split_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer", HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sCG_Bearer_07, { "sCG-Bearer", "x2ap.sCG_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer", HFILL }}, { &hf_x2ap_split_Bearer_07, { "split-Bearer", "x2ap.split_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer", HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_ModReqd_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_List_RelReq_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sCG_Bearer_08, { "sCG-Bearer", "x2ap.sCG_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_RelReqItem_SCG_Bearer", HFILL }}, { &hf_x2ap_split_Bearer_08, { "split-Bearer", "x2ap.split_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_RelReqItem_Split_Bearer", HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_List_RelConf_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_sCG_Bearer_09, { "sCG-Bearer", "x2ap.sCG_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_RelConfItem_SCG_Bearer", HFILL }}, { &hf_x2ap_split_Bearer_09, { "split-Bearer", "x2ap.split_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_RelConfItem_Split_Bearer", HFILL }}, { &hf_x2ap_E_RABs_SubjectToCounterCheck_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_uL_Count, { "uL-Count", "x2ap.uL_Count", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_x2ap_dL_Count, { "dL-Count", "x2ap.dL_Count", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_x2ap_e_RABs_ToBeSetup_ListRetrieve, { "e-RABs-ToBeSetup-ListRetrieve", "x2ap.e_RABs_ToBeSetup_ListRetrieve", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_managBasedMDTallowed, { "managBasedMDTallowed", "x2ap.managBasedMDTallowed", FT_UINT32, BASE_DEC, VALS(x2ap_ManagementBasedMDTallowed_vals), 0, "ManagementBasedMDTallowed", HFILL }}, { &hf_x2ap_managBasedMDTPLMNList, { "managBasedMDTPLMNList", "x2ap.managBasedMDTPLMNList", FT_UINT32, BASE_DEC, NULL, 0, "MDTPLMNList", HFILL }}, { &hf_x2ap_E_RABs_ToBeSetup_ListRetrieve_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_bearerType, { "bearerType", "x2ap.bearerType", FT_UINT32, BASE_DEC, VALS(x2ap_BearerType_vals), 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_drb_ID, { "drb-ID", "x2ap.drb_ID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_en_DC_ResourceConfiguration, { "en-DC-ResourceConfiguration", "x2ap.en_DC_ResourceConfiguration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_vals), 0, NULL, HFILL }}, { &hf_x2ap_sgNBPDCPpresent, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_full_E_RAB_Level_QoS_Parameters, { "full-E-RAB-Level-QoS-Parameters", "x2ap.full_E_RAB_Level_QoS_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, "E_RAB_Level_QoS_Parameters", HFILL }}, { &hf_x2ap_max_MCG_admit_E_RAB_Level_QoS_Parameters, { "max-MCG-admit-E-RAB-Level-QoS-Parameters", "x2ap.max_MCG_admit_E_RAB_Level_QoS_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, "GBR_QosInformation", HFILL }}, { &hf_x2ap_meNB_DL_GTP_TEIDatMCG, { "meNB-DL-GTP-TEIDatMCG", "x2ap.meNB_DL_GTP_TEIDatMCG_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_requested_SCG_E_RAB_Level_QoS_Parameters, { "requested-SCG-E-RAB-Level-QoS-Parameters", "x2ap.requested_SCG_E_RAB_Level_QoS_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, "E_RAB_Level_QoS_Parameters", HFILL }}, { &hf_x2ap_meNB_UL_GTP_TEIDatPDCP, { "meNB-UL-GTP-TEIDatPDCP", "x2ap.meNB_UL_GTP_TEIDatPDCP_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_secondary_meNB_UL_GTP_TEIDatPDCP, { "secondary-meNB-UL-GTP-TEIDatPDCP", "x2ap.secondary_meNB_UL_GTP_TEIDatPDCP_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_rlc_Mode, { "rlc-Mode", "x2ap.rlc_Mode", FT_UINT32, BASE_DEC, VALS(x2ap_RLCMode_vals), 0, "RLCMode", HFILL }}, { &hf_x2ap_uL_Configuration, { "uL-Configuration", "x2ap.uL_Configuration_element", FT_NONE, BASE_NONE, NULL, 0, "ULConfiguration", HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_01, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_01_vals), 0, "T_resource_configuration_01", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_01, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_01, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_sgNB_UL_GTP_TEIDatPDCP, { "sgNB-UL-GTP-TEIDatPDCP", "x2ap.sgNB_UL_GTP_TEIDatPDCP_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_mCG_E_RAB_Level_QoS_Parameters, { "mCG-E-RAB-Level-QoS-Parameters", "x2ap.mCG_E_RAB_Level_QoS_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, "E_RAB_Level_QoS_Parameters", HFILL }}, { &hf_x2ap_sgNB_DL_GTP_TEIDatSCG, { "sgNB-DL-GTP-TEIDatSCG", "x2ap.sgNB_DL_GTP_TEIDatSCG_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_secondary_sgNB_DL_GTP_TEIDatSCG, { "secondary-sgNB-DL-GTP-TEIDatSCG", "x2ap.secondary_sgNB_DL_GTP_TEIDatSCG_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_success_SgNBReconfComp, { "success-SgNBReconfComp", "x2ap.success_SgNBReconfComp_element", FT_NONE, BASE_NONE, NULL, 0, "ResponseInformationSgNBReconfComp_SuccessItem", HFILL }}, { &hf_x2ap_reject_by_MeNB_SgNBReconfComp, { "reject-by-MeNB-SgNBReconfComp", "x2ap.reject_by_MeNB_SgNBReconfComp_element", FT_NONE, BASE_NONE, NULL, 0, "ResponseInformationSgNBReconfComp_RejectByMeNBItem", HFILL }}, { &hf_x2ap_meNBtoSgNBContainer, { "meNBtoSgNBContainer", "x2ap.meNBtoSgNBContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nRUE_SecurityCapabilities, { "nRUE-SecurityCapabilities", "x2ap.nRUE_SecurityCapabilities_element", FT_NONE, BASE_NONE, NULL, 0, "NRUESecurityCapabilities", HFILL }}, { &hf_x2ap_sgNB_SecurityKey, { "sgNB-SecurityKey", "x2ap.sgNB_SecurityKey", FT_BYTES, BASE_NONE, NULL, 0, "SgNBSecurityKey", HFILL }}, { &hf_x2ap_sgNBUEAggregateMaximumBitRate, { "sgNBUEAggregateMaximumBitRate", "x2ap.sgNBUEAggregateMaximumBitRate_element", FT_NONE, BASE_NONE, NULL, 0, "UEAggregateMaximumBitRate", HFILL }}, { &hf_x2ap_e_RABs_ToBeAdded_01, { "e-RABs-ToBeAdded", "x2ap.e_RABs_ToBeAdded", FT_UINT32, BASE_DEC, NULL, 0, "E_RABs_ToBeAdded_SgNBModReq_List", HFILL }}, { &hf_x2ap_e_RABs_ToBeModified_01, { "e-RABs-ToBeModified", "x2ap.e_RABs_ToBeModified", FT_UINT32, BASE_DEC, NULL, 0, "E_RABs_ToBeModified_SgNBModReq_List", HFILL }}, { &hf_x2ap_e_RABs_ToBeReleased_01, { "e-RABs-ToBeReleased", "x2ap.e_RABs_ToBeReleased", FT_UINT32, BASE_DEC, NULL, 0, "E_RABs_ToBeReleased_SgNBModReq_List", HFILL }}, { &hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_02, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_02_vals), 0, "T_resource_configuration_02", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_02, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_02, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_max_MN_admit_E_RAB_Level_QoS_Parameters, { "max-MN-admit-E-RAB-Level-QoS-Parameters", "x2ap.max_MN_admit_E_RAB_Level_QoS_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, "GBR_QosInformation", HFILL }}, { &hf_x2ap_E_RABs_ToBeModified_SgNBModReq_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_03, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_03_vals), 0, "T_resource_configuration_03", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_03, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_03, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_04, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_04_vals), 0, "T_resource_configuration_04", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_04, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_04, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_05, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_05_vals), 0, "T_resource_configuration_05", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_05, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_05, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_06, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_06_vals), 0, "T_resource_configuration_06", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_06, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_06, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_07, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_07_vals), 0, "T_resource_configuration_07", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_07, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_07, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_08, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_08_vals), 0, "T_resource_configuration_08", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_08, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_08, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_requested_MCG_E_RAB_Level_QoS_Parameters, { "requested-MCG-E-RAB-Level-QoS-Parameters", "x2ap.requested_MCG_E_RAB_Level_QoS_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, "E_RAB_Level_QoS_Parameters", HFILL }}, { &hf_x2ap_s1_DL_GTP_TEIDatSgNB, { "s1-DL-GTP-TEIDatSgNB", "x2ap.s1_DL_GTP_TEIDatSgNB_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_09, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_09_vals), 0, "T_resource_configuration_09", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_09, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_09, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_10, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_10_vals), 0, "T_resource_configuration_10", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_10, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_10, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_rlc_Mode_transferred, { "rlc-Mode-transferred", "x2ap.rlc_Mode_transferred", FT_UINT32, BASE_DEC, VALS(x2ap_RLCMode_vals), 0, "RLCMode", HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_11, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_11_vals), 0, "T_resource_configuration_11", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_11, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_11, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_resource_configuration_12, { "resource-configuration", "x2ap.resource_configuration", FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_12_vals), 0, "T_resource_configuration_12", HFILL }}, { &hf_x2ap_sgNBPDCPpresent_12, { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent", HFILL }}, { &hf_x2ap_sgNBPDCPnotpresent_12, { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", FT_NONE, BASE_NONE, NULL, 0, "E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent", HFILL }}, { &hf_x2ap_init_eNB, { "init-eNB", "x2ap.init_eNB", FT_UINT32, BASE_DEC, NULL, 0, "ProtocolIE_Container", HFILL }}, { &hf_x2ap_init_en_gNB, { "init-en-gNB", "x2ap.init_en_gNB", FT_UINT32, BASE_DEC, NULL, 0, "ProtocolIE_Container", HFILL }}, { &hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_item, { "ServedEUTRAcellsENDCX2ManagementList item", "x2ap.ServedEUTRAcellsENDCX2ManagementList_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_servedEUTRACellInfo, { "servedEUTRACellInfo", "x2ap.servedEUTRACellInfo_element", FT_NONE, BASE_NONE, NULL, 0, "ServedCell_Information", HFILL }}, { &hf_x2ap_nrNeighbourInfo, { "nrNeighbourInfo", "x2ap.nrNeighbourInfo", FT_UINT32, BASE_DEC, NULL, 0, "NRNeighbour_Information", HFILL }}, { &hf_x2ap_ServedNRcellsENDCX2ManagementList_item, { "ServedNRcellsENDCX2ManagementList item", "x2ap.ServedNRcellsENDCX2ManagementList_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_servedNRCellInfo, { "servedNRCellInfo", "x2ap.servedNRCellInfo_element", FT_NONE, BASE_NONE, NULL, 0, "ServedNRCell_Information", HFILL }}, { &hf_x2ap_nRNeighbourInfo, { "nRNeighbourInfo", "x2ap.nRNeighbourInfo", FT_UINT32, BASE_DEC, NULL, 0, "NRNeighbour_Information", HFILL }}, { &hf_x2ap_nrModeInfo, { "nrModeInfo", "x2ap.nrModeInfo", FT_UINT32, BASE_DEC, VALS(x2ap_T_nrModeInfo_vals), 0, NULL, HFILL }}, { &hf_x2ap_fdd_04, { "fdd", "x2ap.fdd_element", FT_NONE, BASE_NONE, NULL, 0, "FDD_InfoServedNRCell_Information", HFILL }}, { &hf_x2ap_tdd_04, { "tdd", "x2ap.tdd_element", FT_NONE, BASE_NONE, NULL, 0, "TDD_InfoServedNRCell_Information", HFILL }}, { &hf_x2ap_measurementTimingConfiguration_01, { "measurementTimingConfiguration", "x2ap.measurementTimingConfiguration", FT_BYTES, BASE_NONE, NULL, 0, "T_measurementTimingConfiguration_01", HFILL }}, { &hf_x2ap_ul_NR_TxBW, { "ul-NR-TxBW", "x2ap.ul_NR_TxBW_element", FT_NONE, BASE_NONE, NULL, 0, "NR_TxBW", HFILL }}, { &hf_x2ap_dl_NR_TxBW, { "dl-NR-TxBW", "x2ap.dl_NR_TxBW_element", FT_NONE, BASE_NONE, NULL, 0, "NR_TxBW", HFILL }}, { &hf_x2ap_nR_TxBW, { "nR-TxBW", "x2ap.nR_TxBW_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_cellAssistanceInformation, { "cellAssistanceInformation", "x2ap.cellAssistanceInformation", FT_UINT32, BASE_DEC, VALS(x2ap_CellAssistanceInformation_vals), 0, NULL, HFILL }}, { &hf_x2ap_limited_list, { "limited-list", "x2ap.limited_list", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_full_list, { "full-list", "x2ap.full_list", FT_UINT32, BASE_DEC, VALS(x2ap_T_full_list_vals), 0, NULL, HFILL }}, { &hf_x2ap_Limited_list_item, { "Limited-list item", "x2ap.Limited_list_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_respond_eNB, { "respond-eNB", "x2ap.respond_eNB", FT_UINT32, BASE_DEC, NULL, 0, "ProtocolIE_Container", HFILL }}, { &hf_x2ap_respond_en_gNB, { "respond-en-gNB", "x2ap.respond_en_gNB", FT_UINT32, BASE_DEC, NULL, 0, "ProtocolIE_Container", HFILL }}, { &hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item, { "ServedEUTRAcellsToModifyListENDCConfUpd item", "x2ap.ServedEUTRAcellsToModifyListENDCConfUpd_item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_old_ECGI, { "old-ECGI", "x2ap.old_ECGI_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_item, { "ECGI", "x2ap.ECGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_item, { "ServedNRCellsToModify-Item", "x2ap.ServedNRCellsToModify_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_old_nrcgi, { "old-nrcgi", "x2ap.old_nrcgi_element", FT_NONE, BASE_NONE, NULL, 0, "NRCGI", HFILL }}, { &hf_x2ap_servedNRCellInformation, { "servedNRCellInformation", "x2ap.servedNRCellInformation_element", FT_NONE, BASE_NONE, NULL, 0, "ServedNRCell_Information", HFILL }}, { &hf_x2ap_nrNeighbourInformation, { "nrNeighbourInformation", "x2ap.nrNeighbourInformation", FT_UINT32, BASE_DEC, NULL, 0, "NRNeighbour_Information", HFILL }}, { &hf_x2ap_nrDeactivationIndication, { "nrDeactivationIndication", "x2ap.nrDeactivationIndication", FT_UINT32, BASE_DEC, VALS(x2ap_DeactivationIndication_vals), 0, "DeactivationIndication", HFILL }}, { &hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_item, { "NRCGI", "x2ap.NRCGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ServedNRCellsToActivate_item, { "ServedNRCellsToActivate-Item", "x2ap.ServedNRCellsToActivate_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ActivatedNRCellList_item, { "ActivatedNRCellList-Item", "x2ap.ActivatedNRCellList_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellToReport_NR_ENDC_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nr_cell_ID, { "nr-cell-ID", "x2ap.nr_cell_ID_element", FT_NONE, BASE_NONE, NULL, 0, "NRCGI", HFILL }}, { &hf_x2ap_ssbToReport_List, { "ssbToReport-List", "x2ap.ssbToReport_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellToReport_E_UTRA_ENDC_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_e_utra_cell_ID, { "e-utra-cell-ID", "x2ap.e_utra_cell_ID_element", FT_NONE, BASE_NONE, NULL, 0, "ECGI", HFILL }}, { &hf_x2ap_SSBToReport_List_item, { "SSBToReport-Item", "x2ap.SSBToReport_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_CellMeasurementResult_NR_ENDC_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nr_radioResourceStatus, { "nr-radioResourceStatus", "x2ap.nr_radioResourceStatus_element", FT_NONE, BASE_NONE, NULL, 0, "NRRadioResourceStatus", HFILL }}, { &hf_x2ap_tnlCapacityIndicator, { "tnlCapacityIndicator", "x2ap.tnlCapacityIndicator_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_nr_compositeAvailableCapacityGroup, { "nr-compositeAvailableCapacityGroup", "x2ap.nr_compositeAvailableCapacityGroup_element", FT_NONE, BASE_NONE, NULL, 0, "NRCompositeAvailableCapacityGroup", HFILL }}, { &hf_x2ap_numberofActiveUEs, { "numberofActiveUEs", "x2ap.numberofActiveUEs", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16777215_", HFILL }}, { &hf_x2ap_CellMeasurementResult_E_UTRA_ENDC_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_compositeAvailableCapacityGroup, { "compositeAvailableCapacityGroup", "x2ap.compositeAvailableCapacityGroup_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_initiate_eNB, { "initiate-eNB", "x2ap.initiate_eNB", FT_UINT32, BASE_DEC, NULL, 0, "ProtocolIE_Container", HFILL }}, { &hf_x2ap_initiate_en_gNB, { "initiate-en-gNB", "x2ap.initiate_en_gNB", FT_UINT32, BASE_DEC, NULL, 0, "ProtocolIE_Container", HFILL }}, { &hf_x2ap_ListofEUTRACellsinEUTRACoordinationReq_item, { "ECGI", "x2ap.ECGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ListofEUTRACellsinNRCoordinationReq_item, { "ECGI", "x2ap.ECGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ListofNRCellsinNRCoordinationReq_item, { "NRCGI", "x2ap.NRCGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ListofEUTRACellsinEUTRACoordinationResp_item, { "ECGI", "x2ap.ECGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_ListofNRCellsinNRCoordinationResp_item, { "NRCGI", "x2ap.NRCGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_E_RABs_DataForwardingAddress_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_dl_GTPtunnelEndpoint, { "dl-GTPtunnelEndpoint", "x2ap.dl_GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, { &hf_x2ap_initiatingMessage, { "initiatingMessage", "x2ap.initiatingMessage_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_successfulOutcome, { "successfulOutcome", "x2ap.successfulOutcome_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_unsuccessfulOutcome, { "unsuccessfulOutcome", "x2ap.unsuccessfulOutcome_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x2ap_initiatingMessage_value, { "value", "x2ap.value_element", FT_NONE, BASE_NONE, NULL, 0, "InitiatingMessage_value", HFILL }}, { &hf_x2ap_successfulOutcome_value, { "value", "x2ap.value_element", FT_NONE, BASE_NONE, NULL, 0, "SuccessfulOutcome_value", HFILL }}, { &hf_x2ap_value, { "value", "x2ap.value_element", FT_NONE, BASE_NONE, NULL, 0, "UnsuccessfulOutcome_value", HFILL }}, }; /* List of subtrees */ static gint *ett[] = { &ett_x2ap, &ett_x2ap_TransportLayerAddress, &ett_x2ap_PLMN_Identity, &ett_x2ap_TargeteNBtoSource_eNBTransparentContainer, &ett_x2ap_RRC_Context, &ett_x2ap_UE_HistoryInformationFromTheUE, &ett_x2ap_ReportCharacteristics, &ett_x2ap_measurementFailedReportCharacteristics, &ett_x2ap_UE_RLF_Report_Container, &ett_x2ap_UE_RLF_Report_Container_for_extended_bands, &ett_x2ap_MeNBtoSeNBContainer, &ett_x2ap_SeNBtoMeNBContainer, &ett_x2ap_EUTRANTraceID, &ett_x2ap_InterfacesToTrace, &ett_x2ap_TraceCollectionEntityIPAddress, &ett_x2ap_EncryptionAlgorithms, &ett_x2ap_IntegrityProtectionAlgorithms, &ett_x2ap_MeasurementsToActivate, &ett_x2ap_MDT_Location_Info, &ett_x2ap_transmissionModes, &ett_x2ap_X2AP_Message, &ett_x2ap_MeNBtoSgNBContainer, &ett_x2ap_SgNBtoMeNBContainer, &ett_x2ap_RRCContainer, &ett_x2ap_NRencryptionAlgorithms, &ett_x2ap_NRintegrityProtectionAlgorithms, &ett_x2ap_measurementTimingConfiguration, &ett_x2ap_LastVisitedNGRANCellInformation, &ett_x2ap_LastVisitedUTRANCellInformation, &ett_x2ap_EndcSONConfigurationTransfer, &ett_x2ap_EPCHandoverRestrictionListContainer, &ett_x2ap_NBIoT_RLF_Report_Container, &ett_x2ap_anchorCarrier_NPRACHConfig, &ett_x2ap_anchorCarrier_EDT_NPRACHConfig, &ett_x2ap_anchorCarrier_Format2_NPRACHConfig, &ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig, &ett_x2ap_non_anchorCarrier_NPRACHConfig, &ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig, &ett_x2ap_anchorCarrier_NPRACHConfigTDD, &ett_x2ap_non_anchorCarrier_NPRACHConfigTDD, &ett_x2ap_Non_anchorCarrierFrequency, &ett_x2ap_ReportCharacteristics_ENDC, &ett_x2ap_TargetCellInNGRAN, &ett_x2ap_TDDULDLConfigurationCommonNR, &ett_x2ap_MDT_ConfigurationNR, &ett_x2ap_NRCellPRACHConfig, &ett_x2ap_IntendedTDD_DL_ULConfiguration_NR, &ett_x2ap_UERadioCapability, &ett_x2ap_LastVisitedPSCell_Item, &ett_x2ap_NRRACHReportContainer, &ett_x2ap_rAT_RestrictionInformation, &ett_x2ap_PrivateIE_ID, &ett_x2ap_ProtocolIE_Container, &ett_x2ap_ProtocolIE_Field, &ett_x2ap_ProtocolExtensionContainer, &ett_x2ap_ProtocolExtensionField, &ett_x2ap_PrivateIE_Container, &ett_x2ap_PrivateIE_Field, &ett_x2ap_ABSInformation, &ett_x2ap_ABSInformationFDD, &ett_x2ap_ABSInformationTDD, &ett_x2ap_ABS_Status, &ett_x2ap_Additional_Measurement_Timing_Configuration_List, &ett_x2ap_Additional_Measurement_Timing_Configuration_Item, &ett_x2ap_CSI_RS_MTC_Configuration_List, &ett_x2ap_CSI_RS_MTC_Configuration_Item, &ett_x2ap_CSI_RS_Neighbour_List, &ett_x2ap_CSI_RS_Neighbour_Item, &ett_x2ap_CSI_RS_MTC_Neighbour_List, &ett_x2ap_CSI_RS_MTC_Neighbour_Item, &ett_x2ap_AdditionalListofForwardingGTPTunnelEndpoint, &ett_x2ap_AdditionalListofForwardingGTPTunnelEndpoint_Item, &ett_x2ap_AdditionalSpecialSubframe_Info, &ett_x2ap_AdditionalSpecialSubframeExtension_Info, &ett_x2ap_AllocationAndRetentionPriority, &ett_x2ap_AreaScopeOfMDT, &ett_x2ap_AreaScopeOfQMC, &ett_x2ap_AS_SecurityInformation, &ett_x2ap_AdditionalPLMNs_Item, &ett_x2ap_BroadcastPLMNs_Item, &ett_x2ap_BluetoothMeasurementConfiguration, &ett_x2ap_BluetoothMeasConfigNameList, &ett_x2ap_BPLMN_ID_Info_EUTRA, &ett_x2ap_BPLMN_ID_Info_EUTRA_Item, &ett_x2ap_BPLMN_ID_Info_NR, &ett_x2ap_BPLMN_ID_Info_NR_Item, &ett_x2ap_BroadcastextPLMNs, &ett_x2ap_Cause, &ett_x2ap_CellBasedMDT, &ett_x2ap_CellBasedQMC, &ett_x2ap_CellIdListforMDT, &ett_x2ap_CellIdListforQMC, &ett_x2ap_CellReplacingInfo, &ett_x2ap_CellType, &ett_x2ap_CPACcandidatePSCells_list, &ett_x2ap_CPACcandidatePSCells_item, &ett_x2ap_CPAinformation_REQ, &ett_x2ap_CPAinformation_REQ_ACK, &ett_x2ap_CPCinformation_REQD, &ett_x2ap_CPC_target_SgNB_reqd_list, &ett_x2ap_CPC_target_SgNB_reqd_item, &ett_x2ap_CPCinformation_CONF, &ett_x2ap_CPC_target_SgNB_conf_list, &ett_x2ap_CPC_target_SgNB_conf_item, &ett_x2ap_CPCinformation_NOTIFY, &ett_x2ap_CPAinformation_MOD, &ett_x2ap_CPCupdate_MOD, &ett_x2ap_CPC_target_SgNB_mod_list, &ett_x2ap_CPC_target_SgNB_mod_item, &ett_x2ap_CPAinformation_MOD_ACK, &ett_x2ap_CPACinformation_REQD, &ett_x2ap_CNTypeRestrictions, &ett_x2ap_CNTypeRestrictionsItem, &ett_x2ap_CoMPHypothesisSet, &ett_x2ap_CoMPHypothesisSetItem, &ett_x2ap_CoMPInformation, &ett_x2ap_CoMPInformationItem, &ett_x2ap_CoMPInformationItem_item, &ett_x2ap_CoMPInformationStartTime, &ett_x2ap_CoMPInformationStartTime_item, &ett_x2ap_CompositeAvailableCapacity, &ett_x2ap_CompositeAvailableCapacityGroup, &ett_x2ap_COUNTvalue, &ett_x2ap_COUNTValueExtended, &ett_x2ap_COUNTvaluePDCP_SNlength18, &ett_x2ap_CoverageModificationList, &ett_x2ap_CoverageModification_Item, &ett_x2ap_CPTransportLayerInformation, &ett_x2ap_CriticalityDiagnostics, &ett_x2ap_CriticalityDiagnostics_IE_List, &ett_x2ap_CriticalityDiagnostics_IE_List_item, &ett_x2ap_CSIReportList, &ett_x2ap_CSIReportList_item, &ett_x2ap_CSIReportPerCSIProcess, &ett_x2ap_CSIReportPerCSIProcess_item, &ett_x2ap_CSIReportPerCSIProcessItem, &ett_x2ap_CSIReportPerCSIProcessItem_item, &ett_x2ap_CHOinformation_REQ, &ett_x2ap_CHOinformation_ACK, &ett_x2ap_CandidateCellsToBeCancelledList, &ett_x2ap_CHOinformation_AddReq, &ett_x2ap_CHOinformation_ModReq, &ett_x2ap_DataTrafficResourceIndication, &ett_x2ap_DAPSRequestInfo, &ett_x2ap_DAPSResponseInfo, &ett_x2ap_DeliveryStatus, &ett_x2ap_DLResourcesULandDLSharing, &ett_x2ap_DynamicDLTransmissionInformation, &ett_x2ap_DynamicNAICSInformation, &ett_x2ap_SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values, &ett_x2ap_ECGI, &ett_x2ap_EnhancedRNTP, &ett_x2ap_EnhancedRNTPStartTime, &ett_x2ap_ENB_ID, &ett_x2ap_EN_DC_ResourceConfiguration, &ett_x2ap_EPLMNs, &ett_x2ap_ERABActivityNotifyItemList, &ett_x2ap_ERABActivityNotifyItem, &ett_x2ap_E_RAB_Level_QoS_Parameters, &ett_x2ap_E_RAB_List, &ett_x2ap_E_RAB_Item, &ett_x2ap_E_RABsSubjectToEarlyStatusTransfer_List, &ett_x2ap_E_RABsSubjectToEarlyStatusTransfer_Item, &ett_x2ap_E_RABsSubjectToDLDiscarding_List, &ett_x2ap_E_RABsSubjectToDLDiscarding_Item, &ett_x2ap_E_RABUsageReportList, &ett_x2ap_E_RABUsageReport_Item, &ett_x2ap_EUTRA_Mode_Info, &ett_x2ap_ExpectedUEBehaviour, &ett_x2ap_ExpectedUEActivityBehaviour, &ett_x2ap_ExtendedULInterferenceOverloadInfo, &ett_x2ap_FastMCGRecovery, &ett_x2ap_FDD_Info, &ett_x2ap_FDD_InfoNeighbourServedNRCell_Information, &ett_x2ap_ForbiddenTAs, &ett_x2ap_ForbiddenTAs_Item, &ett_x2ap_ForbiddenTACs, &ett_x2ap_ForbiddenLAs, &ett_x2ap_ForbiddenLAs_Item, &ett_x2ap_ForbiddenLACs, &ett_x2ap_FreqBandNrItem, &ett_x2ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem, &ett_x2ap_GBR_QosInformation, &ett_x2ap_GlobalENB_ID, &ett_x2ap_GlobalGNB_ID, &ett_x2ap_Global_RAN_NODE_ID, &ett_x2ap_GTPTLAs, &ett_x2ap_GTPTLA_Item, &ett_x2ap_GTPtunnelEndpoint, &ett_x2ap_GUGroupIDList, &ett_x2ap_GU_Group_ID, &ett_x2ap_GUMMEI, &ett_x2ap_GNB_ID, &ett_x2ap_HandoverRestrictionList, &ett_x2ap_HWLoadIndicator, &ett_x2ap_LastVisitedCell_Item, &ett_x2ap_LastVisitedEUTRANCellInformation, &ett_x2ap_LastVisitedGERANCellInformation, &ett_x2ap_LocationInformationSgNB, &ett_x2ap_LocationReportingInformation, &ett_x2ap_M1PeriodicReporting, &ett_x2ap_M1ThresholdEventA2, &ett_x2ap_M3Configuration, &ett_x2ap_M4Configuration, &ett_x2ap_M5Configuration, &ett_x2ap_M6Configuration, &ett_x2ap_M7Configuration, &ett_x2ap_MDT_Configuration, &ett_x2ap_MDTPLMNList, &ett_x2ap_MeasurementThresholdA2, &ett_x2ap_MeNBResourceCoordinationInformation, &ett_x2ap_MBMS_Service_Area_Identity_List, &ett_x2ap_MBSFN_Subframe_Infolist, &ett_x2ap_MBSFN_Subframe_Info, &ett_x2ap_MobilityParametersModificationRange, &ett_x2ap_MobilityParametersInformation, &ett_x2ap_MultibandInfoList, &ett_x2ap_MessageOversizeNotification, &ett_x2ap_BandInfo, &ett_x2ap_SplitSRB, &ett_x2ap_Neighbour_Information, &ett_x2ap_Neighbour_Information_item, &ett_x2ap_NRCapacityValue, &ett_x2ap_NRCarrierList, &ett_x2ap_NRCarrierItem, &ett_x2ap_NRCompositeAvailableCapacityGroup, &ett_x2ap_NRCompositeAvailableCapacity, &ett_x2ap_NRFreqInfo, &ett_x2ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem, &ett_x2ap_NRCGI, &ett_x2ap_NRRACHReportInformation, &ett_x2ap_NRRACHReportList_Item, &ett_x2ap_NRNeighbour_Information, &ett_x2ap_NRNeighbour_Information_item, &ett_x2ap_T_nRNeighbourModeInfo, &ett_x2ap_NPRACHConfiguration, &ett_x2ap_T_fdd_or_tdd, &ett_x2ap_NPRACHConfiguration_FDD, &ett_x2ap_NPRACHConfiguration_TDD, &ett_x2ap_Non_AnchorCarrierFrequencylist, &ett_x2ap_Non_AnchorCarrierFrequencylist_item, &ett_x2ap_MeasurementResultforNRCellsPossiblyAggregated, &ett_x2ap_MeasurementResultforNRCellsPossiblyAggregated_Item, &ett_x2ap_NRRadioResourceStatus, &ett_x2ap_MIMOPRBusageInformation, &ett_x2ap_NR_TxBW, &ett_x2ap_NRUeReport, &ett_x2ap_NRUESidelinkAggregateMaximumBitRate, &ett_x2ap_NRUESecurityCapabilities, &ett_x2ap_NRV2XServicesAuthorized, &ett_x2ap_PC5QoSParameters, &ett_x2ap_PC5QoSFlowList, &ett_x2ap_PC5QoSFlowItem, &ett_x2ap_PC5FlowBitRates, &ett_x2ap_PRACH_Configuration, &ett_x2ap_PLMNAreaBasedQMC, &ett_x2ap_PLMNListforQMC, &ett_x2ap_ProSeAuthorized, &ett_x2ap_ProtectedEUTRAResourceIndication, &ett_x2ap_ProtectedFootprintTimePattern, &ett_x2ap_ProtectedResourceList, &ett_x2ap_ProtectedResourceList_Item, &ett_x2ap_PSCell_UE_HistoryInformation, &ett_x2ap_QoS_Mapping_Information, &ett_x2ap_RadioResourceStatus, &ett_x2ap_RAT_Restrictions, &ett_x2ap_RAT_RestrictionsItem, &ett_x2ap_RelativeNarrowbandTxPower, &ett_x2ap_ReplacingCellsList, &ett_x2ap_ReplacingCellsList_Item, &ett_x2ap_ReservedSubframePattern, &ett_x2ap_ResumeID, &ett_x2ap_RLC_Status, &ett_x2ap_RSRPMeasurementResult, &ett_x2ap_RSRPMeasurementResult_item, &ett_x2ap_RSRPMRList, &ett_x2ap_RSRPMRList_item, &ett_x2ap_S1TNLLoadIndicator, &ett_x2ap_SCG_UE_HistoryInformation, &ett_x2ap_SecondaryRATUsageReportList, &ett_x2ap_SecondaryRATUsageReport_Item, &ett_x2ap_SecurityIndication, &ett_x2ap_SecurityResult, &ett_x2ap_SensorMeasurementConfiguration, &ett_x2ap_SensorMeasConfigNameList, &ett_x2ap_SensorMeasConfigNameItem, &ett_x2ap_SensorNameConfig, &ett_x2ap_ServedCells, &ett_x2ap_ServedCells_item, &ett_x2ap_ServedCell_Information, &ett_x2ap_ServedCellSpecificInfoReq_NR, &ett_x2ap_ServedCellSpecificInfoReq_NR_Item, &ett_x2ap_SgNBResourceCoordinationInformation, &ett_x2ap_SharedResourceType, &ett_x2ap_SpecialSubframe_Info, &ett_x2ap_SubbandCQI, &ett_x2ap_Subscription_Based_UE_DifferentiationInfo, &ett_x2ap_ScheduledCommunicationTime, &ett_x2ap_SSBAreaCapacityValue_List, &ett_x2ap_SSBAreaCapacityValue_Item, &ett_x2ap_SSBAreaRadioResourceStatus_List, &ett_x2ap_SSBAreaRadioResourceStatus_Item, &ett_x2ap_SSB_PositionsInBurst, &ett_x2ap_SubbandCQICodeword0, &ett_x2ap_SubbandCQICodeword1, &ett_x2ap_SubbandCQIList, &ett_x2ap_SubbandCQIItem, &ett_x2ap_SubframeAllocation, &ett_x2ap_SULInformation, &ett_x2ap_SupportedSULFreqBandItem, &ett_x2ap_SFN_Offset, &ett_x2ap_TABasedMDT, &ett_x2ap_TAIBasedMDT, &ett_x2ap_TAIListforMDT, &ett_x2ap_TAI_Item, &ett_x2ap_TAListforMDT, &ett_x2ap_TABasedQMC, &ett_x2ap_TAListforQMC, &ett_x2ap_TAIBasedQMC, &ett_x2ap_TAIListforQMC, &ett_x2ap_TDD_Info, &ett_x2ap_TDD_InfoNeighbourServedNRCell_Information, &ett_x2ap_TNLA_To_Add_List, &ett_x2ap_TNLA_To_Add_Item, &ett_x2ap_TNLA_To_Update_List, &ett_x2ap_TNLA_To_Update_Item, &ett_x2ap_TNLA_To_Remove_List, &ett_x2ap_TNLA_To_Remove_Item, &ett_x2ap_TNLA_Setup_List, &ett_x2ap_TNLA_Setup_Item, &ett_x2ap_TNLA_Failed_To_Setup_List, &ett_x2ap_TNLA_Failed_To_Setup_Item, &ett_x2ap_TNLCapacityIndicator, &ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List, &ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_Item, &ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List, &ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_Item, &ett_x2ap_TNLConfigurationInfo, &ett_x2ap_TraceActivation, &ett_x2ap_TransportLayerAddressAndPort, &ett_x2ap_TunnelInformation, &ett_x2ap_UEAggregateMaximumBitRate, &ett_x2ap_UEAppLayerMeasConfig, &ett_x2ap_UE_HistoryInformation, &ett_x2ap_UESecurityCapabilities, &ett_x2ap_UESidelinkAggregateMaximumBitRate, &ett_x2ap_UEsToBeResetList, &ett_x2ap_UEsToBeResetList_Item, &ett_x2ap_ULandDLSharing, &ett_x2ap_ULConfiguration, &ett_x2ap_UL_HighInterferenceIndicationInfo, &ett_x2ap_UL_HighInterferenceIndicationInfo_Item, &ett_x2ap_UL_InterferenceOverloadIndication, &ett_x2ap_ULOnlySharing, &ett_x2ap_ULResourcesULandDLSharing, &ett_x2ap_UsableABSInformation, &ett_x2ap_UsableABSInformationFDD, &ett_x2ap_UsableABSInformationTDD, &ett_x2ap_V2XServicesAuthorized, &ett_x2ap_WidebandCQI, &ett_x2ap_WidebandCQICodeword1, &ett_x2ap_WLANMeasurementConfiguration, &ett_x2ap_WLANMeasConfigNameList, &ett_x2ap_WTID, &ett_x2ap_WTID_Type1, &ett_x2ap_HandoverRequest, &ett_x2ap_UE_ContextInformation, &ett_x2ap_E_RABs_ToBeSetup_List, &ett_x2ap_E_RABs_ToBeSetup_Item, &ett_x2ap_UE_ContextReferenceAtSeNB, &ett_x2ap_UE_ContextReferenceAtWT, &ett_x2ap_UE_ContextReferenceAtSgNB, &ett_x2ap_HandoverRequestAcknowledge, &ett_x2ap_E_RABs_Admitted_List, &ett_x2ap_E_RABs_Admitted_Item, &ett_x2ap_HandoverPreparationFailure, &ett_x2ap_HandoverReport, &ett_x2ap_EarlyStatusTransfer, &ett_x2ap_ProcedureStageChoice, &ett_x2ap_FirstDLCount, &ett_x2ap_DLDiscarding, &ett_x2ap_SNStatusTransfer, &ett_x2ap_E_RABs_SubjectToStatusTransfer_List, &ett_x2ap_E_RABs_SubjectToStatusTransfer_Item, &ett_x2ap_UEContextRelease, &ett_x2ap_HandoverCancel, &ett_x2ap_HandoverSuccess, &ett_x2ap_ConditionalHandoverCancel, &ett_x2ap_ErrorIndication, &ett_x2ap_ResetRequest, &ett_x2ap_ResetResponse, &ett_x2ap_X2SetupRequest, &ett_x2ap_X2SetupResponse, &ett_x2ap_X2SetupFailure, &ett_x2ap_LoadInformation, &ett_x2ap_CellInformation_List, &ett_x2ap_CellInformation_Item, &ett_x2ap_ENBConfigurationUpdate, &ett_x2ap_ServedCellsToModify, &ett_x2ap_ServedCellsToModify_Item, &ett_x2ap_Old_ECGIs, &ett_x2ap_ENBConfigurationUpdateAcknowledge, &ett_x2ap_ENBConfigurationUpdateFailure, &ett_x2ap_ResourceStatusRequest, &ett_x2ap_CellToReport_List, &ett_x2ap_CellToReport_Item, &ett_x2ap_ResourceStatusResponse, &ett_x2ap_MeasurementInitiationResult_List, &ett_x2ap_MeasurementInitiationResult_Item, &ett_x2ap_MeasurementFailureCause_List, &ett_x2ap_MeasurementFailureCause_Item, &ett_x2ap_ResourceStatusFailure, &ett_x2ap_CompleteFailureCauseInformation_List, &ett_x2ap_CompleteFailureCauseInformation_Item, &ett_x2ap_ResourceStatusUpdate, &ett_x2ap_CellMeasurementResult_List, &ett_x2ap_CellMeasurementResult_Item, &ett_x2ap_PrivateMessage, &ett_x2ap_MobilityChangeRequest, &ett_x2ap_MobilityChangeAcknowledge, &ett_x2ap_MobilityChangeFailure, &ett_x2ap_RLFIndication, &ett_x2ap_CellActivationRequest, &ett_x2ap_ServedCellsToActivate, &ett_x2ap_ServedCellsToActivate_Item, &ett_x2ap_CellActivationResponse, &ett_x2ap_ActivatedCellList, &ett_x2ap_ActivatedCellList_Item, &ett_x2ap_CellActivationFailure, &ett_x2ap_X2Release, &ett_x2ap_X2APMessageTransfer, &ett_x2ap_RNL_Header, &ett_x2ap_SeNBAdditionRequest, &ett_x2ap_E_RABs_ToBeAdded_List, &ett_x2ap_E_RABs_ToBeAdded_Item, &ett_x2ap_E_RABs_ToBeAdded_Item_SCG_Bearer, &ett_x2ap_E_RABs_ToBeAdded_Item_Split_Bearer, &ett_x2ap_SeNBAdditionRequestAcknowledge, &ett_x2ap_E_RABs_Admitted_ToBeAdded_List, &ett_x2ap_E_RABs_Admitted_ToBeAdded_Item, &ett_x2ap_E_RABs_Admitted_ToBeAdded_Item_SCG_Bearer, &ett_x2ap_E_RABs_Admitted_ToBeAdded_Item_Split_Bearer, &ett_x2ap_SeNBAdditionRequestReject, &ett_x2ap_SeNBReconfigurationComplete, &ett_x2ap_ResponseInformationSeNBReconfComp, &ett_x2ap_ResponseInformationSeNBReconfComp_SuccessItem, &ett_x2ap_ResponseInformationSeNBReconfComp_RejectByMeNBItem, &ett_x2ap_SeNBModificationRequest, &ett_x2ap_UE_ContextInformationSeNBModReq, &ett_x2ap_E_RABs_ToBeAdded_List_ModReq, &ett_x2ap_E_RABs_ToBeAdded_ModReqItem, &ett_x2ap_E_RABs_ToBeAdded_ModReqItem_SCG_Bearer, &ett_x2ap_E_RABs_ToBeAdded_ModReqItem_Split_Bearer, &ett_x2ap_E_RABs_ToBeModified_List_ModReq, &ett_x2ap_E_RABs_ToBeModified_ModReqItem, &ett_x2ap_E_RABs_ToBeModified_ModReqItem_SCG_Bearer, &ett_x2ap_E_RABs_ToBeModified_ModReqItem_Split_Bearer, &ett_x2ap_E_RABs_ToBeReleased_List_ModReq, &ett_x2ap_E_RABs_ToBeReleased_ModReqItem, &ett_x2ap_E_RABs_ToBeReleased_ModReqItem_SCG_Bearer, &ett_x2ap_E_RABs_ToBeReleased_ModReqItem_Split_Bearer, &ett_x2ap_SeNBModificationRequestAcknowledge, &ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckList, &ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem, &ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_SCG_Bearer, &ett_x2ap_E_RABs_Admitted_ToBeAdded_ModAckItem_Split_Bearer, &ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckList, &ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem, &ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_SCG_Bearer, &ett_x2ap_E_RABs_Admitted_ToBeModified_ModAckItem_Split_Bearer, &ett_x2ap_E_RABs_Admitted_ToBeReleased_ModAckList, &ett_x2ap_E_RABs_Admitted_ToReleased_ModAckItem, &ett_x2ap_E_RABs_Admitted_ToBeReleased_ModAckItem_SCG_Bearer, &ett_x2ap_E_RABs_Admitted_ToBeReleased_ModAckItem_Split_Bearer, &ett_x2ap_SeNBModificationRequestReject, &ett_x2ap_SeNBModificationRequired, &ett_x2ap_E_RABs_ToBeReleased_ModReqd, &ett_x2ap_E_RABs_ToBeReleased_ModReqdItem, &ett_x2ap_SeNBModificationConfirm, &ett_x2ap_SeNBModificationRefuse, &ett_x2ap_SeNBReleaseRequest, &ett_x2ap_E_RABs_ToBeReleased_List_RelReq, &ett_x2ap_E_RABs_ToBeReleased_RelReqItem, &ett_x2ap_E_RABs_ToBeReleased_RelReqItem_SCG_Bearer, &ett_x2ap_E_RABs_ToBeReleased_RelReqItem_Split_Bearer, &ett_x2ap_SeNBReleaseRequired, &ett_x2ap_SeNBReleaseConfirm, &ett_x2ap_E_RABs_ToBeReleased_List_RelConf, &ett_x2ap_E_RABs_ToBeReleased_RelConfItem, &ett_x2ap_E_RABs_ToBeReleased_RelConfItem_SCG_Bearer, &ett_x2ap_E_RABs_ToBeReleased_RelConfItem_Split_Bearer, &ett_x2ap_SeNBCounterCheckRequest, &ett_x2ap_E_RABs_SubjectToCounterCheck_List, &ett_x2ap_E_RABs_SubjectToCounterCheckItem, &ett_x2ap_X2RemovalRequest, &ett_x2ap_X2RemovalResponse, &ett_x2ap_X2RemovalFailure, &ett_x2ap_RetrieveUEContextRequest, &ett_x2ap_RetrieveUEContextResponse, &ett_x2ap_UE_ContextInformationRetrieve, &ett_x2ap_E_RABs_ToBeSetup_ListRetrieve, &ett_x2ap_E_RABs_ToBeSetupRetrieve_Item, &ett_x2ap_RetrieveUEContextFailure, &ett_x2ap_SgNBAdditionRequest, &ett_x2ap_E_RABs_ToBeAdded_SgNBAddReqList, &ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item, &ett_x2ap_T_resource_configuration, &ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent, &ett_x2ap_SgNBAdditionRequestAcknowledge, &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList, &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item, &ett_x2ap_T_resource_configuration_01, &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPnotpresent, &ett_x2ap_SgNBAdditionRequestReject, &ett_x2ap_SgNBReconfigurationComplete, &ett_x2ap_ResponseInformationSgNBReconfComp, &ett_x2ap_ResponseInformationSgNBReconfComp_SuccessItem, &ett_x2ap_ResponseInformationSgNBReconfComp_RejectByMeNBItem, &ett_x2ap_SgNBModificationRequest, &ett_x2ap_UE_ContextInformation_SgNBModReq, &ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_List, &ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item, &ett_x2ap_T_resource_configuration_02, &ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, &ett_x2ap_E_RABs_ToBeModified_SgNBModReq_List, &ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item, &ett_x2ap_T_resource_configuration_03, &ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent, &ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_List, &ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item, &ett_x2ap_T_resource_configuration_04, &ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent, &ett_x2ap_SgNBModificationRequestAcknowledge, &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList, &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, &ett_x2ap_T_resource_configuration_05, &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent, &ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList, &ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item, &ett_x2ap_T_resource_configuration_06, &ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent, &ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList, &ett_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item, &ett_x2ap_T_resource_configuration_07, &ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent, &ett_x2ap_SgNBModificationRequestReject, &ett_x2ap_SgNBModificationRequired, &ett_x2ap_E_RABs_ToBeReleased_SgNBModReqdList, &ett_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item, &ett_x2ap_E_RABs_ToBeModified_SgNBModReqdList, &ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item, &ett_x2ap_T_resource_configuration_08, &ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent, &ett_x2ap_SgNBModificationConfirm, &ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConfList, &ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item, &ett_x2ap_T_resource_configuration_09, &ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresent, &ett_x2ap_SgNBModificationRefuse, &ett_x2ap_SgNBReleaseRequest, &ett_x2ap_E_RABs_ToBeReleased_SgNBRelReqList, &ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item, &ett_x2ap_T_resource_configuration_10, &ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent, &ett_x2ap_SgNBReleaseRequestAcknowledge, &ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList, &ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item, &ett_x2ap_SgNBReleaseRequestReject, &ett_x2ap_SgNBReleaseRequired, &ett_x2ap_E_RABs_ToBeReleased_SgNBRelReqdList, &ett_x2ap_E_RABs_ToBeReleased_SgNBRelReqd_Item, &ett_x2ap_SgNBReleaseConfirm, &ett_x2ap_E_RABs_ToBeReleased_SgNBRelConfList, &ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item, &ett_x2ap_T_resource_configuration_11, &ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent, &ett_x2ap_SgNBCounterCheckRequest, &ett_x2ap_E_RABs_SubjectToSgNBCounterCheck_List, &ett_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item, &ett_x2ap_SgNBChangeRequired, &ett_x2ap_AccessAndMobilityIndication, &ett_x2ap_SgNBChangeConfirm, &ett_x2ap_E_RABs_ToBeReleased_SgNBChaConfList, &ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item, &ett_x2ap_T_resource_configuration_12, &ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent, &ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent, &ett_x2ap_RRCTransfer, &ett_x2ap_SgNBChangeRefuse, &ett_x2ap_ENDCX2SetupRequest, &ett_x2ap_InitiatingNodeType_EndcX2Setup, &ett_x2ap_ServedEUTRAcellsENDCX2ManagementList, &ett_x2ap_ServedEUTRAcellsENDCX2ManagementList_item, &ett_x2ap_ServedNRcellsENDCX2ManagementList, &ett_x2ap_ServedNRcellsENDCX2ManagementList_item, &ett_x2ap_ServedNRCell_Information, &ett_x2ap_T_nrModeInfo, &ett_x2ap_FDD_InfoServedNRCell_Information, &ett_x2ap_TDD_InfoServedNRCell_Information, &ett_x2ap_CellandCapacityAssistInfo, &ett_x2ap_CellAssistanceInformation, &ett_x2ap_Limited_list, &ett_x2ap_Limited_list_item, &ett_x2ap_ENDCX2SetupResponse, &ett_x2ap_RespondingNodeType_EndcX2Setup, &ett_x2ap_ENDCX2SetupFailure, &ett_x2ap_ENDCConfigurationUpdate, &ett_x2ap_InitiatingNodeType_EndcConfigUpdate, &ett_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd, &ett_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item, &ett_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd, &ett_x2ap_ServedNRcellsToModifyENDCConfUpdList, &ett_x2ap_ServedNRCellsToModify_Item, &ett_x2ap_ServedNRcellsToDeleteENDCConfUpdList, &ett_x2ap_ENDCConfigurationUpdateAcknowledge, &ett_x2ap_RespondingNodeType_EndcConfigUpdate, &ett_x2ap_ENDCConfigurationUpdateFailure, &ett_x2ap_ENDCCellActivationRequest, &ett_x2ap_ServedNRCellsToActivate, &ett_x2ap_ServedNRCellsToActivate_Item, &ett_x2ap_ENDCCellActivationResponse, &ett_x2ap_ActivatedNRCellList, &ett_x2ap_ActivatedNRCellList_Item, &ett_x2ap_ENDCCellActivationFailure, &ett_x2ap_ENDCResourceStatusRequest, &ett_x2ap_CellToReport_NR_ENDC_List, &ett_x2ap_CellToReport_NR_ENDC_Item, &ett_x2ap_CellToReport_E_UTRA_ENDC_List, &ett_x2ap_CellToReport_E_UTRA_ENDC_Item, &ett_x2ap_SSBToReport_List, &ett_x2ap_SSBToReport_Item, &ett_x2ap_ENDCResourceStatusResponse, &ett_x2ap_ENDCResourceStatusFailure, &ett_x2ap_ENDCResourceStatusUpdate, &ett_x2ap_CellMeasurementResult_NR_ENDC_List, &ett_x2ap_CellMeasurementResult_NR_ENDC_Item, &ett_x2ap_CellMeasurementResult_E_UTRA_ENDC_List, &ett_x2ap_CellMeasurementResult_E_UTRA_ENDC_Item, &ett_x2ap_SecondaryRATDataUsageReport, &ett_x2ap_SgNBActivityNotification, &ett_x2ap_ENDCPartialResetRequired, &ett_x2ap_ENDCPartialResetConfirm, &ett_x2ap_EUTRANRCellResourceCoordinationRequest, &ett_x2ap_InitiatingNodeType_EutranrCellResourceCoordination, &ett_x2ap_ListofEUTRACellsinEUTRACoordinationReq, &ett_x2ap_ListofEUTRACellsinNRCoordinationReq, &ett_x2ap_ListofNRCellsinNRCoordinationReq, &ett_x2ap_EUTRANRCellResourceCoordinationResponse, &ett_x2ap_RespondingNodeType_EutranrCellResourceCoordination, &ett_x2ap_ListofEUTRACellsinEUTRACoordinationResp, &ett_x2ap_ListofNRCellsinNRCoordinationResp, &ett_x2ap_ENDCX2RemovalRequest, &ett_x2ap_InitiatingNodeType_EndcX2Removal, &ett_x2ap_ENDCX2RemovalResponse, &ett_x2ap_RespondingNodeType_EndcX2Removal, &ett_x2ap_ENDCX2RemovalFailure, &ett_x2ap_DataForwardingAddressIndication, &ett_x2ap_E_RABs_DataForwardingAddress_List, &ett_x2ap_E_RABs_DataForwardingAddress_Item, &ett_x2ap_GNBStatusIndication, &ett_x2ap_ENDCConfigurationTransfer, &ett_x2ap_TraceStart, &ett_x2ap_DeactivateTrace, &ett_x2ap_CellTrafficTrace, &ett_x2ap_F1CTrafficTransfer, &ett_x2ap_UERadioCapabilityIDMappingRequest, &ett_x2ap_UERadioCapabilityIDMappingResponse, &ett_x2ap_CPC_cancel, &ett_x2ap_X2AP_PDU, &ett_x2ap_InitiatingMessage, &ett_x2ap_SuccessfulOutcome, &ett_x2ap_UnsuccessfulOutcome, }; module_t *x2ap_module; /* Register protocol */ proto_x2ap = proto_register_protocol(PNAME, PSNAME, PFNAME); /* Register fields and subtrees */ proto_register_field_array(proto_x2ap, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); /* Register dissector */ x2ap_handle = register_dissector("x2ap", dissect_x2ap, proto_x2ap); /* Register dissector tables */ x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", proto_x2ap, FT_UINT32, BASE_DEC); x2ap_extension_dissector_table = register_dissector_table("x2ap.extension", "X2AP-PROTOCOL-EXTENSION", proto_x2ap, FT_UINT32, BASE_DEC); x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_x2ap, FT_UINT32, BASE_DEC); x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_x2ap, FT_UINT32, BASE_DEC); x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_x2ap, FT_UINT32, BASE_DEC); /* Register configuration options */ x2ap_module = prefs_register_protocol(proto_x2ap, NULL); prefs_register_enum_preference(x2ap_module, "dissect_rrc_context_as", "Dissect RRC Context as", "Select whether RRC Context should be dissected as legacy LTE or NB-IOT", &g_x2ap_dissect_rrc_context_as, x2ap_rrc_context_vals, FALSE); } /*--- proto_reg_handoff_x2ap ---------------------------------------*/ void proto_reg_handoff_x2ap(void) { dissector_add_uint_with_preference("sctp.port", SCTP_PORT_X2AP, x2ap_handle); dissector_add_uint("sctp.ppi", X2AP_PAYLOAD_PROTOCOL_ID, x2ap_handle); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_Item, create_dissector_handle(dissect_E_RABs_Admitted_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_List, create_dissector_handle(dissect_E_RABs_Admitted_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RAB_Item, create_dissector_handle(dissect_E_RAB_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_NotAdmitted_List, create_dissector_handle(dissect_E_RAB_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeSetup_Item, create_dissector_handle(dissect_E_RABs_ToBeSetup_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Cause, create_dissector_handle(dissect_Cause_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellInformation, create_dissector_handle(dissect_CellInformation_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellInformation_Item, create_dissector_handle(dissect_CellInformation_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_New_eNB_UE_X2AP_ID, create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Old_eNB_UE_X2AP_ID, create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TargetCell_ID, create_dissector_handle(dissect_ECGI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TargeteNBtoSource_eNBTransparentContainer, create_dissector_handle(dissect_TargeteNBtoSource_eNBTransparentContainer_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TraceActivation, create_dissector_handle(dissect_TraceActivation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_ContextInformation, create_dissector_handle(dissect_UE_ContextInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_HistoryInformation, create_dissector_handle(dissect_UE_HistoryInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_X2AP_ID, create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CriticalityDiagnostics, create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToStatusTransfer_List, create_dissector_handle(dissect_E_RABs_SubjectToStatusTransfer_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToStatusTransfer_Item, create_dissector_handle(dissect_E_RABs_SubjectToStatusTransfer_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedCells, create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_GlobalENB_ID, create_dissector_handle(dissect_GlobalENB_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TimeToWait, create_dissector_handle(dissect_TimeToWait_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_GUMMEI_ID, create_dissector_handle(dissect_GUMMEI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_GUGroupIDList, create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedCellsToAdd, create_dissector_handle(dissect_ServedCells_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedCellsToModify, create_dissector_handle(dissect_ServedCellsToModify_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedCellsToDelete, create_dissector_handle(dissect_Old_ECGIs_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Registration_Request, create_dissector_handle(dissect_Registration_Request_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellToReport, create_dissector_handle(dissect_CellToReport_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ReportingPeriodicity, create_dissector_handle(dissect_ReportingPeriodicity_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellToReport_Item, create_dissector_handle(dissect_CellToReport_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellMeasurementResult, create_dissector_handle(dissect_CellMeasurementResult_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellMeasurementResult_Item, create_dissector_handle(dissect_CellMeasurementResult_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_GUGroupIDToAddList, create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_GUGroupIDToDeleteList, create_dissector_handle(dissect_GUGroupIDList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SRVCCOperationPossible, create_dissector_handle(dissect_SRVCCOperationPossible_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ReportCharacteristics, create_dissector_handle(dissect_ReportCharacteristics_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ENB1_Measurement_ID, create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ENB2_Measurement_ID, create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ENB1_Cell_ID, create_dissector_handle(dissect_ECGI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ENB2_Cell_ID, create_dissector_handle(dissect_ECGI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ENB2_Proposed_Mobility_Parameters, create_dissector_handle(dissect_MobilityParametersInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ENB1_Mobility_Parameters, create_dissector_handle(dissect_MobilityParametersInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ENB2_Mobility_Parameters_Modification_Range, create_dissector_handle(dissect_MobilityParametersModificationRange_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_FailureCellPCI, create_dissector_handle(dissect_PCI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Re_establishmentCellECGI, create_dissector_handle(dissect_ECGI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_FailureCellCRNTI, create_dissector_handle(dissect_CRNTI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ShortMAC_I, create_dissector_handle(dissect_ShortMAC_I_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SourceCellECGI, create_dissector_handle(dissect_ECGI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_FailureCellECGI, create_dissector_handle(dissect_ECGI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_HandoverReportType, create_dissector_handle(dissect_HandoverReportType_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_RLF_Report_Container, create_dissector_handle(dissect_UE_RLF_Report_Container_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedCellsToActivate, create_dissector_handle(dissect_ServedCellsToActivate_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ActivatedCellList, create_dissector_handle(dissect_ActivatedCellList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_PartialSuccessIndicator, create_dissector_handle(dissect_PartialSuccessIndicator_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MeasurementInitiationResult_List, create_dissector_handle(dissect_MeasurementInitiationResult_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MeasurementInitiationResult_Item, create_dissector_handle(dissect_MeasurementInitiationResult_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MeasurementFailureCause_Item, create_dissector_handle(dissect_MeasurementFailureCause_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CompleteFailureCauseInformation_List, create_dissector_handle(dissect_CompleteFailureCauseInformation_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CompleteFailureCauseInformation_Item, create_dissector_handle(dissect_CompleteFailureCauseInformation_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CSGMembershipStatus, create_dissector_handle(dissect_CSGMembershipStatus_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RRCConnSetupIndicator, create_dissector_handle(dissect_RRCConnSetupIndicator_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RRCConnReestabIndicator, create_dissector_handle(dissect_RRCConnReestabIndicator_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TargetCellInUTRAN, create_dissector_handle(dissect_TargetCellInUTRAN_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MobilityInformation, create_dissector_handle(dissect_MobilityInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SourceCellCRNTI, create_dissector_handle(dissect_CRNTI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Masked_IMEISV, create_dissector_handle(dissect_Masked_IMEISV_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RNL_Header, create_dissector_handle(dissect_RNL_Header_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_x2APMessage, create_dissector_handle(dissect_X2AP_Message_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ProSeAuthorized, create_dissector_handle(dissect_ProSeAuthorized_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ExpectedUEBehaviour, create_dissector_handle(dissect_ExpectedUEBehaviour_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_HistoryInformationFromTheUE, create_dissector_handle(dissect_UE_HistoryInformationFromTheUE_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_RLF_Report_Container_for_extended_bands, create_dissector_handle(dissect_UE_RLF_Report_Container_for_extended_bands_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ReportingPeriodicityRSRPMR, create_dissector_handle(dissect_ReportingPeriodicityRSRPMR_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MeNB_UE_X2AP_ID, create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SeNB_UE_X2AP_ID, create_dissector_handle(dissect_UE_X2AP_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_SecurityCapabilities, create_dissector_handle(dissect_UESecurityCapabilities_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SeNBSecurityKey, create_dissector_handle(dissect_SeNBSecurityKey_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SeNBUEAggregateMaximumBitRate, create_dissector_handle(dissect_UEAggregateMaximumBitRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServingPLMN, create_dissector_handle(dissect_PLMN_Identity_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeAdded_List, create_dissector_handle(dissect_E_RABs_ToBeAdded_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeAdded_Item, create_dissector_handle(dissect_E_RABs_ToBeAdded_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MeNBtoSeNBContainer, create_dissector_handle(dissect_MeNBtoSeNBContainer_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_List, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_Item, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SeNBtoMeNBContainer, create_dissector_handle(dissect_SeNBtoMeNBContainer_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ResponseInformationSeNBReconfComp, create_dissector_handle(dissect_ResponseInformationSeNBReconfComp_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_ContextInformationSeNBModReq, create_dissector_handle(dissect_UE_ContextInformationSeNBModReq_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeAdded_ModReqItem, create_dissector_handle(dissect_E_RABs_ToBeAdded_ModReqItem_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeModified_ModReqItem, create_dissector_handle(dissect_E_RABs_ToBeModified_ModReqItem_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_ModReqItem, create_dissector_handle(dissect_E_RABs_ToBeReleased_ModReqItem_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_ModAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_ModAckList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeModified_ModAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeModified_ModAckList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeReleased_ModAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeReleased_ModAckList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_ModAckItem, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_ModAckItem_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeModified_ModAckItem, create_dissector_handle(dissect_E_RABs_Admitted_ToBeModified_ModAckItem_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeReleased_ModAckItem, create_dissector_handle(dissect_E_RABs_Admitted_ToReleased_ModAckItem_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_ModReqd, create_dissector_handle(dissect_E_RABs_ToBeReleased_ModReqd_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_ModReqdItem, create_dissector_handle(dissect_E_RABs_ToBeReleased_ModReqdItem_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SCGChangeIndication, create_dissector_handle(dissect_SCGChangeIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_List_RelReq, create_dissector_handle(dissect_E_RABs_ToBeReleased_List_RelReq_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_RelReqItem, create_dissector_handle(dissect_E_RABs_ToBeReleased_RelReqItem_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_List_RelConf, create_dissector_handle(dissect_E_RABs_ToBeReleased_List_RelConf_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_RelConfItem, create_dissector_handle(dissect_E_RABs_ToBeReleased_RelConfItem_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToCounterCheck_List, create_dissector_handle(dissect_E_RABs_SubjectToCounterCheck_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToCounterCheckItem, create_dissector_handle(dissect_E_RABs_SubjectToCounterCheckItem_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CoverageModificationList, create_dissector_handle(dissect_CoverageModificationList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ReportingPeriodicityCSIR, create_dissector_handle(dissect_ReportingPeriodicityCSIR_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_ContextReferenceAtSeNB, create_dissector_handle(dissect_UE_ContextReferenceAtSeNB_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_ContextKeptIndicator, create_dissector_handle(dissect_UE_ContextKeptIndicator_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_New_eNB_UE_X2AP_ID_Extension, create_dissector_handle(dissect_UE_X2AP_ID_Extension_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Old_eNB_UE_X2AP_ID_Extension, create_dissector_handle(dissect_UE_X2AP_ID_Extension_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MeNB_UE_X2AP_ID_Extension, create_dissector_handle(dissect_UE_X2AP_ID_Extension_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SeNB_UE_X2AP_ID_Extension, create_dissector_handle(dissect_UE_X2AP_ID_Extension_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_LHN_ID, create_dissector_handle(dissect_LHN_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Tunnel_Information_for_BBF, create_dissector_handle(dissect_TunnelInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SIPTO_BearerDeactivationIndication, create_dissector_handle(dissect_SIPTOBearerDeactivationIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_GW_TransportLayerAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SIPTO_L_GW_TransportLayerAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_X2RemovalThreshold, create_dissector_handle(dissect_X2BenefitValue_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_resumeID, create_dissector_handle(dissect_ResumeID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_ContextInformationRetrieve, create_dissector_handle(dissect_UE_ContextInformationRetrieve_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeSetupRetrieve_Item, create_dissector_handle(dissect_E_RABs_ToBeSetupRetrieve_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_NewEUTRANCellIdentifier, create_dissector_handle(dissect_EUTRANCellIdentifier_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_V2XServicesAuthorized, create_dissector_handle(dissect_V2XServicesAuthorized_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_ContextReferenceAtWT, create_dissector_handle(dissect_UE_ContextReferenceAtWT_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_WT_UE_ContextKeptIndicator, create_dissector_handle(dissect_UE_ContextKeptIndicator_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MakeBeforeBreakIndicator, create_dissector_handle(dissect_MakeBeforeBreakIndicator_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SgNBSecurityKey, create_dissector_handle(dissect_SgNBSecurityKey_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SgNBUEAggregateMaximumBitRate, create_dissector_handle(dissect_UEAggregateMaximumBitRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeAdded_SgNBAddReqList, create_dissector_handle(dissect_E_RABs_ToBeAdded_SgNBAddReqList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MeNBtoSgNBContainer, create_dissector_handle(dissect_MeNBtoSgNBContainer_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SgNB_UE_X2AP_ID, create_dissector_handle(dissect_SgNB_UE_X2AP_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RequestedSplitSRBs, create_dissector_handle(dissect_SplitSRBs_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeAdded_SgNBAddReq_Item, create_dissector_handle(dissect_E_RABs_ToBeAdded_SgNBAddReq_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_SgNBAddReqAckList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SgNBtoMeNBContainer, create_dissector_handle(dissect_SgNBtoMeNBContainer_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_AdmittedSplitSRBs, create_dissector_handle(dissect_SplitSRBs_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ResponseInformationSgNBReconfComp, create_dissector_handle(dissect_ResponseInformationSgNBReconfComp_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_ContextInformation_SgNBModReq, create_dissector_handle(dissect_UE_ContextInformation_SgNBModReq_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeAdded_SgNBModReq_Item, create_dissector_handle(dissect_E_RABs_ToBeAdded_SgNBModReq_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeModified_SgNBModReq_Item, create_dissector_handle(dissect_E_RABs_ToBeModified_SgNBModReq_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBModReq_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBModReq_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_SgNBModAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_SgNBModAckList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeModified_SgNBModAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeModified_SgNBModAckList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeReleased_SgNBModAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeReleased_SgNBModAckList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeModified_SgNBModAck_Item, create_dissector_handle(dissect_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item, create_dissector_handle(dissect_E_RABs_Admitted_ToReleased_SgNBModAck_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBModReqdList, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBModReqdList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeModified_SgNBModReqdList, create_dissector_handle(dissect_E_RABs_ToBeModified_SgNBModReqdList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBModReqd_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBModReqd_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeModified_SgNBModReqd_Item, create_dissector_handle(dissect_E_RABs_ToBeModified_SgNBModReqd_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBChaConfList, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBChaConfList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBChaConf_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBChaConf_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBRelReqList, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBRelReqList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBRelReq_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBRelReq_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBRelConfList, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBRelConfList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBRelConf_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBRelConf_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToSgNBCounterCheck_List, create_dissector_handle(dissect_E_RABs_SubjectToSgNBCounterCheck_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToSgNBCounterCheck_Item, create_dissector_handle(dissect_E_RABs_SubjectToSgNBCounterCheck_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Target_SgNB_ID, create_dissector_handle(dissect_GlobalGNB_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_HandoverRestrictionList, create_dissector_handle(dissect_HandoverRestrictionList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SCGConfigurationQuery, create_dissector_handle(dissect_SCGConfigurationQuery_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SplitSRB, create_dissector_handle(dissect_SplitSRB_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_NRUeReport, create_dissector_handle(dissect_NRUeReport_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_InitiatingNodeType_EndcX2Setup, create_dissector_handle(dissect_InitiatingNodeType_EndcX2Setup_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_InitiatingNodeType_EndcConfigUpdate, create_dissector_handle(dissect_InitiatingNodeType_EndcConfigUpdate_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RespondingNodeType_EndcX2Setup, create_dissector_handle(dissect_RespondingNodeType_EndcX2Setup_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RespondingNodeType_EndcConfigUpdate, create_dissector_handle(dissect_RespondingNodeType_EndcConfigUpdate_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_NRUESecurityCapabilities, create_dissector_handle(dissect_NRUESecurityCapabilities_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_PDCPChangeIndication, create_dissector_handle(dissect_PDCPChangeIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedEUTRAcellsENDCX2ManagementList, create_dissector_handle(dissect_ServedEUTRAcellsENDCX2ManagementList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellAssistanceInformation, create_dissector_handle(dissect_CellAssistanceInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Globalen_gNB_ID, create_dissector_handle(dissect_GlobalGNB_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedNRcellsENDCX2ManagementList, create_dissector_handle(dissect_ServedNRcellsENDCX2ManagementList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UE_ContextReferenceAtSgNB, create_dissector_handle(dissect_UE_ContextReferenceAtSgNB_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ActivationID, create_dissector_handle(dissect_ActivationID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MeNBResourceCoordinationInformation, create_dissector_handle(dissect_x2ap_MeNBResourceCoordinationInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SgNBResourceCoordinationInformation, create_dissector_handle(dissect_x2ap_SgNBResourceCoordinationInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedEUTRAcellsToModifyListENDCConfUpd, create_dissector_handle(dissect_ServedEUTRAcellsToModifyListENDCConfUpd_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedEUTRAcellsToDeleteListENDCConfUpd, create_dissector_handle(dissect_ServedEUTRAcellsToDeleteListENDCConfUpd_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedNRcellsToModifyListENDCConfUpd, create_dissector_handle(dissect_ServedNRcellsToModifyENDCConfUpdList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedNRcellsToDeleteListENDCConfUpd, create_dissector_handle(dissect_ServedNRcellsToDeleteENDCConfUpdList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABUsageReport_Item, create_dissector_handle(dissect_E_RABUsageReport_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Old_SgNB_UE_X2AP_ID, create_dissector_handle(dissect_SgNB_UE_X2AP_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SecondaryRATUsageReportList, create_dissector_handle(dissect_SecondaryRATUsageReportList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SecondaryRATUsageReport_Item, create_dissector_handle(dissect_SecondaryRATUsageReport_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ServedNRCellsToActivate, create_dissector_handle(dissect_ServedNRCellsToActivate_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ActivatedNRCellList, create_dissector_handle(dissect_ActivatedNRCellList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SelectedPLMN, create_dissector_handle(dissect_PLMN_Identity_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UEs_ToBeReset, create_dissector_handle(dissect_UEsToBeResetList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UEs_Admitted_ToBeReset, create_dissector_handle(dissect_UEsToBeResetList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RRCConfigIndication, create_dissector_handle(dissect_RRC_Config_Ind_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SubscriberProfileIDforRFP, create_dissector_handle(dissect_SubscriberProfileIDforRFP_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_AerialUEsubscriptionInformation, create_dissector_handle(dissect_AerialUEsubscriptionInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SGNB_Addition_Trigger_Ind, create_dissector_handle(dissect_SGNB_Addition_Trigger_Ind_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MeNBCell_ID, create_dissector_handle(dissect_ECGI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RequestedSplitSRBsrelease, create_dissector_handle(dissect_SplitSRBs_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_AdmittedSplitSRBsrelease, create_dissector_handle(dissect_SplitSRBs_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_InitiatingNodeType_EutranrCellResourceCoordination, create_dissector_handle(dissect_InitiatingNodeType_EutranrCellResourceCoordination_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RespondingNodeType_EutranrCellResourceCoordination, create_dissector_handle(dissect_RespondingNodeType_EutranrCellResourceCoordination_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_DataTrafficResourceIndication, create_dissector_handle(dissect_DataTrafficResourceIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SpectrumSharingGroupID, create_dissector_handle(dissect_SpectrumSharingGroupID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ListofEUTRACellsinEUTRACoordinationReq, create_dissector_handle(dissect_ListofEUTRACellsinEUTRACoordinationReq_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ListofEUTRACellsinEUTRACoordinationResp, create_dissector_handle(dissect_ListofEUTRACellsinEUTRACoordinationResp_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ListofEUTRACellsinNRCoordinationReq, create_dissector_handle(dissect_ListofEUTRACellsinNRCoordinationReq_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ListofNRCellsinNRCoordinationReq, create_dissector_handle(dissect_ListofNRCellsinNRCoordinationReq_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ListofNRCellsinNRCoordinationResp, create_dissector_handle(dissect_ListofNRCellsinNRCoordinationResp_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_AdmittedToBeModified_SgNBModConfList, create_dissector_handle(dissect_E_RABs_AdmittedToBeModified_SgNBModConfList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_AdmittedToBeModified_SgNBModConf_Item, create_dissector_handle(dissect_E_RABs_AdmittedToBeModified_SgNBModConf_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UEContextLevelUserPlaneActivity, create_dissector_handle(dissect_UserPlaneTrafficActivityReport_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ERABActivityNotifyItemList, create_dissector_handle(dissect_ERABActivityNotifyItemList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_InitiatingNodeType_EndcX2Removal, create_dissector_handle(dissect_InitiatingNodeType_EndcX2Removal_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RespondingNodeType_EndcX2Removal, create_dissector_handle(dissect_RespondingNodeType_EndcX2Removal_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_DataForwardingAddress_List, create_dissector_handle(dissect_E_RABs_DataForwardingAddress_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_DataForwardingAddress_Item, create_dissector_handle(dissect_E_RABs_DataForwardingAddress_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_Subscription_Based_UE_DifferentiationInfo, create_dissector_handle(dissect_Subscription_Based_UE_DifferentiationInfo_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_GNBOverloadInformation, create_dissector_handle(dissect_GNBOverloadInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeReleased_SgNBRelReqAckList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item, create_dissector_handle(dissect_E_RABs_Admitted_ToBeReleased_SgNBRelReqAck_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBRelReqdList, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBRelReqdList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBRelReqd_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBRelReqd_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_endcSONConfigurationTransfer, create_dissector_handle(dissect_EndcSONConfigurationTransfer_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_DesiredActNotificationLevel, create_dissector_handle(dissect_DesiredActNotificationLevel_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_LocationInformationSgNBReporting, create_dissector_handle(dissect_LocationInformationSgNBReporting_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_LocationInformationSgNB, create_dissector_handle(dissect_LocationInformationSgNB_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_EUTRANTraceID, create_dissector_handle(dissect_EUTRANTraceID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_InterfaceInstanceIndication, create_dissector_handle(dissect_InterfaceInstanceIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ERABs_transferred_to_MeNB, create_dissector_handle(dissect_E_RAB_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_AdditionalRRMPriorityIndex, create_dissector_handle(dissect_AdditionalRRMPriorityIndex_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_FastMCGRecovery_SN_to_MN, create_dissector_handle(dissect_FastMCGRecovery_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RequestedFastMCGRecoveryViaSRB3, create_dissector_handle(dissect_RequestedFastMCGRecoveryViaSRB3_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_AvailableFastMCGRecoveryViaSRB3, create_dissector_handle(dissect_AvailableFastMCGRecoveryViaSRB3_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RequestedFastMCGRecoveryViaSRB3Release, create_dissector_handle(dissect_RequestedFastMCGRecoveryViaSRB3Release_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ReleaseFastMCGRecoveryViaSRB3, create_dissector_handle(dissect_ReleaseFastMCGRecoveryViaSRB3_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_FastMCGRecovery_MN_to_SN, create_dissector_handle(dissect_FastMCGRecovery_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_PartialListIndicator, create_dissector_handle(dissect_PartialListIndicator_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_MessageOversizeNotification, create_dissector_handle(dissect_MessageOversizeNotification_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellandCapacityAssistInfo, create_dissector_handle(dissect_CellandCapacityAssistInfo_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TNLConfigurationInfo, create_dissector_handle(dissect_TNLConfigurationInfo_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TNLA_To_Add_List, create_dissector_handle(dissect_TNLA_To_Add_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TNLA_To_Update_List, create_dissector_handle(dissect_TNLA_To_Update_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TNLA_To_Remove_List, create_dissector_handle(dissect_TNLA_To_Remove_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TNLA_Setup_List, create_dissector_handle(dissect_TNLA_Setup_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TNLA_Failed_To_Setup_List, create_dissector_handle(dissect_TNLA_Failed_To_Setup_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UEContextReferenceatSourceNGRAN, create_dissector_handle(dissect_RAN_UE_NGAP_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CHOinformation_REQ, create_dissector_handle(dissect_CHOinformation_REQ_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CHOinformation_ACK, create_dissector_handle(dissect_CHOinformation_ACK_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_RequestedTargetCellID, create_dissector_handle(dissect_ECGI_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CandidateCellsToBeCancelledList, create_dissector_handle(dissect_CandidateCellsToBeCancelledList_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ProcedureStage, create_dissector_handle(dissect_ProcedureStageChoice_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CHO_DC_Indicator, create_dissector_handle(dissect_CHO_DC_Indicator_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_NRV2XServicesAuthorized, create_dissector_handle(dissect_NRV2XServicesAuthorized_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_PC5QoSParameters, create_dissector_handle(dissect_PC5QoSParameters_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_NBIoT_RLF_Report_Container, create_dissector_handle(dissect_NBIoT_RLF_Report_Container_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_PrivacyIndicator, create_dissector_handle(dissect_PrivacyIndicator_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TraceCollectionEntityIPAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UERadioCapabilityID, create_dissector_handle(dissect_UERadioCapabilityID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SNtriggered, create_dissector_handle(dissect_SNtriggered_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_TargetCellInNGRAN, create_dissector_handle(dissect_TargetCellInNGRAN_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_UTRAN_Node1_Measurement_ID, create_dissector_handle(dissect_Measurement_ID_ENDC_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_E_UTRAN_Node2_Measurement_ID, create_dissector_handle(dissect_Measurement_ID_ENDC_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellToReport_NR_ENDC, create_dissector_handle(dissect_CellToReport_NR_ENDC_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellToReport_NR_ENDC_Item, create_dissector_handle(dissect_CellToReport_NR_ENDC_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellMeasurementResult_NR_ENDC, create_dissector_handle(dissect_CellMeasurementResult_NR_ENDC_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellMeasurementResult_NR_ENDC_Item, create_dissector_handle(dissect_CellMeasurementResult_NR_ENDC_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_IABNodeIndication, create_dissector_handle(dissect_IABNodeIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_F1CTrafficContainer, create_dissector_handle(dissect_F1CTrafficContainer_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_UERadioCapability, create_dissector_handle(dissect_UERadioCapability_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellMeasurementResult_E_UTRA_ENDC, create_dissector_handle(dissect_CellMeasurementResult_E_UTRA_ENDC_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellMeasurementResult_E_UTRA_ENDC_Item, create_dissector_handle(dissect_CellMeasurementResult_E_UTRA_ENDC_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellToReport_E_UTRA_ENDC, create_dissector_handle(dissect_CellToReport_E_UTRA_ENDC_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CellToReport_E_UTRA_ENDC_Item, create_dissector_handle(dissect_CellToReport_E_UTRA_ENDC_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CHO_DC_EarlyDataForwarding, create_dissector_handle(dissect_CHO_DC_EarlyDataForwarding_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_DirectForwardingPathAvailability, create_dissector_handle(dissect_DirectForwardingPathAvailability_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_sourceNG_RAN_node_id, create_dissector_handle(dissect_Global_RAN_NODE_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_NRRACHReportInformation, create_dissector_handle(dissect_NRRACHReportInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SCG_UE_HistoryInformation, create_dissector_handle(dissect_SCG_UE_HistoryInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_PSCellHistoryInformationRetrieve, create_dissector_handle(dissect_PSCellHistoryInformationRetrieve_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_PSCellChangeHistory, create_dissector_handle(dissect_PSCellChangeHistory_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CHOinformation_AddReq, create_dissector_handle(dissect_CHOinformation_AddReq_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CHOinformation_ModReq, create_dissector_handle(dissect_CHOinformation_ModReq_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SCGActivationStatus, create_dissector_handle(dissect_SCGActivationStatus_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SCGActivationRequest, create_dissector_handle(dissect_SCGActivationRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CPAinformation_REQ, create_dissector_handle(dissect_CPAinformation_REQ_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CPAinformation_REQ_ACK, create_dissector_handle(dissect_CPAinformation_REQ_ACK_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CPAinformation_MOD, create_dissector_handle(dissect_CPAinformation_MOD_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CPAinformation_MOD_ACK, create_dissector_handle(dissect_CPAinformation_MOD_ACK_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CPACinformation_REQD, create_dissector_handle(dissect_CPACinformation_REQD_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CPCinformation_REQD, create_dissector_handle(dissect_CPCinformation_REQD_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CPCinformation_CONF, create_dissector_handle(dissect_CPCinformation_CONF_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CPCinformation_NOTIFY, create_dissector_handle(dissect_CPCinformation_NOTIFY_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_CPCupdate_MOD, create_dissector_handle(dissect_CPCupdate_MOD_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_SCGreconfigNotification, create_dissector_handle(dissect_SCGreconfigNotification_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_Number_of_Antennaports, create_dissector_handle(dissect_Number_of_Antennaports_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_CompositeAvailableCapacityGroup, create_dissector_handle(dissect_CompositeAvailableCapacityGroup_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_PRACH_Configuration, create_dissector_handle(dissect_PRACH_Configuration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_MBSFN_Subframe_Info, create_dissector_handle(dissect_MBSFN_Subframe_Infolist_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_DeactivationIndication, create_dissector_handle(dissect_DeactivationIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ABSInformation, create_dissector_handle(dissect_ABSInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_InvokeIndication, create_dissector_handle(dissect_InvokeIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ABS_Status, create_dissector_handle(dissect_ABS_Status_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_CSG_Id, create_dissector_handle(dissect_CSG_Id_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_MDTConfiguration, create_dissector_handle(dissect_MDT_Configuration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ManagementBasedMDTallowed, create_dissector_handle(dissect_ManagementBasedMDTallowed_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NeighbourTAC, create_dissector_handle(dissect_TAC_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_Time_UE_StayedInCell_EnhancedGranularity, create_dissector_handle(dissect_Time_UE_StayedInCell_EnhancedGranularity_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_MBMS_Service_Area_List, create_dissector_handle(dissect_MBMS_Service_Area_Identity_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_HO_cause, create_dissector_handle(dissect_Cause_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_MultibandInfoList, create_dissector_handle(dissect_MultibandInfoList_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_M3Configuration, create_dissector_handle(dissect_M3Configuration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_M4Configuration, create_dissector_handle(dissect_M4Configuration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_M5Configuration, create_dissector_handle(dissect_M5Configuration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_MDT_Location_Info, create_dissector_handle(dissect_MDT_Location_Info_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ManagementBasedMDTPLMNList, create_dissector_handle(dissect_MDTPLMNList_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SignallingBasedMDTPLMNList, create_dissector_handle(dissect_MDTPLMNList_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ReceiveStatusOfULPDCPSDUsExtended, create_dissector_handle(dissect_ReceiveStatusOfULPDCPSDUsExtended_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ULCOUNTValueExtended, create_dissector_handle(dissect_COUNTValueExtended_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_DLCOUNTValueExtended, create_dissector_handle(dissect_COUNTValueExtended_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_eARFCNExtension, create_dissector_handle(dissect_EARFCNExtension_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_UL_EARFCNExtension, create_dissector_handle(dissect_EARFCNExtension_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_DL_EARFCNExtension, create_dissector_handle(dissect_EARFCNExtension_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_AdditionalSpecialSubframe_Info, create_dissector_handle(dissect_AdditionalSpecialSubframe_Info_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_IntendedULDLConfiguration, create_dissector_handle(dissect_SubframeAssignment_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ExtendedULInterferenceOverloadInfo, create_dissector_handle(dissect_ExtendedULInterferenceOverloadInfo_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_DynamicDLTransmissionInformation, create_dissector_handle(dissect_DynamicDLTransmissionInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_CoMPInformation, create_dissector_handle(dissect_CoMPInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_RSRPMRList, create_dissector_handle(dissect_RSRPMRList_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_CSIReportList, create_dissector_handle(dissect_CSIReportList_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_UEID, create_dissector_handle(dissect_UEID_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_enhancedRNTP, create_dissector_handle(dissect_EnhancedRNTP_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ProSeUEtoNetworkRelaying, create_dissector_handle(dissect_ProSeUEtoNetworkRelaying_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18, create_dissector_handle(dissect_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ULCOUNTValuePDCP_SNlength18, create_dissector_handle(dissect_COUNTvaluePDCP_SNlength18_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_DLCOUNTValuePDCP_SNlength18, create_dissector_handle(dissect_COUNTvaluePDCP_SNlength18_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_FreqBandIndicatorPriority, create_dissector_handle(dissect_FreqBandIndicatorPriority_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_M6Configuration, create_dissector_handle(dissect_M6Configuration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_M7Configuration, create_dissector_handle(dissect_M7Configuration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_Correlation_ID, create_dissector_handle(dissect_Correlation_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SIPTO_Correlation_ID, create_dissector_handle(dissect_Correlation_ID_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_CellReportingIndicator, create_dissector_handle(dissect_CellReportingIndicator_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_BearerType, create_dissector_handle(dissect_BearerType_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_OffsetOfNbiotChannelNumberToDL_EARFCN, create_dissector_handle(dissect_OffsetOfNbiotChannelNumberToEARFCN_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_OffsetOfNbiotChannelNumberToUL_EARFCN, create_dissector_handle(dissect_OffsetOfNbiotChannelNumberToEARFCN_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_uL_GTPtunnelEndpoint, create_dissector_handle(dissect_GTPtunnelEndpoint_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_UESidelinkAggregateMaximumBitRate, create_dissector_handle(dissect_UESidelinkAggregateMaximumBitRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_BandwidthReducedSI, create_dissector_handle(dissect_BandwidthReducedSI_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_AdditionalSpecialSubframeExtension_Info, create_dissector_handle(dissect_AdditionalSpecialSubframeExtension_Info_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_DL_scheduling_PDCCH_CCE_usage, create_dissector_handle(dissect_DL_scheduling_PDCCH_CCE_usage_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_UL_scheduling_PDCCH_CCE_usage, create_dissector_handle(dissect_UL_scheduling_PDCCH_CCE_usage_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_UEAppLayerMeasConfig, create_dissector_handle(dissect_UEAppLayerMeasConfig_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_extended_e_RAB_MaximumBitrateDL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_extended_e_RAB_MaximumBitrateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_extended_e_RAB_GuaranteedBitrateDL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_extended_e_RAB_GuaranteedBitrateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_extended_uEaggregateMaximumBitRateDownlink, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_extended_uEaggregateMaximumBitRateUplink, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NRrestrictioninEPSasSecondaryRAT, create_dissector_handle(dissect_NRrestrictioninEPSasSecondaryRAT_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_DownlinkPacketLossRate, create_dissector_handle(dissect_Packet_LossRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_UplinkPacketLossRate, create_dissector_handle(dissect_Packet_LossRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SubscriberProfileIDforRFP, create_dissector_handle(dissect_SubscriberProfileIDforRFP_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_serviceType, create_dissector_handle(dissect_ServiceType_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NRS_NSSS_PowerOffset, create_dissector_handle(dissect_NRS_NSSS_PowerOffset_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NSSS_NumOccasionDifferentPrecoder, create_dissector_handle(dissect_NSSS_NumOccasionDifferentPrecoder_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ProtectedEUTRAResourceIndication, create_dissector_handle(dissect_x2ap_ProtectedEUTRAResourceIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_RLC_Status, create_dissector_handle(dissect_RLC_Status_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_CNTypeRestrictions, create_dissector_handle(dissect_CNTypeRestrictions_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_uLpDCPSnLength, create_dissector_handle(dissect_PDCPSnLength_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_BluetoothMeasurementConfiguration, create_dissector_handle(dissect_BluetoothMeasurementConfiguration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_WLANMeasurementConfiguration, create_dissector_handle(dissect_WLANMeasurementConfiguration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NRrestrictionin5GS, create_dissector_handle(dissect_NRrestrictionin5GS_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_dL_Forwarding, create_dissector_handle(dissect_DL_Forwarding_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_dLPDCPSnLength, create_dissector_handle(dissect_PDCPSnLength_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_secondarysgNBDLGTPTEIDatPDCP, create_dissector_handle(dissect_GTPtunnelEndpoint_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_secondarymeNBULGTPTEIDatPDCP, create_dissector_handle(dissect_GTPtunnelEndpoint_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_lCID, create_dissector_handle(dissect_LCID_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_duplicationActivation, create_dissector_handle(dissect_DuplicationActivation_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ECGI, create_dissector_handle(dissect_ECGI_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_RLCMode_transferred, create_dissector_handle(dissect_RLCMode_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NRCGI, create_dissector_handle(dissect_NRCGI_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_MeNBCoordinationAssistanceInformation, create_dissector_handle(dissect_MeNBCoordinationAssistanceInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SgNBCoordinationAssistanceInformation, create_dissector_handle(dissect_SgNBCoordinationAssistanceInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_new_drb_ID_req, create_dissector_handle(dissect_NewDRBIDrequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NRNeighbourInfoToAdd, create_dissector_handle(dissect_NRNeighbour_Information_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NRNeighbourInfoToModify, create_dissector_handle(dissect_NRNeighbour_Information_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_LastNG_RANPLMNIdentity, create_dissector_handle(dissect_PLMN_Identity_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_additionalPLMNs_Item, create_dissector_handle(dissect_AdditionalPLMNs_Item_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_BPLMN_ID_Info_EUTRA, create_dissector_handle(dissect_BPLMN_ID_Info_EUTRA_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_BPLMN_ID_Info_NR, create_dissector_handle(dissect_BPLMN_ID_Info_NR_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NBIoT_UL_DL_AlignmentOffset, create_dissector_handle(dissect_NBIoT_UL_DL_AlignmentOffset_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_EPCHandoverRestrictionListContainer, create_dissector_handle(dissect_EPCHandoverRestrictionListContainer_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_AdditionalRRMPriorityIndex, create_dissector_handle(dissect_AdditionalRRMPriorityIndex_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_LowerLayerPresenceStatusChange, create_dissector_handle(dissect_LowerLayerPresenceStatusChange_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_UnlicensedSpectrumRestriction, create_dissector_handle(dissect_UnlicensedSpectrumRestriction_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_DAPSRequestInfo, create_dissector_handle(dissect_DAPSRequestInfo_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_DAPSResponseInfo, create_dissector_handle(dissect_DAPSResponseInfo_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_Ethernet_Type, create_dissector_handle(dissect_Ethernet_Type_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NRUESidelinkAggregateMaximumBitRate, create_dissector_handle(dissect_NRUESidelinkAggregateMaximumBitRate_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NPRACHConfiguration, create_dissector_handle(dissect_NPRACHConfiguration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_MDTConfigurationNR, create_dissector_handle(dissect_MDT_ConfigurationNR_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_UERadioCapabilityID, create_dissector_handle(dissect_UERadioCapabilityID_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_CSI_RSTransmissionIndication, create_dissector_handle(dissect_CSI_RSTransmissionIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_DLCarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_TDDULDLConfigurationCommonNR, create_dissector_handle(dissect_TDDULDLConfigurationCommonNR_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_CarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ULCarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_FrequencyShift7p5khz, create_dissector_handle(dissect_FrequencyShift7p5khz_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SSB_PositionsInBurst, create_dissector_handle(dissect_SSB_PositionsInBurst_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NRCellPRACHConfig, create_dissector_handle(dissect_NRCellPRACHConfig_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_QoS_Mapping_Information, create_dissector_handle(dissect_QoS_Mapping_Information_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_IntendedTDD_DL_ULConfiguration_NR, create_dissector_handle(dissect_IntendedTDD_DL_ULConfiguration_NR_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_TraceCollectionEntityURI, create_dissector_handle(dissect_URI_Address_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SFN_Offset, create_dissector_handle(dissect_SFN_Offset_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_IMSvoiceEPSfallbackfrom5G, create_dissector_handle(dissect_IMSvoiceEPSfallbackfrom5G_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_AdditionLocationInformation, create_dissector_handle(dissect_AdditionLocationInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SourceDLForwardingIPAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SourceNodeDLForwardingIPAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_MeasurementResultforNRCellsPossiblyAggregated, create_dissector_handle(dissect_MeasurementResultforNRCellsPossiblyAggregated_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_PSCell_UE_HistoryInformation, create_dissector_handle(dissect_PSCell_UE_HistoryInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_Additional_Measurement_Timing_Configuration_List, create_dissector_handle(dissect_Additional_Measurement_Timing_Configuration_List_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_ServedCellSpecificInfoReq_NR, create_dissector_handle(dissect_ServedCellSpecificInfoReq_NR_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SecurityIndication, create_dissector_handle(dissect_SecurityIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SecurityResult, create_dissector_handle(dissect_SecurityResult_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_RAT_Restrictions, create_dissector_handle(dissect_RAT_Restrictions_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_MIMOPRBusageInformation, create_dissector_handle(dissect_MIMOPRBusageInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_SensorMeasurementConfiguration, create_dissector_handle(dissect_SensorMeasurementConfiguration_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_AdditionalListofForwardingGTPTunnelEndpoint, create_dissector_handle(dissect_AdditionalListofForwardingGTPTunnelEndpoint_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_handoverPreparation, create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_handoverPreparation, create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_handoverPreparation, create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_snStatusTransfer, create_dissector_handle(dissect_SNStatusTransfer_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_uEContextRelease, create_dissector_handle(dissect_UEContextRelease_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_handoverCancel, create_dissector_handle(dissect_HandoverCancel_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_errorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_reset, create_dissector_handle(dissect_ResetRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_reset, create_dissector_handle(dissect_ResetResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_x2Setup, create_dissector_handle(dissect_X2SetupRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_x2Setup, create_dissector_handle(dissect_X2SetupResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_x2Setup, create_dissector_handle(dissect_X2SetupFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_loadIndication, create_dissector_handle(dissect_LoadInformation_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_eNBConfigurationUpdate, create_dissector_handle(dissect_ENBConfigurationUpdate_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_eNBConfigurationUpdate, create_dissector_handle(dissect_ENBConfigurationUpdateAcknowledge_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_eNBConfigurationUpdate, create_dissector_handle(dissect_ENBConfigurationUpdateFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_resourceStatusReportingInitiation, create_dissector_handle(dissect_ResourceStatusRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_resourceStatusReportingInitiation, create_dissector_handle(dissect_ResourceStatusResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_resourceStatusReportingInitiation, create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_resourceStatusReporting, create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_privateMessage, create_dissector_handle(dissect_PrivateMessage_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_handoverReport, create_dissector_handle(dissect_HandoverReport_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_rLFIndication, create_dissector_handle(dissect_RLFIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_mobilitySettingsChange, create_dissector_handle(dissect_MobilityChangeRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_mobilitySettingsChange, create_dissector_handle(dissect_MobilityChangeAcknowledge_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_mobilitySettingsChange, create_dissector_handle(dissect_MobilityChangeFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_cellActivation, create_dissector_handle(dissect_CellActivationRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_cellActivation, create_dissector_handle(dissect_CellActivationResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_cellActivation, create_dissector_handle(dissect_CellActivationFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_x2Release, create_dissector_handle(dissect_X2Release_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_x2APMessageTransfer, create_dissector_handle(dissect_X2APMessageTransfer_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_x2Removal, create_dissector_handle(dissect_X2RemovalRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_x2Removal, create_dissector_handle(dissect_X2RemovalResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_x2Removal, create_dissector_handle(dissect_X2RemovalFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_seNBAdditionPreparation, create_dissector_handle(dissect_SeNBAdditionRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_seNBAdditionPreparation, create_dissector_handle(dissect_SeNBAdditionRequestAcknowledge_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_seNBAdditionPreparation, create_dissector_handle(dissect_SeNBAdditionRequestReject_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_seNBReconfigurationCompletion, create_dissector_handle(dissect_SeNBReconfigurationComplete_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_meNBinitiatedSeNBModificationPreparation, create_dissector_handle(dissect_SeNBModificationRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_meNBinitiatedSeNBModificationPreparation, create_dissector_handle(dissect_SeNBModificationRequestAcknowledge_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_meNBinitiatedSeNBModificationPreparation, create_dissector_handle(dissect_SeNBModificationRequestReject_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_seNBinitiatedSeNBModification, create_dissector_handle(dissect_SeNBModificationRequired_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_seNBinitiatedSeNBModification, create_dissector_handle(dissect_SeNBModificationConfirm_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_seNBinitiatedSeNBModification, create_dissector_handle(dissect_SeNBModificationRefuse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_meNBinitiatedSeNBRelease, create_dissector_handle(dissect_SeNBReleaseRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_seNBinitiatedSeNBRelease, create_dissector_handle(dissect_SeNBReleaseRequired_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_seNBinitiatedSeNBRelease, create_dissector_handle(dissect_SeNBReleaseConfirm_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_seNBCounterCheck, create_dissector_handle(dissect_SeNBCounterCheckRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_sgNBAdditionPreparation, create_dissector_handle(dissect_SgNBAdditionRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_sgNBAdditionPreparation, create_dissector_handle(dissect_SgNBAdditionRequestAcknowledge_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_sgNBAdditionPreparation, create_dissector_handle(dissect_SgNBAdditionRequestReject_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_sgNBReconfigurationCompletion, create_dissector_handle(dissect_SgNBReconfigurationComplete_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_meNBinitiatedSgNBModificationPreparation, create_dissector_handle(dissect_SgNBModificationRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_meNBinitiatedSgNBModificationPreparation, create_dissector_handle(dissect_SgNBModificationRequestAcknowledge_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_meNBinitiatedSgNBModificationPreparation, create_dissector_handle(dissect_SgNBModificationRequestReject_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_sgNBinitiatedSgNBModification, create_dissector_handle(dissect_SgNBModificationRequired_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_sgNBinitiatedSgNBModification, create_dissector_handle(dissect_SgNBModificationConfirm_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_sgNBinitiatedSgNBModification, create_dissector_handle(dissect_SgNBModificationRefuse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_meNBinitiatedSgNBRelease, create_dissector_handle(dissect_SgNBReleaseRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_meNBinitiatedSgNBRelease, create_dissector_handle(dissect_SgNBReleaseRequestAcknowledge_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_meNBinitiatedSgNBRelease, create_dissector_handle(dissect_SgNBReleaseRequestReject_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_sgNBinitiatedSgNBRelease, create_dissector_handle(dissect_SgNBReleaseRequired_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_sgNBinitiatedSgNBRelease, create_dissector_handle(dissect_SgNBReleaseConfirm_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_sgNBCounterCheck, create_dissector_handle(dissect_SgNBCounterCheckRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_sgNBChange, create_dissector_handle(dissect_SgNBChangeRequired_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_sgNBChange, create_dissector_handle(dissect_SgNBChangeConfirm_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_sgNBChange, create_dissector_handle(dissect_SgNBChangeRefuse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_rRCTransfer, create_dissector_handle(dissect_RRCTransfer_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_endcX2Setup, create_dissector_handle(dissect_ENDCX2SetupRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_endcX2Setup, create_dissector_handle(dissect_ENDCX2SetupResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_endcX2Setup, create_dissector_handle(dissect_ENDCX2SetupFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_endcConfigurationUpdate, create_dissector_handle(dissect_ENDCConfigurationUpdate_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_endcConfigurationUpdate, create_dissector_handle(dissect_ENDCConfigurationUpdateAcknowledge_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_endcConfigurationUpdate, create_dissector_handle(dissect_ENDCConfigurationUpdateFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_secondaryRATDataUsageReport, create_dissector_handle(dissect_SecondaryRATDataUsageReport_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_endcCellActivation, create_dissector_handle(dissect_ENDCCellActivationRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_endcCellActivation, create_dissector_handle(dissect_ENDCCellActivationResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_endcCellActivation, create_dissector_handle(dissect_ENDCCellActivationFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_endcPartialReset, create_dissector_handle(dissect_ENDCPartialResetRequired_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_endcPartialReset, create_dissector_handle(dissect_ENDCPartialResetConfirm_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_eUTRANRCellResourceCoordination, create_dissector_handle(dissect_x2ap_EUTRANRCellResourceCoordinationRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_eUTRANRCellResourceCoordination, create_dissector_handle(dissect_x2ap_EUTRANRCellResourceCoordinationResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_SgNBActivityNotification, create_dissector_handle(dissect_SgNBActivityNotification_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_endcX2Removal, create_dissector_handle(dissect_ENDCX2RemovalRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_endcX2Removal, create_dissector_handle(dissect_ENDCX2RemovalResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_endcX2Removal, create_dissector_handle(dissect_ENDCX2RemovalFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_dataForwardingAddressIndication, create_dissector_handle(dissect_DataForwardingAddressIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_gNBStatusIndication, create_dissector_handle(dissect_GNBStatusIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_endcConfigurationTransfer, create_dissector_handle(dissect_ENDCConfigurationTransfer_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_deactivateTrace, create_dissector_handle(dissect_DeactivateTrace_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_traceStart, create_dissector_handle(dissect_TraceStart_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_handoverSuccess, create_dissector_handle(dissect_HandoverSuccess_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_earlyStatusTransfer, create_dissector_handle(dissect_EarlyStatusTransfer_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_conditionalHandoverCancel, create_dissector_handle(dissect_ConditionalHandoverCancel_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_endcresourceStatusReportingInitiation, create_dissector_handle(dissect_ENDCResourceStatusRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_endcresourceStatusReportingInitiation, create_dissector_handle(dissect_ENDCResourceStatusResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_endcresourceStatusReportingInitiation, create_dissector_handle(dissect_ENDCResourceStatusFailure_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_endcresourceStatusReporting, create_dissector_handle(dissect_ENDCResourceStatusUpdate_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_cellTrafficTrace, create_dissector_handle(dissect_CellTrafficTrace_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_f1CTrafficTransfer, create_dissector_handle(dissect_F1CTrafficTransfer_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_UERadioCapabilityIDMapping, create_dissector_handle(dissect_UERadioCapabilityIDMappingRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_UERadioCapabilityIDMapping, create_dissector_handle(dissect_UERadioCapabilityIDMappingResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_accessAndMobilityIndication, create_dissector_handle(dissect_AccessAndMobilityIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_CPC_cancel, create_dissector_handle(dissect_CPC_cancel_PDU, proto_x2ap)); }