wireshark/epan/dissectors/packet-ngap.c

28020 lines
1.2 MiB

/* Do not modify this file. Changes will be overwritten. */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-ngap.c */
/* asn2wrs.py -p ngap -c ./ngap.cnf -s ./packet-ngap-template -D . -O ../.. NGAP-CommonDataTypes.asn NGAP-Constants.asn NGAP-Containers.asn NGAP-IEs.asn NGAP-PDU-Contents.asn NGAP-PDU-Descriptions.asn */
/* Input file: packet-ngap-template.c */
#line 1 "./asn1/ngap/packet-ngap-template.c"
/* packet-ngap.c
* Routines for NG-RAN NG Application Protocol (NGAP) packet dissection
* Copyright 2018, Anders Broman <anders.broman@ericsson.com>
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* SPDX-License-Identifier: GPL-2.0-or-later
*
* References: 3GPP TS 38.413 v16.7.0 (2021-10)
*/
#include "config.h"
#include <stdio.h>
#include <epan/packet.h>
#include <epan/strutil.h>
#include <epan/asn1.h>
#include <epan/prefs.h>
#include <epan/sctpppids.h>
#include <epan/expert.h>
#include <epan/proto_data.h>
#include <epan/conversation.h>
#include <epan/exceptions.h>
#include <epan/show_exception.h>
#include <epan/tap.h>
#include <epan/stats_tree.h>
#include <wsutil/wsjson.h>
#include "packet-ngap.h"
#include "packet-per.h"
#include "packet-e212.h"
#include "packet-s1ap.h"
#include "packet-ranap.h"
#include "packet-rrc.h"
#include "packet-lte-rrc.h"
#include "packet-nr-rrc.h"
#include "packet-gsm_map.h"
#include "packet-cell_broadcast.h"
#include "packet-ntp.h"
#include "packet-gsm_a_common.h"
#include "packet-http.h"
#define PNAME "NG Application Protocol"
#define PSNAME "NGAP"
#define PFNAME "ngap"
/* Dissector will use SCTP PPID 18 or SCTP port. IANA assigned port = 36412 */
#define SCTP_PORT_NGAP 38412
void proto_register_ngap(void);
void proto_reg_handoff_ngap(void);
static dissector_handle_t ngap_handle;
static dissector_handle_t ngap_media_type_handle;
static dissector_handle_t nas_5gs_handle;
static dissector_handle_t nr_rrc_ue_radio_paging_info_handle;
static dissector_handle_t nr_rrc_ue_radio_access_cap_info_handle;
static dissector_handle_t lte_rrc_ue_radio_paging_info_handle;
static dissector_handle_t lte_rrc_ue_radio_access_cap_info_handle;
static dissector_handle_t lte_rrc_ue_radio_paging_info_nb_handle;
static dissector_handle_t lte_rrc_ue_radio_access_cap_info_nb_handle;
static dissector_handle_t nrppa_handle;
static int proto_json = -1;
/*--- Included file: packet-ngap-val.h ---*/
#line 1 "./asn1/ngap/packet-ngap-val.h"
#define maxPrivateIEs 65535
#define maxProtocolExtensions 65535
#define maxProtocolIEs 65535
#define maxnoofAllowedAreas 16
#define maxnoofAllowedCAGsperPLMN 256
#define maxnoofAllowedS_NSSAIs 8
#define maxnoofBluetoothName 4
#define maxnoofBPLMNs 12
#define maxnoofCAGSperCell 64
#define maxnoofCellIDforMDT 32
#define maxnoofCellIDforWarning 65535
#define maxnoofCellinAoI 256
#define maxnoofCellinEAI 65535
#define maxnoofCellinTAI 65535
#define maxnoofCellsingNB 16384
#define maxnoofCellsinngeNB 256
#define maxnoofCellsinUEHistoryInfo 16
#define maxnoofCellsUEMovingTrajectory 16
#define maxnoofDRBs 32
#define maxnoofEmergencyAreaID 65535
#define maxnoofEAIforRestart 256
#define maxnoofEPLMNs 15
#define maxnoofEPLMNsPlusOne 16
#define maxnoofE_RABs 256
#define maxnoofErrors 256
#define maxnoofExtSliceItems 65535
#define maxnoofForbTACs 4096
#define maxnoofFreqforMDT 8
#define maxnoofMDTPLMNs 16
#define maxnoofMultiConnectivity 4
#define maxnoofMultiConnectivityMinusOne 3
#define maxnoofNeighPCIforMDT 32
#define maxnoofNGConnectionsToReset 65536
#define maxnoofNRCellBands 32
#define maxnoofPC5QoSFlows 2048
#define maxnoofPDUSessions 256
#define maxnoofPLMNs 12
#define maxnoofQosFlows 64
#define maxnoofQosParaSets 8
#define maxnoofRANNodeinAoI 64
#define maxnoofRecommendedCells 16
#define maxnoofRecommendedRANNodes 16
#define maxnoofAoI 64
#define maxnoofSensorName 3
#define maxnoofServedGUAMIs 256
#define maxnoofSliceItems 1024
#define maxnoofTACs 256
#define maxnoofTAforMDT 8
#define maxnoofTAIforInactive 16
#define maxnoofTAIforPaging 16
#define maxnoofTAIforRestart 2048
#define maxnoofTAIforWarning 65535
#define maxnoofTAIinAoI 16
#define maxnoofTimePeriods 2
#define maxnoofTNLAssociations 32
#define maxnoofWLANName 4
#define maxnoofXnExtTLAs 16
#define maxnoofXnGTP_TLAs 16
#define maxnoofXnTLAs 2
#define maxnoofCandidateCells 32
#define maxNRARFCN 3279165
typedef enum _ProcedureCode_enum {
id_AMFConfigurationUpdate = 0,
id_AMFStatusIndication = 1,
id_CellTrafficTrace = 2,
id_DeactivateTrace = 3,
id_DownlinkNASTransport = 4,
id_DownlinkNonUEAssociatedNRPPaTransport = 5,
id_DownlinkRANConfigurationTransfer = 6,
id_DownlinkRANStatusTransfer = 7,
id_DownlinkUEAssociatedNRPPaTransport = 8,
id_ErrorIndication = 9,
id_HandoverCancel = 10,
id_HandoverNotification = 11,
id_HandoverPreparation = 12,
id_HandoverResourceAllocation = 13,
id_InitialContextSetup = 14,
id_InitialUEMessage = 15,
id_LocationReportingControl = 16,
id_LocationReportingFailureIndication = 17,
id_LocationReport = 18,
id_NASNonDeliveryIndication = 19,
id_NGReset = 20,
id_NGSetup = 21,
id_OverloadStart = 22,
id_OverloadStop = 23,
id_Paging = 24,
id_PathSwitchRequest = 25,
id_PDUSessionResourceModify = 26,
id_PDUSessionResourceModifyIndication = 27,
id_PDUSessionResourceRelease = 28,
id_PDUSessionResourceSetup = 29,
id_PDUSessionResourceNotify = 30,
id_PrivateMessage = 31,
id_PWSCancel = 32,
id_PWSFailureIndication = 33,
id_PWSRestartIndication = 34,
id_RANConfigurationUpdate = 35,
id_RerouteNASRequest = 36,
id_RRCInactiveTransitionReport = 37,
id_TraceFailureIndication = 38,
id_TraceStart = 39,
id_UEContextModification = 40,
id_UEContextRelease = 41,
id_UEContextReleaseRequest = 42,
id_UERadioCapabilityCheck = 43,
id_UERadioCapabilityInfoIndication = 44,
id_UETNLABindingRelease = 45,
id_UplinkNASTransport = 46,
id_UplinkNonUEAssociatedNRPPaTransport = 47,
id_UplinkRANConfigurationTransfer = 48,
id_UplinkRANStatusTransfer = 49,
id_UplinkUEAssociatedNRPPaTransport = 50,
id_WriteReplaceWarning = 51,
id_SecondaryRATDataUsageReport = 52,
id_UplinkRIMInformationTransfer = 53,
id_DownlinkRIMInformationTransfer = 54,
id_RetrieveUEInformation = 55,
id_UEInformationTransfer = 56,
id_RANCPRelocationIndication = 57,
id_UEContextResume = 58,
id_UEContextSuspend = 59,
id_UERadioCapabilityIDMapping = 60,
id_HandoverSuccess = 61,
id_UplinkRANEarlyStatusTransfer = 62,
id_DownlinkRANEarlyStatusTransfer = 63,
id_AMFCPRelocationIndication = 64,
id_ConnectionEstablishmentIndication = 65
} ProcedureCode_enum;
typedef enum _ProtocolIE_ID_enum {
id_AllowedNSSAI = 0,
id_AMFName = 1,
id_AMFOverloadResponse = 2,
id_AMFSetID = 3,
id_AMF_TNLAssociationFailedToSetupList = 4,
id_AMF_TNLAssociationSetupList = 5,
id_AMF_TNLAssociationToAddList = 6,
id_AMF_TNLAssociationToRemoveList = 7,
id_AMF_TNLAssociationToUpdateList = 8,
id_AMFTrafficLoadReductionIndication = 9,
id_AMF_UE_NGAP_ID = 10,
id_AssistanceDataForPaging = 11,
id_BroadcastCancelledAreaList = 12,
id_BroadcastCompletedAreaList = 13,
id_CancelAllWarningMessages = 14,
id_Cause = 15,
id_CellIDListForRestart = 16,
id_ConcurrentWarningMessageInd = 17,
id_CoreNetworkAssistanceInformationForInactive = 18,
id_CriticalityDiagnostics = 19,
id_DataCodingScheme = 20,
id_DefaultPagingDRX = 21,
id_DirectForwardingPathAvailability = 22,
id_EmergencyAreaIDListForRestart = 23,
id_EmergencyFallbackIndicator = 24,
id_EUTRA_CGI = 25,
id_FiveG_S_TMSI = 26,
id_GlobalRANNodeID = 27,
id_GUAMI = 28,
id_HandoverType = 29,
id_IMSVoiceSupportIndicator = 30,
id_IndexToRFSP = 31,
id_InfoOnRecommendedCellsAndRANNodesForPaging = 32,
id_LocationReportingRequestType = 33,
id_MaskedIMEISV = 34,
id_MessageIdentifier = 35,
id_MobilityRestrictionList = 36,
id_NASC = 37,
id_NAS_PDU = 38,
id_NASSecurityParametersFromNGRAN = 39,
id_NewAMF_UE_NGAP_ID = 40,
id_NewSecurityContextInd = 41,
id_NGAP_Message = 42,
id_NGRAN_CGI = 43,
id_NGRANTraceID = 44,
id_NR_CGI = 45,
id_NRPPa_PDU = 46,
id_NumberOfBroadcastsRequested = 47,
id_OldAMF = 48,
id_OverloadStartNSSAIList = 49,
id_PagingDRX = 50,
id_PagingOrigin = 51,
id_PagingPriority = 52,
id_PDUSessionResourceAdmittedList = 53,
id_PDUSessionResourceFailedToModifyListModRes = 54,
id_PDUSessionResourceFailedToSetupListCxtRes = 55,
id_PDUSessionResourceFailedToSetupListHOAck = 56,
id_PDUSessionResourceFailedToSetupListPSReq = 57,
id_PDUSessionResourceFailedToSetupListSURes = 58,
id_PDUSessionResourceHandoverList = 59,
id_PDUSessionResourceListCxtRelCpl = 60,
id_PDUSessionResourceListHORqd = 61,
id_PDUSessionResourceModifyListModCfm = 62,
id_PDUSessionResourceModifyListModInd = 63,
id_PDUSessionResourceModifyListModReq = 64,
id_PDUSessionResourceModifyListModRes = 65,
id_PDUSessionResourceNotifyList = 66,
id_PDUSessionResourceReleasedListNot = 67,
id_PDUSessionResourceReleasedListPSAck = 68,
id_PDUSessionResourceReleasedListPSFail = 69,
id_PDUSessionResourceReleasedListRelRes = 70,
id_PDUSessionResourceSetupListCxtReq = 71,
id_PDUSessionResourceSetupListCxtRes = 72,
id_PDUSessionResourceSetupListHOReq = 73,
id_PDUSessionResourceSetupListSUReq = 74,
id_PDUSessionResourceSetupListSURes = 75,
id_PDUSessionResourceToBeSwitchedDLList = 76,
id_PDUSessionResourceSwitchedList = 77,
id_PDUSessionResourceToReleaseListHOCmd = 78,
id_PDUSessionResourceToReleaseListRelCmd = 79,
id_PLMNSupportList = 80,
id_PWSFailedCellIDList = 81,
id_RANNodeName = 82,
id_RANPagingPriority = 83,
id_RANStatusTransfer_TransparentContainer = 84,
id_RAN_UE_NGAP_ID = 85,
id_RelativeAMFCapacity = 86,
id_RepetitionPeriod = 87,
id_ResetType = 88,
id_RoutingID = 89,
id_RRCEstablishmentCause = 90,
id_RRCInactiveTransitionReportRequest = 91,
id_RRCState = 92,
id_SecurityContext = 93,
id_SecurityKey = 94,
id_SerialNumber = 95,
id_ServedGUAMIList = 96,
id_SliceSupportList = 97,
id_SONConfigurationTransferDL = 98,
id_SONConfigurationTransferUL = 99,
id_SourceAMF_UE_NGAP_ID = 100,
id_SourceToTarget_TransparentContainer = 101,
id_SupportedTAList = 102,
id_TAIListForPaging = 103,
id_TAIListForRestart = 104,
id_TargetID = 105,
id_TargetToSource_TransparentContainer = 106,
id_TimeToWait = 107,
id_TraceActivation = 108,
id_TraceCollectionEntityIPAddress = 109,
id_UEAggregateMaximumBitRate = 110,
id_UE_associatedLogicalNG_connectionList = 111,
id_UEContextRequest = 112,
id_Unknown_113 = 113,
id_UE_NGAP_IDs = 114,
id_UEPagingIdentity = 115,
id_UEPresenceInAreaOfInterestList = 116,
id_UERadioCapability = 117,
id_UERadioCapabilityForPaging = 118,
id_UESecurityCapabilities = 119,
id_UnavailableGUAMIList = 120,
id_UserLocationInformation = 121,
id_WarningAreaList = 122,
id_WarningMessageContents = 123,
id_WarningSecurityInfo = 124,
id_WarningType = 125,
id_AdditionalUL_NGU_UP_TNLInformation = 126,
id_DataForwardingNotPossible = 127,
id_DL_NGU_UP_TNLInformation = 128,
id_NetworkInstance = 129,
id_PDUSessionAggregateMaximumBitRate = 130,
id_PDUSessionResourceFailedToModifyListModCfm = 131,
id_PDUSessionResourceFailedToSetupListCxtFail = 132,
id_PDUSessionResourceListCxtRelReq = 133,
id_PDUSessionType = 134,
id_QosFlowAddOrModifyRequestList = 135,
id_QosFlowSetupRequestList = 136,
id_QosFlowToReleaseList = 137,
id_SecurityIndication = 138,
id_UL_NGU_UP_TNLInformation = 139,
id_UL_NGU_UP_TNLModifyList = 140,
id_WarningAreaCoordinates = 141,
id_PDUSessionResourceSecondaryRATUsageList = 142,
id_HandoverFlag = 143,
id_SecondaryRATUsageInformation = 144,
id_PDUSessionResourceReleaseResponseTransfer = 145,
id_RedirectionVoiceFallback = 146,
id_UERetentionInformation = 147,
id_S_NSSAI = 148,
id_PSCellInformation = 149,
id_LastEUTRAN_PLMNIdentity = 150,
id_MaximumIntegrityProtectedDataRate_DL = 151,
id_AdditionalDLForwardingUPTNLInformation = 152,
id_AdditionalDLUPTNLInformationForHOList = 153,
id_AdditionalNGU_UP_TNLInformation = 154,
id_AdditionalDLQosFlowPerTNLInformation = 155,
id_SecurityResult = 156,
id_ENDC_SONConfigurationTransferDL = 157,
id_ENDC_SONConfigurationTransferUL = 158,
id_OldAssociatedQosFlowList_ULendmarkerexpected = 159,
id_CNTypeRestrictionsForEquivalent = 160,
id_CNTypeRestrictionsForServing = 161,
id_NewGUAMI = 162,
id_ULForwarding = 163,
id_ULForwardingUP_TNLInformation = 164,
id_CNAssistedRANTuning = 165,
id_CommonNetworkInstance = 166,
id_NGRAN_TNLAssociationToRemoveList = 167,
id_TNLAssociationTransportLayerAddressNGRAN = 168,
id_EndpointIPAddressAndPort = 169,
id_LocationReportingAdditionalInfo = 170,
id_SourceToTarget_AMFInformationReroute = 171,
id_AdditionalULForwardingUPTNLInformation = 172,
id_SCTP_TLAs = 173,
id_SelectedPLMNIdentity = 174,
id_RIMInformationTransfer = 175,
id_GUAMIType = 176,
id_SRVCCOperationPossible = 177,
id_TargetRNC_ID = 178,
id_RAT_Information = 179,
id_ExtendedRATRestrictionInformation = 180,
id_QosMonitoringRequest = 181,
id_SgNB_UE_X2AP_ID = 182,
id_AdditionalRedundantDL_NGU_UP_TNLInformation = 183,
id_AdditionalRedundantDLQosFlowPerTNLInformation = 184,
id_AdditionalRedundantNGU_UP_TNLInformation = 185,
id_AdditionalRedundantUL_NGU_UP_TNLInformation = 186,
id_CNPacketDelayBudgetDL = 187,
id_CNPacketDelayBudgetUL = 188,
id_ExtendedPacketDelayBudget = 189,
id_RedundantCommonNetworkInstance = 190,
id_RedundantDL_NGU_TNLInformationReused = 191,
id_RedundantDL_NGU_UP_TNLInformation = 192,
id_RedundantDLQosFlowPerTNLInformation = 193,
id_RedundantQosFlowIndicator = 194,
id_RedundantUL_NGU_UP_TNLInformation = 195,
id_TSCTrafficCharacteristics = 196,
id_RedundantPDUSessionInformation = 197,
id_UsedRSNInformation = 198,
id_IAB_Authorized = 199,
id_IAB_Supported = 200,
id_IABNodeIndication = 201,
id_NB_IoT_PagingDRX = 202,
id_NB_IoT_Paging_eDRXInfo = 203,
id_NB_IoT_DefaultPagingDRX = 204,
id_Enhanced_CoverageRestriction = 205,
id_Extended_ConnectedTime = 206,
id_PagingAssisDataforCEcapabUE = 207,
id_WUS_Assistance_Information = 208,
id_UE_DifferentiationInfo = 209,
id_NB_IoT_UEPriority = 210,
id_UL_CP_SecurityInformation = 211,
id_DL_CP_SecurityInformation = 212,
id_TAI = 213,
id_UERadioCapabilityForPagingOfNB_IoT = 214,
id_LTEV2XServicesAuthorized = 215,
id_NRV2XServicesAuthorized = 216,
id_LTEUESidelinkAggregateMaximumBitrate = 217,
id_NRUESidelinkAggregateMaximumBitrate = 218,
id_PC5QoSParameters = 219,
id_AlternativeQoSParaSetList = 220,
id_CurrentQoSParaSetIndex = 221,
id_CEmodeBrestricted = 222,
id_PagingeDRXInformation = 223,
id_CEmodeBSupport_Indicator = 224,
id_LTEM_Indication = 225,
id_EndIndication = 226,
id_EDT_Session = 227,
id_UECapabilityInfoRequest = 228,
id_PDUSessionResourceFailedToResumeListRESReq = 229,
id_PDUSessionResourceFailedToResumeListRESRes = 230,
id_PDUSessionResourceSuspendListSUSReq = 231,
id_PDUSessionResourceResumeListRESReq = 232,
id_PDUSessionResourceResumeListRESRes = 233,
id_UE_UP_CIoT_Support = 234,
id_Suspend_Request_Indication = 235,
id_Suspend_Response_Indication = 236,
id_RRC_Resume_Cause = 237,
id_RGLevelWirelineAccessCharacteristics = 238,
id_W_AGFIdentityInformation = 239,
id_GlobalTNGF_ID = 240,
id_GlobalTWIF_ID = 241,
id_GlobalW_AGF_ID = 242,
id_UserLocationInformationW_AGF = 243,
id_UserLocationInformationTNGF = 244,
id_AuthenticatedIndication = 245,
id_TNGFIdentityInformation = 246,
id_TWIFIdentityInformation = 247,
id_UserLocationInformationTWIF = 248,
id_DataForwardingResponseERABList = 249,
id_IntersystemSONConfigurationTransferDL = 250,
id_IntersystemSONConfigurationTransferUL = 251,
id_SONInformationReport = 252,
id_UEHistoryInformationFromTheUE = 253,
id_ManagementBasedMDTPLMNList = 254,
id_MDTConfiguration = 255,
id_PrivacyIndicator = 256,
id_TraceCollectionEntityURI = 257,
id_NPN_Support = 258,
id_NPN_AccessInformation = 259,
id_NPN_PagingAssistanceInformation = 260,
id_NPN_MobilityInformation = 261,
id_TargettoSource_Failure_TransparentContainer = 262,
id_NID = 263,
id_UERadioCapabilityID = 264,
id_UERadioCapability_EUTRA_Format = 265,
id_DAPSRequestInfo = 266,
id_DAPSResponseInfoList = 267,
id_EarlyStatusTransfer_TransparentContainer = 268,
id_NotifySourceNGRANNode = 269,
id_ExtendedSliceSupportList = 270,
id_ExtendedTAISliceSupportList = 271,
id_ConfiguredTACIndication = 272,
id_Extended_RANNodeName = 273,
id_Extended_AMFName = 274,
id_GlobalCable_ID = 275,
id_QosMonitoringReportingFrequency = 276,
id_QosFlowParametersList = 277,
id_QosFlowFeedbackList = 278,
id_BurstArrivalTimeDownlink = 279,
id_ExtendedUEIdentityIndexValue = 280,
id_PduSessionExpectedUEActivityBehaviour = 281,
id_MicoAllPLMN = 282,
id_QosFlowFailedToSetupList = 283
} ProtocolIE_ID_enum;
typedef enum _GlobalRANNodeID_enum {
globalGNB_ID = 0,
globalNgENB_ID = 1,
globalN3IWF_ID = 2,
choice_Extensions = 3
} GlobalRANNodeID_enum;
typedef enum _HandoverType_enum {
intra5gs = 0,
fivegs_to_eps = 1,
eps_to_5gs = 2,
fivegs_to_utran = 3
} HandoverType_enum;
typedef enum _RAT_Information_enum {
unlicensed = 0,
nb_IoT = 1
} RAT_Information_enum;
/*--- End of included file: packet-ngap-val.h ---*/
#line 69 "./asn1/ngap/packet-ngap-template.c"
/* Initialize the protocol and registered fields */
static int proto_ngap = -1;
static int hf_ngap_transportLayerAddressIPv4 = -1;
static int hf_ngap_transportLayerAddressIPv6 = -1;
static int hf_ngap_SerialNumber_gs = -1;
static int hf_ngap_SerialNumber_msg_code = -1;
static int hf_ngap_SerialNumber_upd_nb = -1;
static int hf_ngap_WarningType_value = -1;
static int hf_ngap_WarningType_emergency_user_alert = -1;
static int hf_ngap_WarningType_popup = -1;
static int hf_ngap_WarningMessageContents_nb_pages = -1;
static int hf_ngap_WarningMessageContents_decoded_page = -1;
static int hf_ngap_NGRANTraceID_TraceID = -1;
static int hf_ngap_NGRANTraceID_TraceRecordingSessionReference = -1;
static int hf_ngap_InterfacesToTrace_NG_C = -1;
static int hf_ngap_InterfacesToTrace_Xn_C = -1;
static int hf_ngap_InterfacesToTrace_Uu = -1;
static int hf_ngap_InterfacesToTrace_F1_C = -1;
static int hf_ngap_InterfacesToTrace_E1 = -1;
static int hf_ngap_InterfacesToTrace_reserved = -1;
static int hf_ngap_RATRestrictionInformation_e_UTRA = -1;
static int hf_ngap_RATRestrictionInformation_nR = -1;
static int hf_ngap_RATRestrictionInformation_nR_unlicensed = -1;
static int hf_ngap_RATRestrictionInformation_reserved = -1;
static int hf_ngap_primaryRATRestriction_e_UTRA = -1;
static int hf_ngap_primaryRATRestriction_nR = -1;
static int hf_ngap_primaryRATRestriction_nR_unlicensed = -1;
static int hf_ngap_primaryRATRestriction_reserved = -1;
static int hf_ngap_secondaryRATRestriction_e_UTRA = -1;
static int hf_ngap_secondaryRATRestriction_nR = -1;
static int hf_ngap_secondaryRATRestriction_e_UTRA_unlicensed = -1;
static int hf_ngap_secondaryRATRestriction_nR_unlicensed = -1;
static int hf_ngap_secondaryRATRestriction_reserved = -1;
static int hf_ngap_NrencryptionAlgorithms_nea1 = -1;
static int hf_ngap_NrencryptionAlgorithms_nea2 = -1;
static int hf_ngap_NrencryptionAlgorithms_nea3 = -1;
static int hf_ngap_NrencryptionAlgorithms_reserved = -1;
static int hf_ngap_NrintegrityProtectionAlgorithms_nia1 = -1;
static int hf_ngap_NrintegrityProtectionAlgorithms_nia2 = -1;
static int hf_ngap_NrintegrityProtectionAlgorithms_nia3 = -1;
static int hf_ngap_NrintegrityProtectionAlgorithms_reserved = -1;
static int hf_ngap_EUTRAencryptionAlgorithms_eea1 = -1;
static int hf_ngap_EUTRAencryptionAlgorithms_eea2 = -1;
static int hf_ngap_EUTRAencryptionAlgorithms_eea3 = -1;
static int hf_ngap_EUTRAencryptionAlgorithms_reserved = -1;
static int hf_ngap_EUTRAintegrityProtectionAlgorithms_eia1 = -1;
static int hf_ngap_EUTRAintegrityProtectionAlgorithms_eia2 = -1;
static int hf_ngap_EUTRAintegrityProtectionAlgorithms_eia3 = -1;
static int hf_ngap_EUTRAintegrityProtectionAlgorithms_reserved = -1;
static int hf_ngap_MeasurementsToActivate_M1 = -1;
static int hf_ngap_MeasurementsToActivate_M2 = -1;
static int hf_ngap_MeasurementsToActivate_M4 = -1;
static int hf_ngap_MeasurementsToActivate_M5 = -1;
static int hf_ngap_MeasurementsToActivate_M6 = -1;
static int hf_ngap_MeasurementsToActivate_M7 = -1;
static int hf_ngap_MeasurementsToActivate_M1_from_event = -1;
static int hf_ngap_MeasurementsToActivate_reserved = -1;
static int hf_ngap_MDT_Location_Information_GNSS = -1;
static int hf_ngap_MDT_Location_Information_reserved = -1;
static int hf_ngap_GlobalCable_ID_str = -1;
static int hf_ngap_UpdateFeedback_CN_PDB_DL = -1;
static int hf_ngap_UpdateFeedback_CN_PDB_UL = -1;
static int hf_ngap_UpdateFeedback_reserved = -1;
/*--- Included file: packet-ngap-hf.c ---*/
#line 1 "./asn1/ngap/packet-ngap-hf.c"
static int hf_ngap_AdditionalDLUPTNLInformationForHOList_PDU = -1; /* AdditionalDLUPTNLInformationForHOList */
static int hf_ngap_AllowedNSSAI_PDU = -1; /* AllowedNSSAI */
static int hf_ngap_AlternativeQoSParaSetIndex_PDU = -1; /* AlternativeQoSParaSetIndex */
static int hf_ngap_AlternativeQoSParaSetList_PDU = -1; /* AlternativeQoSParaSetList */
static int hf_ngap_AMFName_PDU = -1; /* AMFName */
static int hf_ngap_AMFSetID_PDU = -1; /* AMFSetID */
static int hf_ngap_AMF_TNLAssociationSetupList_PDU = -1; /* AMF_TNLAssociationSetupList */
static int hf_ngap_AMF_TNLAssociationToAddList_PDU = -1; /* AMF_TNLAssociationToAddList */
static int hf_ngap_AMF_TNLAssociationToRemoveList_PDU = -1; /* AMF_TNLAssociationToRemoveList */
static int hf_ngap_AMF_TNLAssociationToUpdateList_PDU = -1; /* AMF_TNLAssociationToUpdateList */
static int hf_ngap_AMF_UE_NGAP_ID_PDU = -1; /* AMF_UE_NGAP_ID */
static int hf_ngap_AssistanceDataForPaging_PDU = -1; /* AssistanceDataForPaging */
static int hf_ngap_AssociatedQosFlowList_PDU = -1; /* AssociatedQosFlowList */
static int hf_ngap_AuthenticatedIndication_PDU = -1; /* AuthenticatedIndication */
static int hf_ngap_BroadcastCancelledAreaList_PDU = -1; /* BroadcastCancelledAreaList */
static int hf_ngap_BroadcastCompletedAreaList_PDU = -1; /* BroadcastCompletedAreaList */
static int hf_ngap_BurstArrivalTime_PDU = -1; /* BurstArrivalTime */
static int hf_ngap_CancelAllWarningMessages_PDU = -1; /* CancelAllWarningMessages */
static int hf_ngap_Cause_PDU = -1; /* Cause */
static int hf_ngap_CellIDListForRestart_PDU = -1; /* CellIDListForRestart */
static int hf_ngap_CEmodeBSupport_Indicator_PDU = -1; /* CEmodeBSupport_Indicator */
static int hf_ngap_CEmodeBrestricted_PDU = -1; /* CEmodeBrestricted */
static int hf_ngap_CNAssistedRANTuning_PDU = -1; /* CNAssistedRANTuning */
static int hf_ngap_CNTypeRestrictionsForEquivalent_PDU = -1; /* CNTypeRestrictionsForEquivalent */
static int hf_ngap_CNTypeRestrictionsForServing_PDU = -1; /* CNTypeRestrictionsForServing */
static int hf_ngap_CommonNetworkInstance_PDU = -1; /* CommonNetworkInstance */
static int hf_ngap_ConcurrentWarningMessageInd_PDU = -1; /* ConcurrentWarningMessageInd */
static int hf_ngap_ConfiguredTACIndication_PDU = -1; /* ConfiguredTACIndication */
static int hf_ngap_CoreNetworkAssistanceInformationForInactive_PDU = -1; /* CoreNetworkAssistanceInformationForInactive */
static int hf_ngap_CPTransportLayerInformation_PDU = -1; /* CPTransportLayerInformation */
static int hf_ngap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
static int hf_ngap_DataCodingScheme_PDU = -1; /* DataCodingScheme */
static int hf_ngap_DataForwardingNotPossible_PDU = -1; /* DataForwardingNotPossible */
static int hf_ngap_DAPSRequestInfo_PDU = -1; /* DAPSRequestInfo */
static int hf_ngap_DAPSResponseInfoList_PDU = -1; /* DAPSResponseInfoList */
static int hf_ngap_DataForwardingResponseERABList_PDU = -1; /* DataForwardingResponseERABList */
static int hf_ngap_DL_CP_SecurityInformation_PDU = -1; /* DL_CP_SecurityInformation */
static int hf_ngap_DL_NGU_TNLInformationReused_PDU = -1; /* DL_NGU_TNLInformationReused */
static int hf_ngap_DirectForwardingPathAvailability_PDU = -1; /* DirectForwardingPathAvailability */
static int hf_ngap_EarlyStatusTransfer_TransparentContainer_PDU = -1; /* EarlyStatusTransfer_TransparentContainer */
static int hf_ngap_EDT_Session_PDU = -1; /* EDT_Session */
static int hf_ngap_EmergencyAreaIDListForRestart_PDU = -1; /* EmergencyAreaIDListForRestart */
static int hf_ngap_EmergencyFallbackIndicator_PDU = -1; /* EmergencyFallbackIndicator */
static int hf_ngap_Enhanced_CoverageRestriction_PDU = -1; /* Enhanced_CoverageRestriction */
static int hf_ngap_Extended_ConnectedTime_PDU = -1; /* Extended_ConnectedTime */
static int hf_ngap_EN_DCSONConfigurationTransfer_PDU = -1; /* EN_DCSONConfigurationTransfer */
static int hf_ngap_EndpointIPAddressAndPort_PDU = -1; /* EndpointIPAddressAndPort */
static int hf_ngap_EndIndication_PDU = -1; /* EndIndication */
static int hf_ngap_EUTRA_CGI_PDU = -1; /* EUTRA_CGI */
static int hf_ngap_ExpectedUEActivityBehaviour_PDU = -1; /* ExpectedUEActivityBehaviour */
static int hf_ngap_Extended_AMFName_PDU = -1; /* Extended_AMFName */
static int hf_ngap_ExtendedPacketDelayBudget_PDU = -1; /* ExtendedPacketDelayBudget */
static int hf_ngap_Extended_RANNodeName_PDU = -1; /* Extended_RANNodeName */
static int hf_ngap_ExtendedRATRestrictionInformation_PDU = -1; /* ExtendedRATRestrictionInformation */
static int hf_ngap_ExtendedSliceSupportList_PDU = -1; /* ExtendedSliceSupportList */
static int hf_ngap_ExtendedUEIdentityIndexValue_PDU = -1; /* ExtendedUEIdentityIndexValue */
static int hf_ngap_FiveG_S_TMSI_PDU = -1; /* FiveG_S_TMSI */
static int hf_ngap_GlobalCable_ID_PDU = -1; /* GlobalCable_ID */
static int hf_ngap_GlobalRANNodeID_PDU = -1; /* GlobalRANNodeID */
static int hf_ngap_GlobalTNGF_ID_PDU = -1; /* GlobalTNGF_ID */
static int hf_ngap_GlobalTWIF_ID_PDU = -1; /* GlobalTWIF_ID */
static int hf_ngap_GlobalW_AGF_ID_PDU = -1; /* GlobalW_AGF_ID */
static int hf_ngap_GUAMI_PDU = -1; /* GUAMI */
static int hf_ngap_GUAMIType_PDU = -1; /* GUAMIType */
static int hf_ngap_HandoverCommandTransfer_PDU = -1; /* HandoverCommandTransfer */
static int hf_ngap_HandoverFlag_PDU = -1; /* HandoverFlag */
static int hf_ngap_HandoverPreparationUnsuccessfulTransfer_PDU = -1; /* HandoverPreparationUnsuccessfulTransfer */
static int hf_ngap_HandoverRequestAcknowledgeTransfer_PDU = -1; /* HandoverRequestAcknowledgeTransfer */
static int hf_ngap_HandoverRequiredTransfer_PDU = -1; /* HandoverRequiredTransfer */
static int hf_ngap_HandoverResourceAllocationUnsuccessfulTransfer_PDU = -1; /* HandoverResourceAllocationUnsuccessfulTransfer */
static int hf_ngap_HandoverType_PDU = -1; /* HandoverType */
static int hf_ngap_IAB_Authorized_PDU = -1; /* IAB_Authorized */
static int hf_ngap_IAB_Supported_PDU = -1; /* IAB_Supported */
static int hf_ngap_IABNodeIndication_PDU = -1; /* IABNodeIndication */
static int hf_ngap_IMSVoiceSupportIndicator_PDU = -1; /* IMSVoiceSupportIndicator */
static int hf_ngap_IndexToRFSP_PDU = -1; /* IndexToRFSP */
static int hf_ngap_InfoOnRecommendedCellsAndRANNodesForPaging_PDU = -1; /* InfoOnRecommendedCellsAndRANNodesForPaging */
static int hf_ngap_IntersystemSONConfigurationTransfer_PDU = -1; /* IntersystemSONConfigurationTransfer */
static int hf_ngap_ngap_LastVisitedNGRANCellInformation_PDU = -1; /* LastVisitedNGRANCellInformation */
static int hf_ngap_LocationReportingAdditionalInfo_PDU = -1; /* LocationReportingAdditionalInfo */
static int hf_ngap_LocationReportingRequestType_PDU = -1; /* LocationReportingRequestType */
static int hf_ngap_LTEM_Indication_PDU = -1; /* LTEM_Indication */
static int hf_ngap_LTEV2XServicesAuthorized_PDU = -1; /* LTEV2XServicesAuthorized */
static int hf_ngap_LTEUESidelinkAggregateMaximumBitrate_PDU = -1; /* LTEUESidelinkAggregateMaximumBitrate */
static int hf_ngap_MaskedIMEISV_PDU = -1; /* MaskedIMEISV */
static int hf_ngap_MessageIdentifier_PDU = -1; /* MessageIdentifier */
static int hf_ngap_MaximumIntegrityProtectedDataRate_PDU = -1; /* MaximumIntegrityProtectedDataRate */
static int hf_ngap_MicoAllPLMN_PDU = -1; /* MicoAllPLMN */
static int hf_ngap_ngap_MobilityRestrictionList_PDU = -1; /* MobilityRestrictionList */
static int hf_ngap_MDTPLMNList_PDU = -1; /* MDTPLMNList */
static int hf_ngap_ngap_MDT_Configuration_PDU = -1; /* MDT_Configuration */
static int hf_ngap_NAS_PDU_PDU = -1; /* NAS_PDU */
static int hf_ngap_NASSecurityParametersFromNGRAN_PDU = -1; /* NASSecurityParametersFromNGRAN */
static int hf_ngap_NB_IoT_DefaultPagingDRX_PDU = -1; /* NB_IoT_DefaultPagingDRX */
static int hf_ngap_NB_IoT_PagingDRX_PDU = -1; /* NB_IoT_PagingDRX */
static int hf_ngap_NB_IoT_Paging_eDRXInfo_PDU = -1; /* NB_IoT_Paging_eDRXInfo */
static int hf_ngap_NB_IoT_UEPriority_PDU = -1; /* NB_IoT_UEPriority */
static int hf_ngap_NetworkInstance_PDU = -1; /* NetworkInstance */
static int hf_ngap_NewSecurityContextInd_PDU = -1; /* NewSecurityContextInd */
static int hf_ngap_NotifySourceNGRANNode_PDU = -1; /* NotifySourceNGRANNode */
static int hf_ngap_ngap_NGRAN_CGI_PDU = -1; /* NGRAN_CGI */
static int hf_ngap_NGRAN_TNLAssociationToRemoveList_PDU = -1; /* NGRAN_TNLAssociationToRemoveList */
static int hf_ngap_NGRANTraceID_PDU = -1; /* NGRANTraceID */
static int hf_ngap_NID_PDU = -1; /* NID */
static int hf_ngap_NPN_AccessInformation_PDU = -1; /* NPN_AccessInformation */
static int hf_ngap_NPN_MobilityInformation_PDU = -1; /* NPN_MobilityInformation */
static int hf_ngap_NPN_PagingAssistanceInformation_PDU = -1; /* NPN_PagingAssistanceInformation */
static int hf_ngap_NPN_Support_PDU = -1; /* NPN_Support */
static int hf_ngap_NR_CGI_PDU = -1; /* NR_CGI */
static int hf_ngap_NRPPa_PDU_PDU = -1; /* NRPPa_PDU */
static int hf_ngap_NumberOfBroadcastsRequested_PDU = -1; /* NumberOfBroadcastsRequested */
static int hf_ngap_NRV2XServicesAuthorized_PDU = -1; /* NRV2XServicesAuthorized */
static int hf_ngap_NRUESidelinkAggregateMaximumBitrate_PDU = -1; /* NRUESidelinkAggregateMaximumBitrate */
static int hf_ngap_OverloadResponse_PDU = -1; /* OverloadResponse */
static int hf_ngap_OverloadStartNSSAIList_PDU = -1; /* OverloadStartNSSAIList */
static int hf_ngap_PagingAssisDataforCEcapabUE_PDU = -1; /* PagingAssisDataforCEcapabUE */
static int hf_ngap_PagingDRX_PDU = -1; /* PagingDRX */
static int hf_ngap_PagingOrigin_PDU = -1; /* PagingOrigin */
static int hf_ngap_PagingPriority_PDU = -1; /* PagingPriority */
static int hf_ngap_PagingeDRXInformation_PDU = -1; /* PagingeDRXInformation */
static int hf_ngap_PathSwitchRequestAcknowledgeTransfer_PDU = -1; /* PathSwitchRequestAcknowledgeTransfer */
static int hf_ngap_PathSwitchRequestSetupFailedTransfer_PDU = -1; /* PathSwitchRequestSetupFailedTransfer */
static int hf_ngap_PathSwitchRequestTransfer_PDU = -1; /* PathSwitchRequestTransfer */
static int hf_ngap_PathSwitchRequestUnsuccessfulTransfer_PDU = -1; /* PathSwitchRequestUnsuccessfulTransfer */
static int hf_ngap_PC5QoSParameters_PDU = -1; /* PC5QoSParameters */
static int hf_ngap_PrivacyIndicator_PDU = -1; /* PrivacyIndicator */
static int hf_ngap_PDUSessionAggregateMaximumBitRate_PDU = -1; /* PDUSessionAggregateMaximumBitRate */
static int hf_ngap_PDUSessionResourceAdmittedList_PDU = -1; /* PDUSessionResourceAdmittedList */
static int hf_ngap_PDUSessionResourceFailedToModifyListModCfm_PDU = -1; /* PDUSessionResourceFailedToModifyListModCfm */
static int hf_ngap_PDUSessionResourceFailedToModifyListModRes_PDU = -1; /* PDUSessionResourceFailedToModifyListModRes */
static int hf_ngap_PDUSessionResourceFailedToResumeListRESReq_PDU = -1; /* PDUSessionResourceFailedToResumeListRESReq */
static int hf_ngap_PDUSessionResourceFailedToResumeListRESRes_PDU = -1; /* PDUSessionResourceFailedToResumeListRESRes */
static int hf_ngap_PDUSessionResourceFailedToSetupListCxtFail_PDU = -1; /* PDUSessionResourceFailedToSetupListCxtFail */
static int hf_ngap_PDUSessionResourceFailedToSetupListCxtRes_PDU = -1; /* PDUSessionResourceFailedToSetupListCxtRes */
static int hf_ngap_PDUSessionResourceFailedToSetupListHOAck_PDU = -1; /* PDUSessionResourceFailedToSetupListHOAck */
static int hf_ngap_PDUSessionResourceFailedToSetupListPSReq_PDU = -1; /* PDUSessionResourceFailedToSetupListPSReq */
static int hf_ngap_PDUSessionResourceFailedToSetupListSURes_PDU = -1; /* PDUSessionResourceFailedToSetupListSURes */
static int hf_ngap_PDUSessionResourceHandoverList_PDU = -1; /* PDUSessionResourceHandoverList */
static int hf_ngap_PDUSessionResourceListCxtRelCpl_PDU = -1; /* PDUSessionResourceListCxtRelCpl */
static int hf_ngap_PDUSessionResourceReleaseResponseTransfer_OCTET_STRING_PDU = -1; /* PDUSessionResourceReleaseResponseTransfer_OCTET_STRING */
static int hf_ngap_PDUSessionResourceListCxtRelReq_PDU = -1; /* PDUSessionResourceListCxtRelReq */
static int hf_ngap_PDUSessionResourceListHORqd_PDU = -1; /* PDUSessionResourceListHORqd */
static int hf_ngap_PDUSessionResourceModifyConfirmTransfer_PDU = -1; /* PDUSessionResourceModifyConfirmTransfer */
static int hf_ngap_PDUSessionResourceModifyIndicationUnsuccessfulTransfer_PDU = -1; /* PDUSessionResourceModifyIndicationUnsuccessfulTransfer */
static int hf_ngap_PDUSessionResourceModifyRequestTransfer_PDU = -1; /* PDUSessionResourceModifyRequestTransfer */
static int hf_ngap_PDUSessionResourceModifyResponseTransfer_PDU = -1; /* PDUSessionResourceModifyResponseTransfer */
static int hf_ngap_PDUSessionResourceModifyIndicationTransfer_PDU = -1; /* PDUSessionResourceModifyIndicationTransfer */
static int hf_ngap_PDUSessionResourceModifyListModCfm_PDU = -1; /* PDUSessionResourceModifyListModCfm */
static int hf_ngap_PDUSessionResourceModifyListModInd_PDU = -1; /* PDUSessionResourceModifyListModInd */
static int hf_ngap_PDUSessionResourceModifyListModReq_PDU = -1; /* PDUSessionResourceModifyListModReq */
static int hf_ngap_PDUSessionResourceModifyListModRes_PDU = -1; /* PDUSessionResourceModifyListModRes */
static int hf_ngap_PDUSessionResourceModifyUnsuccessfulTransfer_PDU = -1; /* PDUSessionResourceModifyUnsuccessfulTransfer */
static int hf_ngap_PDUSessionResourceNotifyList_PDU = -1; /* PDUSessionResourceNotifyList */
static int hf_ngap_PDUSessionResourceNotifyReleasedTransfer_PDU = -1; /* PDUSessionResourceNotifyReleasedTransfer */
static int hf_ngap_PDUSessionResourceNotifyTransfer_PDU = -1; /* PDUSessionResourceNotifyTransfer */
static int hf_ngap_PDUSessionResourceReleaseCommandTransfer_PDU = -1; /* PDUSessionResourceReleaseCommandTransfer */
static int hf_ngap_PDUSessionResourceReleasedListNot_PDU = -1; /* PDUSessionResourceReleasedListNot */
static int hf_ngap_PDUSessionResourceReleasedListPSAck_PDU = -1; /* PDUSessionResourceReleasedListPSAck */
static int hf_ngap_PDUSessionResourceReleasedListPSFail_PDU = -1; /* PDUSessionResourceReleasedListPSFail */
static int hf_ngap_PDUSessionResourceReleasedListRelRes_PDU = -1; /* PDUSessionResourceReleasedListRelRes */
static int hf_ngap_PDUSessionResourceReleaseResponseTransfer_PDU = -1; /* PDUSessionResourceReleaseResponseTransfer */
static int hf_ngap_PDUSessionResourceResumeListRESReq_PDU = -1; /* PDUSessionResourceResumeListRESReq */
static int hf_ngap_PDUSessionResourceResumeListRESRes_PDU = -1; /* PDUSessionResourceResumeListRESRes */
static int hf_ngap_PDUSessionResourceSecondaryRATUsageList_PDU = -1; /* PDUSessionResourceSecondaryRATUsageList */
static int hf_ngap_PDUSessionResourceSetupListCxtReq_PDU = -1; /* PDUSessionResourceSetupListCxtReq */
static int hf_ngap_PDUSessionResourceSetupListCxtRes_PDU = -1; /* PDUSessionResourceSetupListCxtRes */
static int hf_ngap_PDUSessionResourceSetupListHOReq_PDU = -1; /* PDUSessionResourceSetupListHOReq */
static int hf_ngap_PDUSessionResourceSetupListSUReq_PDU = -1; /* PDUSessionResourceSetupListSUReq */
static int hf_ngap_PDUSessionResourceSetupListSURes_PDU = -1; /* PDUSessionResourceSetupListSURes */
static int hf_ngap_PDUSessionResourceSetupRequestTransfer_PDU = -1; /* PDUSessionResourceSetupRequestTransfer */
static int hf_ngap_PDUSessionResourceSetupResponseTransfer_PDU = -1; /* PDUSessionResourceSetupResponseTransfer */
static int hf_ngap_PDUSessionResourceSetupUnsuccessfulTransfer_PDU = -1; /* PDUSessionResourceSetupUnsuccessfulTransfer */
static int hf_ngap_PDUSessionResourceSuspendListSUSReq_PDU = -1; /* PDUSessionResourceSuspendListSUSReq */
static int hf_ngap_PDUSessionResourceSwitchedList_PDU = -1; /* PDUSessionResourceSwitchedList */
static int hf_ngap_PDUSessionResourceToBeSwitchedDLList_PDU = -1; /* PDUSessionResourceToBeSwitchedDLList */
static int hf_ngap_PDUSessionResourceToReleaseListHOCmd_PDU = -1; /* PDUSessionResourceToReleaseListHOCmd */
static int hf_ngap_PDUSessionResourceToReleaseListRelCmd_PDU = -1; /* PDUSessionResourceToReleaseListRelCmd */
static int hf_ngap_PDUSessionType_PDU = -1; /* PDUSessionType */
static int hf_ngap_PLMNIdentity_PDU = -1; /* PLMNIdentity */
static int hf_ngap_PLMNSupportList_PDU = -1; /* PLMNSupportList */
static int hf_ngap_PWSFailedCellIDList_PDU = -1; /* PWSFailedCellIDList */
static int hf_ngap_QosFlowAddOrModifyRequestList_PDU = -1; /* QosFlowAddOrModifyRequestList */
static int hf_ngap_QosFlowFeedbackList_PDU = -1; /* QosFlowFeedbackList */
static int hf_ngap_QosMonitoringRequest_PDU = -1; /* QosMonitoringRequest */
static int hf_ngap_QosMonitoringReportingFrequency_PDU = -1; /* QosMonitoringReportingFrequency */
static int hf_ngap_QosFlowListWithCause_PDU = -1; /* QosFlowListWithCause */
static int hf_ngap_QosFlowParametersList_PDU = -1; /* QosFlowParametersList */
static int hf_ngap_QosFlowPerTNLInformation_PDU = -1; /* QosFlowPerTNLInformation */
static int hf_ngap_QosFlowPerTNLInformationList_PDU = -1; /* QosFlowPerTNLInformationList */
static int hf_ngap_QosFlowSetupRequestList_PDU = -1; /* QosFlowSetupRequestList */
static int hf_ngap_RANNodeName_PDU = -1; /* RANNodeName */
static int hf_ngap_RANPagingPriority_PDU = -1; /* RANPagingPriority */
static int hf_ngap_RANStatusTransfer_TransparentContainer_PDU = -1; /* RANStatusTransfer_TransparentContainer */
static int hf_ngap_RAN_UE_NGAP_ID_PDU = -1; /* RAN_UE_NGAP_ID */
static int hf_ngap_RAT_Information_PDU = -1; /* RAT_Information */
static int hf_ngap_RedirectionVoiceFallback_PDU = -1; /* RedirectionVoiceFallback */
static int hf_ngap_RedundantPDUSessionInformation_PDU = -1; /* RedundantPDUSessionInformation */
static int hf_ngap_RedundantQosFlowIndicator_PDU = -1; /* RedundantQosFlowIndicator */
static int hf_ngap_RelativeAMFCapacity_PDU = -1; /* RelativeAMFCapacity */
static int hf_ngap_RepetitionPeriod_PDU = -1; /* RepetitionPeriod */
static int hf_ngap_ResetType_PDU = -1; /* ResetType */
static int hf_ngap_RGLevelWirelineAccessCharacteristics_PDU = -1; /* RGLevelWirelineAccessCharacteristics */
static int hf_ngap_RoutingID_PDU = -1; /* RoutingID */
static int hf_ngap_RRCEstablishmentCause_PDU = -1; /* RRCEstablishmentCause */
static int hf_ngap_RRCInactiveTransitionReportRequest_PDU = -1; /* RRCInactiveTransitionReportRequest */
static int hf_ngap_RRCState_PDU = -1; /* RRCState */
static int hf_ngap_RIMInformationTransfer_PDU = -1; /* RIMInformationTransfer */
static int hf_ngap_SCTP_TLAs_PDU = -1; /* SCTP_TLAs */
static int hf_ngap_SecondaryRATUsageInformation_PDU = -1; /* SecondaryRATUsageInformation */
static int hf_ngap_SecondaryRATDataUsageReportTransfer_PDU = -1; /* SecondaryRATDataUsageReportTransfer */
static int hf_ngap_SecurityContext_PDU = -1; /* SecurityContext */
static int hf_ngap_SecurityIndication_PDU = -1; /* SecurityIndication */
static int hf_ngap_SecurityKey_PDU = -1; /* SecurityKey */
static int hf_ngap_SecurityResult_PDU = -1; /* SecurityResult */
static int hf_ngap_SerialNumber_PDU = -1; /* SerialNumber */
static int hf_ngap_ServedGUAMIList_PDU = -1; /* ServedGUAMIList */
static int hf_ngap_SgNB_UE_X2AP_ID_PDU = -1; /* SgNB_UE_X2AP_ID */
static int hf_ngap_SliceSupportList_PDU = -1; /* SliceSupportList */
static int hf_ngap_S_NSSAI_PDU = -1; /* S_NSSAI */
static int hf_ngap_ngap_SONConfigurationTransfer_PDU = -1; /* SONConfigurationTransfer */
static int hf_ngap_SONInformationReport_PDU = -1; /* SONInformationReport */
static int hf_ngap_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU = -1; /* SourceNGRANNode_ToTargetNGRANNode_TransparentContainer */
static int hf_ngap_SourceToTarget_TransparentContainer_PDU = -1; /* SourceToTarget_TransparentContainer */
static int hf_ngap_SourceToTarget_AMFInformationReroute_PDU = -1; /* SourceToTarget_AMFInformationReroute */
static int hf_ngap_SRVCCOperationPossible_PDU = -1; /* SRVCCOperationPossible */
static int hf_ngap_SupportedTAList_PDU = -1; /* SupportedTAList */
static int hf_ngap_Suspend_Request_Indication_PDU = -1; /* Suspend_Request_Indication */
static int hf_ngap_Suspend_Response_Indication_PDU = -1; /* Suspend_Response_Indication */
static int hf_ngap_TAI_PDU = -1; /* TAI */
static int hf_ngap_TAIListForPaging_PDU = -1; /* TAIListForPaging */
static int hf_ngap_TAIListForRestart_PDU = -1; /* TAIListForRestart */
static int hf_ngap_TargetID_PDU = -1; /* TargetID */
static int hf_ngap_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU = -1; /* TargetNGRANNode_ToSourceNGRANNode_TransparentContainer */
static int hf_ngap_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_PDU = -1; /* TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer */
static int hf_ngap_TargetRNC_ID_PDU = -1; /* TargetRNC_ID */
static int hf_ngap_TargetToSource_TransparentContainer_PDU = -1; /* TargetToSource_TransparentContainer */
static int hf_ngap_TargettoSource_Failure_TransparentContainer_PDU = -1; /* TargettoSource_Failure_TransparentContainer */
static int hf_ngap_TimeToWait_PDU = -1; /* TimeToWait */
static int hf_ngap_TNLAssociationList_PDU = -1; /* TNLAssociationList */
static int hf_ngap_TraceActivation_PDU = -1; /* TraceActivation */
static int hf_ngap_TrafficLoadReductionIndication_PDU = -1; /* TrafficLoadReductionIndication */
static int hf_ngap_TransportLayerAddress_PDU = -1; /* TransportLayerAddress */
static int hf_ngap_TSCTrafficCharacteristics_PDU = -1; /* TSCTrafficCharacteristics */
static int hf_ngap_UEAggregateMaximumBitRate_PDU = -1; /* UEAggregateMaximumBitRate */
static int hf_ngap_UE_associatedLogicalNG_connectionList_PDU = -1; /* UE_associatedLogicalNG_connectionList */
static int hf_ngap_UECapabilityInfoRequest_PDU = -1; /* UECapabilityInfoRequest */
static int hf_ngap_UEContextRequest_PDU = -1; /* UEContextRequest */
static int hf_ngap_UE_DifferentiationInfo_PDU = -1; /* UE_DifferentiationInfo */
static int hf_ngap_UEHistoryInformationFromTheUE_PDU = -1; /* UEHistoryInformationFromTheUE */
static int hf_ngap_UE_NGAP_IDs_PDU = -1; /* UE_NGAP_IDs */
static int hf_ngap_UEPagingIdentity_PDU = -1; /* UEPagingIdentity */
static int hf_ngap_UEPresenceInAreaOfInterestList_PDU = -1; /* UEPresenceInAreaOfInterestList */
static int hf_ngap_UERadioCapability_PDU = -1; /* UERadioCapability */
static int hf_ngap_UERadioCapabilityForPaging_PDU = -1; /* UERadioCapabilityForPaging */
static int hf_ngap_UERadioCapabilityForPagingOfNB_IoT_PDU = -1; /* UERadioCapabilityForPagingOfNB_IoT */
static int hf_ngap_UERadioCapabilityID_PDU = -1; /* UERadioCapabilityID */
static int hf_ngap_UERetentionInformation_PDU = -1; /* UERetentionInformation */
static int hf_ngap_UESecurityCapabilities_PDU = -1; /* UESecurityCapabilities */
static int hf_ngap_UE_UP_CIoT_Support_PDU = -1; /* UE_UP_CIoT_Support */
static int hf_ngap_UL_CP_SecurityInformation_PDU = -1; /* UL_CP_SecurityInformation */
static int hf_ngap_UL_NGU_UP_TNLModifyList_PDU = -1; /* UL_NGU_UP_TNLModifyList */
static int hf_ngap_UnavailableGUAMIList_PDU = -1; /* UnavailableGUAMIList */
static int hf_ngap_ULForwarding_PDU = -1; /* ULForwarding */
static int hf_ngap_UPTransportLayerInformation_PDU = -1; /* UPTransportLayerInformation */
static int hf_ngap_UPTransportLayerInformationList_PDU = -1; /* UPTransportLayerInformationList */
static int hf_ngap_UPTransportLayerInformationPairList_PDU = -1; /* UPTransportLayerInformationPairList */
static int hf_ngap_URI_address_PDU = -1; /* URI_address */
static int hf_ngap_UserLocationInformation_PDU = -1; /* UserLocationInformation */
static int hf_ngap_UserLocationInformationTNGF_PDU = -1; /* UserLocationInformationTNGF */
static int hf_ngap_UserLocationInformationTWIF_PDU = -1; /* UserLocationInformationTWIF */
static int hf_ngap_UserLocationInformationW_AGF_PDU = -1; /* UserLocationInformationW_AGF */
static int hf_ngap_WarningAreaCoordinates_PDU = -1; /* WarningAreaCoordinates */
static int hf_ngap_WarningAreaList_PDU = -1; /* WarningAreaList */
static int hf_ngap_WarningMessageContents_PDU = -1; /* WarningMessageContents */
static int hf_ngap_WarningSecurityInfo_PDU = -1; /* WarningSecurityInfo */
static int hf_ngap_WarningType_PDU = -1; /* WarningType */
static int hf_ngap_WUS_Assistance_Information_PDU = -1; /* WUS_Assistance_Information */
static int hf_ngap_PDUSessionResourceSetupRequest_PDU = -1; /* PDUSessionResourceSetupRequest */
static int hf_ngap_PDUSessionResourceSetupResponse_PDU = -1; /* PDUSessionResourceSetupResponse */
static int hf_ngap_PDUSessionResourceReleaseCommand_PDU = -1; /* PDUSessionResourceReleaseCommand */
static int hf_ngap_PDUSessionResourceReleaseResponse_PDU = -1; /* PDUSessionResourceReleaseResponse */
static int hf_ngap_PDUSessionResourceModifyRequest_PDU = -1; /* PDUSessionResourceModifyRequest */
static int hf_ngap_PDUSessionResourceModifyResponse_PDU = -1; /* PDUSessionResourceModifyResponse */
static int hf_ngap_PDUSessionResourceNotify_PDU = -1; /* PDUSessionResourceNotify */
static int hf_ngap_PDUSessionResourceModifyIndication_PDU = -1; /* PDUSessionResourceModifyIndication */
static int hf_ngap_PDUSessionResourceModifyConfirm_PDU = -1; /* PDUSessionResourceModifyConfirm */
static int hf_ngap_InitialContextSetupRequest_PDU = -1; /* InitialContextSetupRequest */
static int hf_ngap_InitialContextSetupResponse_PDU = -1; /* InitialContextSetupResponse */
static int hf_ngap_InitialContextSetupFailure_PDU = -1; /* InitialContextSetupFailure */
static int hf_ngap_UEContextReleaseRequest_PDU = -1; /* UEContextReleaseRequest */
static int hf_ngap_UEContextReleaseCommand_PDU = -1; /* UEContextReleaseCommand */
static int hf_ngap_UEContextReleaseComplete_PDU = -1; /* UEContextReleaseComplete */
static int hf_ngap_UEContextResumeRequest_PDU = -1; /* UEContextResumeRequest */
static int hf_ngap_UEContextResumeResponse_PDU = -1; /* UEContextResumeResponse */
static int hf_ngap_UEContextResumeFailure_PDU = -1; /* UEContextResumeFailure */
static int hf_ngap_UEContextSuspendRequest_PDU = -1; /* UEContextSuspendRequest */
static int hf_ngap_UEContextSuspendResponse_PDU = -1; /* UEContextSuspendResponse */
static int hf_ngap_UEContextSuspendFailure_PDU = -1; /* UEContextSuspendFailure */
static int hf_ngap_UEContextModificationRequest_PDU = -1; /* UEContextModificationRequest */
static int hf_ngap_UEContextModificationResponse_PDU = -1; /* UEContextModificationResponse */
static int hf_ngap_UEContextModificationFailure_PDU = -1; /* UEContextModificationFailure */
static int hf_ngap_RRCInactiveTransitionReport_PDU = -1; /* RRCInactiveTransitionReport */
static int hf_ngap_RetrieveUEInformation_PDU = -1; /* RetrieveUEInformation */
static int hf_ngap_UEInformationTransfer_PDU = -1; /* UEInformationTransfer */
static int hf_ngap_RANCPRelocationIndication_PDU = -1; /* RANCPRelocationIndication */
static int hf_ngap_HandoverRequired_PDU = -1; /* HandoverRequired */
static int hf_ngap_HandoverCommand_PDU = -1; /* HandoverCommand */
static int hf_ngap_HandoverPreparationFailure_PDU = -1; /* HandoverPreparationFailure */
static int hf_ngap_HandoverRequest_PDU = -1; /* HandoverRequest */
static int hf_ngap_HandoverRequestAcknowledge_PDU = -1; /* HandoverRequestAcknowledge */
static int hf_ngap_HandoverFailure_PDU = -1; /* HandoverFailure */
static int hf_ngap_HandoverNotify_PDU = -1; /* HandoverNotify */
static int hf_ngap_PathSwitchRequest_PDU = -1; /* PathSwitchRequest */
static int hf_ngap_PathSwitchRequestAcknowledge_PDU = -1; /* PathSwitchRequestAcknowledge */
static int hf_ngap_PathSwitchRequestFailure_PDU = -1; /* PathSwitchRequestFailure */
static int hf_ngap_HandoverCancel_PDU = -1; /* HandoverCancel */
static int hf_ngap_HandoverCancelAcknowledge_PDU = -1; /* HandoverCancelAcknowledge */
static int hf_ngap_HandoverSuccess_PDU = -1; /* HandoverSuccess */
static int hf_ngap_UplinkRANEarlyStatusTransfer_PDU = -1; /* UplinkRANEarlyStatusTransfer */
static int hf_ngap_DownlinkRANEarlyStatusTransfer_PDU = -1; /* DownlinkRANEarlyStatusTransfer */
static int hf_ngap_UplinkRANStatusTransfer_PDU = -1; /* UplinkRANStatusTransfer */
static int hf_ngap_DownlinkRANStatusTransfer_PDU = -1; /* DownlinkRANStatusTransfer */
static int hf_ngap_Paging_PDU = -1; /* Paging */
static int hf_ngap_InitialUEMessage_PDU = -1; /* InitialUEMessage */
static int hf_ngap_DownlinkNASTransport_PDU = -1; /* DownlinkNASTransport */
static int hf_ngap_UplinkNASTransport_PDU = -1; /* UplinkNASTransport */
static int hf_ngap_W_AGFIdentityInformation_PDU = -1; /* W_AGFIdentityInformation */
static int hf_ngap_TNGFIdentityInformation_PDU = -1; /* TNGFIdentityInformation */
static int hf_ngap_TWIFIdentityInformation_PDU = -1; /* TWIFIdentityInformation */
static int hf_ngap_NASNonDeliveryIndication_PDU = -1; /* NASNonDeliveryIndication */
static int hf_ngap_RerouteNASRequest_PDU = -1; /* RerouteNASRequest */
static int hf_ngap_NGAP_Message_PDU = -1; /* NGAP_Message */
static int hf_ngap_NGSetupRequest_PDU = -1; /* NGSetupRequest */
static int hf_ngap_NGSetupResponse_PDU = -1; /* NGSetupResponse */
static int hf_ngap_NGSetupFailure_PDU = -1; /* NGSetupFailure */
static int hf_ngap_RANConfigurationUpdate_PDU = -1; /* RANConfigurationUpdate */
static int hf_ngap_RANConfigurationUpdateAcknowledge_PDU = -1; /* RANConfigurationUpdateAcknowledge */
static int hf_ngap_RANConfigurationUpdateFailure_PDU = -1; /* RANConfigurationUpdateFailure */
static int hf_ngap_AMFConfigurationUpdate_PDU = -1; /* AMFConfigurationUpdate */
static int hf_ngap_AMFConfigurationUpdateAcknowledge_PDU = -1; /* AMFConfigurationUpdateAcknowledge */
static int hf_ngap_AMFConfigurationUpdateFailure_PDU = -1; /* AMFConfigurationUpdateFailure */
static int hf_ngap_AMFStatusIndication_PDU = -1; /* AMFStatusIndication */
static int hf_ngap_NGReset_PDU = -1; /* NGReset */
static int hf_ngap_NGResetAcknowledge_PDU = -1; /* NGResetAcknowledge */
static int hf_ngap_ErrorIndication_PDU = -1; /* ErrorIndication */
static int hf_ngap_OverloadStart_PDU = -1; /* OverloadStart */
static int hf_ngap_OverloadStop_PDU = -1; /* OverloadStop */
static int hf_ngap_UplinkRANConfigurationTransfer_PDU = -1; /* UplinkRANConfigurationTransfer */
static int hf_ngap_DownlinkRANConfigurationTransfer_PDU = -1; /* DownlinkRANConfigurationTransfer */
static int hf_ngap_WriteReplaceWarningRequest_PDU = -1; /* WriteReplaceWarningRequest */
static int hf_ngap_WriteReplaceWarningResponse_PDU = -1; /* WriteReplaceWarningResponse */
static int hf_ngap_PWSCancelRequest_PDU = -1; /* PWSCancelRequest */
static int hf_ngap_PWSCancelResponse_PDU = -1; /* PWSCancelResponse */
static int hf_ngap_PWSRestartIndication_PDU = -1; /* PWSRestartIndication */
static int hf_ngap_PWSFailureIndication_PDU = -1; /* PWSFailureIndication */
static int hf_ngap_DownlinkUEAssociatedNRPPaTransport_PDU = -1; /* DownlinkUEAssociatedNRPPaTransport */
static int hf_ngap_UplinkUEAssociatedNRPPaTransport_PDU = -1; /* UplinkUEAssociatedNRPPaTransport */
static int hf_ngap_DownlinkNonUEAssociatedNRPPaTransport_PDU = -1; /* DownlinkNonUEAssociatedNRPPaTransport */
static int hf_ngap_UplinkNonUEAssociatedNRPPaTransport_PDU = -1; /* UplinkNonUEAssociatedNRPPaTransport */
static int hf_ngap_TraceStart_PDU = -1; /* TraceStart */
static int hf_ngap_TraceFailureIndication_PDU = -1; /* TraceFailureIndication */
static int hf_ngap_DeactivateTrace_PDU = -1; /* DeactivateTrace */
static int hf_ngap_CellTrafficTrace_PDU = -1; /* CellTrafficTrace */
static int hf_ngap_LocationReportingControl_PDU = -1; /* LocationReportingControl */
static int hf_ngap_LocationReportingFailureIndication_PDU = -1; /* LocationReportingFailureIndication */
static int hf_ngap_LocationReport_PDU = -1; /* LocationReport */
static int hf_ngap_UETNLABindingReleaseRequest_PDU = -1; /* UETNLABindingReleaseRequest */
static int hf_ngap_UERadioCapabilityInfoIndication_PDU = -1; /* UERadioCapabilityInfoIndication */
static int hf_ngap_UERadioCapabilityCheckRequest_PDU = -1; /* UERadioCapabilityCheckRequest */
static int hf_ngap_UERadioCapabilityCheckResponse_PDU = -1; /* UERadioCapabilityCheckResponse */
static int hf_ngap_PrivateMessage_PDU = -1; /* PrivateMessage */
static int hf_ngap_SecondaryRATDataUsageReport_PDU = -1; /* SecondaryRATDataUsageReport */
static int hf_ngap_UplinkRIMInformationTransfer_PDU = -1; /* UplinkRIMInformationTransfer */
static int hf_ngap_DownlinkRIMInformationTransfer_PDU = -1; /* DownlinkRIMInformationTransfer */
static int hf_ngap_ConnectionEstablishmentIndication_PDU = -1; /* ConnectionEstablishmentIndication */
static int hf_ngap_UERadioCapabilityIDMappingRequest_PDU = -1; /* UERadioCapabilityIDMappingRequest */
static int hf_ngap_UERadioCapabilityIDMappingResponse_PDU = -1; /* UERadioCapabilityIDMappingResponse */
static int hf_ngap_AMFCPRelocationIndication_PDU = -1; /* AMFCPRelocationIndication */
static int hf_ngap_NGAP_PDU_PDU = -1; /* NGAP_PDU */
static int hf_ngap_UEContextResumeRequestTransfer_PDU = -1; /* UEContextResumeRequestTransfer */
static int hf_ngap_UEContextResumeResponseTransfer_PDU = -1; /* UEContextResumeResponseTransfer */
static int hf_ngap_UEContextSuspendRequestTransfer_PDU = -1; /* UEContextSuspendRequestTransfer */
static int hf_ngap_local = -1; /* INTEGER_0_65535 */
static int hf_ngap_global = -1; /* OBJECT_IDENTIFIER */
static int hf_ngap_ProtocolIE_Container_item = -1; /* ProtocolIE_Field */
static int hf_ngap_id = -1; /* ProtocolIE_ID */
static int hf_ngap_criticality = -1; /* Criticality */
static int hf_ngap_ie_field_value = -1; /* T_ie_field_value */
static int hf_ngap_ProtocolExtensionContainer_item = -1; /* ProtocolExtensionField */
static int hf_ngap_ext_id = -1; /* ProtocolExtensionID */
static int hf_ngap_extensionValue = -1; /* T_extensionValue */
static int hf_ngap_PrivateIE_Container_item = -1; /* PrivateIE_Field */
static int hf_ngap_private_id = -1; /* PrivateIE_ID */
static int hf_ngap_private_value = -1; /* T_private_value */
static int hf_ngap_AdditionalDLUPTNLInformationForHOList_item = -1; /* AdditionalDLUPTNLInformationForHOItem */
static int hf_ngap_additionalDL_NGU_UP_TNLInformation = -1; /* UPTransportLayerInformation */
static int hf_ngap_additionalQosFlowSetupResponseList = -1; /* QosFlowListWithDataForwarding */
static int hf_ngap_additionalDLForwardingUPTNLInformation = -1; /* UPTransportLayerInformation */
static int hf_ngap_iE_Extensions = -1; /* ProtocolExtensionContainer */
static int hf_ngap_priorityLevelARP = -1; /* PriorityLevelARP */
static int hf_ngap_pre_emptionCapability = -1; /* Pre_emptionCapability */
static int hf_ngap_pre_emptionVulnerability = -1; /* Pre_emptionVulnerability */
static int hf_ngap_Allowed_CAG_List_per_PLMN_item = -1; /* CAG_ID */
static int hf_ngap_AllowedNSSAI_item = -1; /* AllowedNSSAI_Item */
static int hf_ngap_s_NSSAI = -1; /* S_NSSAI */
static int hf_ngap_Allowed_PNI_NPN_List_item = -1; /* Allowed_PNI_NPN_Item */
static int hf_ngap_pLMNIdentity = -1; /* PLMNIdentity */
static int hf_ngap_pNI_NPN_restricted = -1; /* T_pNI_NPN_restricted */
static int hf_ngap_allowed_CAG_List_per_PLMN = -1; /* Allowed_CAG_List_per_PLMN */
static int hf_ngap_AllowedTACs_item = -1; /* TAC */
static int hf_ngap_AlternativeQoSParaSetList_item = -1; /* AlternativeQoSParaSetItem */
static int hf_ngap_alternativeQoSParaSetIndex = -1; /* AlternativeQoSParaSetIndex */
static int hf_ngap_guaranteedFlowBitRateDL = -1; /* BitRate */
static int hf_ngap_guaranteedFlowBitRateUL = -1; /* BitRate */
static int hf_ngap_packetDelayBudget = -1; /* PacketDelayBudget */
static int hf_ngap_packetErrorRate = -1; /* PacketErrorRate */
static int hf_ngap_globalRANNodeID = -1; /* GlobalRANNodeID */
static int hf_ngap_tAI = -1; /* TAI */
static int hf_ngap_choice_Extensions = -1; /* ProtocolIE_SingleContainer */
static int hf_ngap_AMF_TNLAssociationSetupList_item = -1; /* AMF_TNLAssociationSetupItem */
static int hf_ngap_aMF_TNLAssociationAddress = -1; /* CPTransportLayerInformation */
static int hf_ngap_AMF_TNLAssociationToAddList_item = -1; /* AMF_TNLAssociationToAddItem */
static int hf_ngap_tNLAssociationUsage = -1; /* TNLAssociationUsage */
static int hf_ngap_tNLAddressWeightFactor = -1; /* TNLAddressWeightFactor */
static int hf_ngap_AMF_TNLAssociationToRemoveList_item = -1; /* AMF_TNLAssociationToRemoveItem */
static int hf_ngap_AMF_TNLAssociationToUpdateList_item = -1; /* AMF_TNLAssociationToUpdateItem */
static int hf_ngap_areaOfInterestTAIList = -1; /* AreaOfInterestTAIList */
static int hf_ngap_areaOfInterestCellList = -1; /* AreaOfInterestCellList */
static int hf_ngap_areaOfInterestRANNodeList = -1; /* AreaOfInterestRANNodeList */
static int hf_ngap_AreaOfInterestCellList_item = -1; /* AreaOfInterestCellItem */
static int hf_ngap_nGRAN_CGI = -1; /* NGRAN_CGI */
static int hf_ngap_AreaOfInterestList_item = -1; /* AreaOfInterestItem */
static int hf_ngap_areaOfInterest = -1; /* AreaOfInterest */
static int hf_ngap_locationReportingReferenceID = -1; /* LocationReportingReferenceID */
static int hf_ngap_AreaOfInterestRANNodeList_item = -1; /* AreaOfInterestRANNodeItem */
static int hf_ngap_AreaOfInterestTAIList_item = -1; /* AreaOfInterestTAIItem */
static int hf_ngap_assistanceDataForRecommendedCells = -1; /* AssistanceDataForRecommendedCells */
static int hf_ngap_pagingAttemptInformation = -1; /* PagingAttemptInformation */
static int hf_ngap_recommendedCellsForPaging = -1; /* RecommendedCellsForPaging */
static int hf_ngap_AssociatedQosFlowList_item = -1; /* AssociatedQosFlowItem */
static int hf_ngap_qosFlowIdentifier = -1; /* QosFlowIdentifier */
static int hf_ngap_qosFlowMappingIndication = -1; /* T_qosFlowMappingIndication */
static int hf_ngap_cellBased = -1; /* CellBasedMDT_NR */
static int hf_ngap_tABased = -1; /* TABasedMDT */
static int hf_ngap_pLMNWide = -1; /* NULL */
static int hf_ngap_tAIBased = -1; /* TAIBasedMDT */
static int hf_ngap_cellBased_01 = -1; /* CellBasedMDT_EUTRA */
static int hf_ngap_AreaScopeOfNeighCellsList_item = -1; /* AreaScopeOfNeighCellsItem */
static int hf_ngap_nrFrequencyInfo = -1; /* NRFrequencyInfo */
static int hf_ngap_pciListForMDT = -1; /* PCIListForMDT */
static int hf_ngap_cellIDCancelledEUTRA = -1; /* CellIDCancelledEUTRA */
static int hf_ngap_tAICancelledEUTRA = -1; /* TAICancelledEUTRA */
static int hf_ngap_emergencyAreaIDCancelledEUTRA = -1; /* EmergencyAreaIDCancelledEUTRA */
static int hf_ngap_cellIDCancelledNR = -1; /* CellIDCancelledNR */
static int hf_ngap_tAICancelledNR = -1; /* TAICancelledNR */
static int hf_ngap_emergencyAreaIDCancelledNR = -1; /* EmergencyAreaIDCancelledNR */
static int hf_ngap_cellIDBroadcastEUTRA = -1; /* CellIDBroadcastEUTRA */
static int hf_ngap_tAIBroadcastEUTRA = -1; /* TAIBroadcastEUTRA */
static int hf_ngap_emergencyAreaIDBroadcastEUTRA = -1; /* EmergencyAreaIDBroadcastEUTRA */
static int hf_ngap_cellIDBroadcastNR = -1; /* CellIDBroadcastNR */
static int hf_ngap_tAIBroadcastNR = -1; /* TAIBroadcastNR */
static int hf_ngap_emergencyAreaIDBroadcastNR = -1; /* EmergencyAreaIDBroadcastNR */
static int hf_ngap_BroadcastPLMNList_item = -1; /* BroadcastPLMNItem */
static int hf_ngap_tAISliceSupportList = -1; /* SliceSupportList */
static int hf_ngap_bluetoothMeasConfig = -1; /* BluetoothMeasConfig */
static int hf_ngap_bluetoothMeasConfigNameList = -1; /* BluetoothMeasConfigNameList */
static int hf_ngap_bt_rssi = -1; /* T_bt_rssi */
static int hf_ngap_BluetoothMeasConfigNameList_item = -1; /* BluetoothMeasConfigNameItem */
static int hf_ngap_bluetoothName = -1; /* BluetoothName */
static int hf_ngap_CancelledCellsInEAI_EUTRA_item = -1; /* CancelledCellsInEAI_EUTRA_Item */
static int hf_ngap_eUTRA_CGI = -1; /* EUTRA_CGI */
static int hf_ngap_numberOfBroadcasts = -1; /* NumberOfBroadcasts */
static int hf_ngap_CancelledCellsInEAI_NR_item = -1; /* CancelledCellsInEAI_NR_Item */
static int hf_ngap_nR_CGI = -1; /* NR_CGI */
static int hf_ngap_CancelledCellsInTAI_EUTRA_item = -1; /* CancelledCellsInTAI_EUTRA_Item */
static int hf_ngap_CancelledCellsInTAI_NR_item = -1; /* CancelledCellsInTAI_NR_Item */
static int hf_ngap_CandidateCellList_item = -1; /* CandidateCellItem */
static int hf_ngap_candidateCell = -1; /* CandidateCell */
static int hf_ngap_candidateCGI = -1; /* CandidateCellID */
static int hf_ngap_candidatePCI = -1; /* CandidatePCI */
static int hf_ngap_candidateCellID = -1; /* NR_CGI */
static int hf_ngap_candidatePCI_01 = -1; /* INTEGER_0_1007_ */
static int hf_ngap_candidateNRARFCN = -1; /* INTEGER_0_3279165 */
static int hf_ngap_radioNetwork = -1; /* CauseRadioNetwork */
static int hf_ngap_transport = -1; /* CauseTransport */
static int hf_ngap_nas = -1; /* CauseNas */
static int hf_ngap_protocol = -1; /* CauseProtocol */
static int hf_ngap_misc = -1; /* CauseMisc */
static int hf_ngap_cellCAGList = -1; /* CellCAGList */
static int hf_ngap_CellCAGList_item = -1; /* CAG_ID */
static int hf_ngap_CellIDBroadcastEUTRA_item = -1; /* CellIDBroadcastEUTRA_Item */
static int hf_ngap_CellIDBroadcastNR_item = -1; /* CellIDBroadcastNR_Item */
static int hf_ngap_CellIDCancelledEUTRA_item = -1; /* CellIDCancelledEUTRA_Item */
static int hf_ngap_CellIDCancelledNR_item = -1; /* CellIDCancelledNR_Item */
static int hf_ngap_eUTRA_CGIListforRestart = -1; /* EUTRA_CGIList */
static int hf_ngap_nR_CGIListforRestart = -1; /* NR_CGIList */
static int hf_ngap_cellSize = -1; /* CellSize */
static int hf_ngap_expectedUEBehaviour = -1; /* ExpectedUEBehaviour */
static int hf_ngap_CNTypeRestrictionsForEquivalent_item = -1; /* CNTypeRestrictionsForEquivalentItem */
static int hf_ngap_plmnIdentity = -1; /* PLMNIdentity */
static int hf_ngap_cn_Type = -1; /* T_cn_Type */
static int hf_ngap_CompletedCellsInEAI_EUTRA_item = -1; /* CompletedCellsInEAI_EUTRA_Item */
static int hf_ngap_CompletedCellsInEAI_NR_item = -1; /* CompletedCellsInEAI_NR_Item */
static int hf_ngap_CompletedCellsInTAI_EUTRA_item = -1; /* CompletedCellsInTAI_EUTRA_Item */
static int hf_ngap_CompletedCellsInTAI_NR_item = -1; /* CompletedCellsInTAI_NR_Item */
static int hf_ngap_uEIdentityIndexValue = -1; /* UEIdentityIndexValue */
static int hf_ngap_uESpecificDRX = -1; /* PagingDRX */
static int hf_ngap_periodicRegistrationUpdateTimer = -1; /* PeriodicRegistrationUpdateTimer */
static int hf_ngap_mICOModeIndication = -1; /* MICOModeIndication */
static int hf_ngap_tAIListForInactive = -1; /* TAIListForInactive */
static int hf_ngap_pDCP_SN12 = -1; /* INTEGER_0_4095 */
static int hf_ngap_hFN_PDCP_SN12 = -1; /* INTEGER_0_1048575 */
static int hf_ngap_pDCP_SN18 = -1; /* INTEGER_0_262143 */
static int hf_ngap_hFN_PDCP_SN18 = -1; /* INTEGER_0_16383 */
static int hf_ngap_endpointIPAddress = -1; /* TransportLayerAddress */
static int hf_ngap_procedureCode = -1; /* ProcedureCode */
static int hf_ngap_triggeringMessage = -1; /* TriggeringMessage */
static int hf_ngap_procedureCriticality = -1; /* Criticality */
static int hf_ngap_iEsCriticalityDiagnostics = -1; /* CriticalityDiagnostics_IE_List */
static int hf_ngap_CriticalityDiagnostics_IE_List_item = -1; /* CriticalityDiagnostics_IE_Item */
static int hf_ngap_iECriticality = -1; /* Criticality */
static int hf_ngap_iE_ID = -1; /* ProtocolIE_ID */
static int hf_ngap_typeOfError = -1; /* TypeOfError */
static int hf_ngap_cellIdListforMDT = -1; /* CellIdListforMDT_NR */
static int hf_ngap_CellIdListforMDT_NR_item = -1; /* NR_CGI */
static int hf_ngap_cellIdListforMDT_01 = -1; /* CellIdListforMDT_EUTRA */
static int hf_ngap_CellIdListforMDT_EUTRA_item = -1; /* EUTRA_CGI */
static int hf_ngap_DataForwardingResponseDRBList_item = -1; /* DataForwardingResponseDRBItem */
static int hf_ngap_dRB_ID = -1; /* DRB_ID */
static int hf_ngap_dLForwardingUP_TNLInformation = -1; /* UPTransportLayerInformation */
static int hf_ngap_uLForwardingUP_TNLInformation = -1; /* UPTransportLayerInformation */
static int hf_ngap_dAPSIndicator = -1; /* T_dAPSIndicator */
static int hf_ngap_DAPSResponseInfoList_item = -1; /* DAPSResponseInfoItem */
static int hf_ngap_dAPSResponseInfo = -1; /* DAPSResponseInfo */
static int hf_ngap_iE_Extension = -1; /* ProtocolExtensionContainer */
static int hf_ngap_dapsresponseindicator = -1; /* T_dapsresponseindicator */
static int hf_ngap_DataForwardingResponseERABList_item = -1; /* DataForwardingResponseERABListItem */
static int hf_ngap_e_RAB_ID = -1; /* E_RAB_ID */
static int hf_ngap_dl_NAS_MAC = -1; /* DL_NAS_MAC */
static int hf_ngap_DRBsSubjectToStatusTransferList_item = -1; /* DRBsSubjectToStatusTransferItem */
static int hf_ngap_dRBStatusUL = -1; /* DRBStatusUL */
static int hf_ngap_dRBStatusDL = -1; /* DRBStatusDL */
static int hf_ngap_dRBStatusDL12 = -1; /* DRBStatusDL12 */
static int hf_ngap_dRBStatusDL18 = -1; /* DRBStatusDL18 */
static int hf_ngap_dL_COUNTValue = -1; /* COUNTValueForPDCP_SN12 */
static int hf_ngap_dL_COUNTValue_01 = -1; /* COUNTValueForPDCP_SN18 */
static int hf_ngap_dRBStatusUL12 = -1; /* DRBStatusUL12 */
static int hf_ngap_dRBStatusUL18 = -1; /* DRBStatusUL18 */
static int hf_ngap_uL_COUNTValue = -1; /* COUNTValueForPDCP_SN12 */
static int hf_ngap_receiveStatusOfUL_PDCP_SDUs = -1; /* BIT_STRING_SIZE_1_2048 */
static int hf_ngap_uL_COUNTValue_01 = -1; /* COUNTValueForPDCP_SN18 */
static int hf_ngap_receiveStatusOfUL_PDCP_SDUs_01 = -1; /* BIT_STRING_SIZE_1_131072 */
static int hf_ngap_DRBsToQosFlowsMappingList_item = -1; /* DRBsToQosFlowsMappingItem */
static int hf_ngap_associatedQosFlowList = -1; /* AssociatedQosFlowList */
static int hf_ngap_priorityLevelQos = -1; /* PriorityLevelQos */
static int hf_ngap_fiveQI = -1; /* FiveQI */
static int hf_ngap_delayCritical = -1; /* DelayCritical */
static int hf_ngap_averagingWindow = -1; /* AveragingWindow */
static int hf_ngap_maximumDataBurstVolume = -1; /* MaximumDataBurstVolume */
static int hf_ngap_procedureStage = -1; /* ProcedureStageChoice */
static int hf_ngap_first_dl_count = -1; /* FirstDLCount */
static int hf_ngap_dRBsSubjectToEarlyStatusTransfer = -1; /* DRBsSubjectToEarlyStatusTransfer_List */
static int hf_ngap_DRBsSubjectToEarlyStatusTransfer_List_item = -1; /* DRBsSubjectToEarlyStatusTransfer_Item */
static int hf_ngap_firstDLCOUNT = -1; /* DRBStatusDL */
static int hf_ngap_EmergencyAreaIDBroadcastEUTRA_item = -1; /* EmergencyAreaIDBroadcastEUTRA_Item */
static int hf_ngap_emergencyAreaID = -1; /* EmergencyAreaID */
static int hf_ngap_completedCellsInEAI_EUTRA = -1; /* CompletedCellsInEAI_EUTRA */
static int hf_ngap_EmergencyAreaIDBroadcastNR_item = -1; /* EmergencyAreaIDBroadcastNR_Item */
static int hf_ngap_completedCellsInEAI_NR = -1; /* CompletedCellsInEAI_NR */
static int hf_ngap_EmergencyAreaIDCancelledEUTRA_item = -1; /* EmergencyAreaIDCancelledEUTRA_Item */
static int hf_ngap_cancelledCellsInEAI_EUTRA = -1; /* CancelledCellsInEAI_EUTRA */
static int hf_ngap_EmergencyAreaIDCancelledNR_item = -1; /* EmergencyAreaIDCancelledNR_Item */
static int hf_ngap_cancelledCellsInEAI_NR = -1; /* CancelledCellsInEAI_NR */
static int hf_ngap_EmergencyAreaIDList_item = -1; /* EmergencyAreaID */
static int hf_ngap_EmergencyAreaIDListForRestart_item = -1; /* EmergencyAreaID */
static int hf_ngap_emergencyFallbackRequestIndicator = -1; /* EmergencyFallbackRequestIndicator */
static int hf_ngap_emergencyServiceTargetCN = -1; /* EmergencyServiceTargetCN */
static int hf_ngap_macroENB_ID = -1; /* BIT_STRING_SIZE_20 */
static int hf_ngap_homeENB_ID = -1; /* BIT_STRING_SIZE_28 */
static int hf_ngap_short_macroENB_ID = -1; /* BIT_STRING_SIZE_18 */
static int hf_ngap_long_macroENB_ID = -1; /* BIT_STRING_SIZE_21 */
static int hf_ngap_portNumber = -1; /* PortNumber */
static int hf_ngap_EquivalentPLMNs_item = -1; /* PLMNIdentity */
static int hf_ngap_ePS_TAC = -1; /* EPS_TAC */
static int hf_ngap_E_RABInformationList_item = -1; /* E_RABInformationItem */
static int hf_ngap_dLForwarding = -1; /* DLForwarding */
static int hf_ngap_eUTRACellIdentity = -1; /* EUTRACellIdentity */
static int hf_ngap_EUTRA_CGIList_item = -1; /* EUTRA_CGI */
static int hf_ngap_EUTRA_CGIListForWarning_item = -1; /* EUTRA_CGI */
static int hf_ngap_expectedActivityPeriod = -1; /* ExpectedActivityPeriod */
static int hf_ngap_expectedIdlePeriod = -1; /* ExpectedIdlePeriod */
static int hf_ngap_sourceOfUEActivityBehaviourInformation = -1; /* SourceOfUEActivityBehaviourInformation */
static int hf_ngap_expectedUEActivityBehaviour = -1; /* ExpectedUEActivityBehaviour */
static int hf_ngap_expectedHOInterval = -1; /* ExpectedHOInterval */
static int hf_ngap_expectedUEMobility = -1; /* ExpectedUEMobility */
static int hf_ngap_expectedUEMovingTrajectory = -1; /* ExpectedUEMovingTrajectory */
static int hf_ngap_ExpectedUEMovingTrajectory_item = -1; /* ExpectedUEMovingTrajectoryItem */
static int hf_ngap_timeStayedInCell = -1; /* INTEGER_0_4095 */
static int hf_ngap_aMFNameVisibleString = -1; /* AMFNameVisibleString */
static int hf_ngap_aMFNameUTF8String = -1; /* AMFNameUTF8String */
static int hf_ngap_rANNodeNameVisibleString = -1; /* RANNodeNameVisibleString */
static int hf_ngap_rANNodeNameUTF8String = -1; /* RANNodeNameUTF8String */
static int hf_ngap_primaryRATRestriction = -1; /* T_primaryRATRestriction */
static int hf_ngap_secondaryRATRestriction = -1; /* T_secondaryRATRestriction */
static int hf_ngap_ExtendedSliceSupportList_item = -1; /* SliceSupportItem */
static int hf_ngap_outOfCoverage = -1; /* T_outOfCoverage */
static int hf_ngap_eventL1LoggedMDTConfig = -1; /* EventL1LoggedMDTConfig */
static int hf_ngap_l1Threshold = -1; /* MeasurementThresholdL1LoggedMDT */
static int hf_ngap_hysteresis = -1; /* Hysteresis */
static int hf_ngap_timeToTrigger = -1; /* TimeToTrigger */
static int hf_ngap_threshold_RSRP = -1; /* Threshold_RSRP */
static int hf_ngap_threshold_RSRQ = -1; /* Threshold_RSRQ */
static int hf_ngap_uERLFReportContainer = -1; /* UERLFReportContainer */
static int hf_ngap_aMFSetID = -1; /* AMFSetID */
static int hf_ngap_aMFPointer = -1; /* AMFPointer */
static int hf_ngap_fiveG_TMSI = -1; /* FiveG_TMSI */
static int hf_ngap_ForbiddenAreaInformation_item = -1; /* ForbiddenAreaInformation_Item */
static int hf_ngap_forbiddenTACs = -1; /* ForbiddenTACs */
static int hf_ngap_ForbiddenTACs_item = -1; /* TAC */
static int hf_ngap_sourceeNBID = -1; /* IntersystemSONeNBID */
static int hf_ngap_targetNGRANnodeID = -1; /* IntersystemSONNGRANnodeID */
static int hf_ngap_sourceNGRANnodeID = -1; /* IntersystemSONNGRANnodeID */
static int hf_ngap_targeteNBID = -1; /* IntersystemSONeNBID */
static int hf_ngap_maximumFlowBitRateDL = -1; /* BitRate */
static int hf_ngap_maximumFlowBitRateUL = -1; /* BitRate */
static int hf_ngap_notificationControl = -1; /* NotificationControl */
static int hf_ngap_maximumPacketLossRateDL = -1; /* PacketLossRate */
static int hf_ngap_maximumPacketLossRateUL = -1; /* PacketLossRate */
static int hf_ngap_pLMNidentity = -1; /* PLMNIdentity */
static int hf_ngap_eNB_ID = -1; /* ENB_ID */
static int hf_ngap_globalGNB_ID_gNB_ID = -1; /* GNB_ID */
static int hf_ngap_globalN3IWF_ID_n3IWF_ID = -1; /* N3IWF_ID */
static int hf_ngap_globalLineIdentity = -1; /* GlobalLineIdentity */
static int hf_ngap_lineType = -1; /* LineType */
static int hf_ngap_ngENB_ID = -1; /* NgENB_ID */
static int hf_ngap_globalGNB_ID = -1; /* GlobalGNB_ID */
static int hf_ngap_globalNgENB_ID = -1; /* GlobalNgENB_ID */
static int hf_ngap_globalN3IWF_ID = -1; /* GlobalN3IWF_ID */
static int hf_ngap_globalTNGF_ID_tNGF_ID = -1; /* TNGF_ID */
static int hf_ngap_globalTWIF_ID_tWIF_ID = -1; /* TWIF_ID */
static int hf_ngap_globalW_AGF_ID_w_AGF_ID = -1; /* W_AGF_ID */
static int hf_ngap_gNB_ID = -1; /* BIT_STRING_SIZE_22_32 */
static int hf_ngap_transportLayerAddress = -1; /* TransportLayerAddress */
static int hf_ngap_gTP_TEID = -1; /* GTP_TEID */
static int hf_ngap_aMFRegionID = -1; /* AMFRegionID */
static int hf_ngap_qosFlowToBeForwardedList = -1; /* QosFlowToBeForwardedList */
static int hf_ngap_dataForwardingResponseDRBList = -1; /* DataForwardingResponseDRBList */
static int hf_ngap_cause = -1; /* Cause */
static int hf_ngap_dL_NGU_UP_TNLInformation = -1; /* UPTransportLayerInformation */
static int hf_ngap_securityResult = -1; /* SecurityResult */
static int hf_ngap_qosFlowSetupResponseList = -1; /* QosFlowListWithDataForwarding */
static int hf_ngap_qosFlowFailedToSetupList = -1; /* QosFlowListWithCause */
static int hf_ngap_directForwardingPathAvailability = -1; /* DirectForwardingPathAvailability */
static int hf_ngap_criticalityDiagnostics = -1; /* CriticalityDiagnostics */
static int hf_ngap_handoverReportType = -1; /* T_handoverReportType */
static int hf_ngap_handoverCause = -1; /* Cause */
static int hf_ngap_sourcecellCGI = -1; /* NGRAN_CGI */
static int hf_ngap_targetcellCGI = -1; /* NGRAN_CGI */
static int hf_ngap_reestablishmentcellCGI = -1; /* NGRAN_CGI */
static int hf_ngap_sourcecellC_RNTI = -1; /* BIT_STRING_SIZE_16 */
static int hf_ngap_targetcellinE_UTRAN = -1; /* EUTRA_CGI */
static int hf_ngap_mobilityInformation = -1; /* MobilityInformation */
static int hf_ngap_recommendRANNodesForPaging = -1; /* RecommendedRANNodesForPaging */
static int hf_ngap_measurementsToActivate = -1; /* MeasurementsToActivate */
static int hf_ngap_m1Configuration = -1; /* M1Configuration */
static int hf_ngap_m4Configuration = -1; /* M4Configuration */
static int hf_ngap_m5Configuration = -1; /* M5Configuration */
static int hf_ngap_m6Configuration = -1; /* M6Configuration */
static int hf_ngap_m7Configuration = -1; /* M7Configuration */
static int hf_ngap_bluetoothMeasurementConfiguration = -1; /* BluetoothMeasurementConfiguration */
static int hf_ngap_wLANMeasurementConfiguration = -1; /* WLANMeasurementConfiguration */
static int hf_ngap_mDT_Location_Info = -1; /* MDT_Location_Info */
static int hf_ngap_sensorMeasurementConfiguration = -1; /* SensorMeasurementConfiguration */
static int hf_ngap_transferType = -1; /* IntersystemSONTransferType */
static int hf_ngap_intersystemSONInformation = -1; /* IntersystemSONInformation */
static int hf_ngap_fromEUTRANtoNGRAN = -1; /* FromEUTRANtoNGRAN */
static int hf_ngap_fromNGRANtoEUTRAN = -1; /* FromNGRANtoEUTRAN */
static int hf_ngap_globaleNBID = -1; /* GlobalENB_ID */
static int hf_ngap_selectedEPSTAI = -1; /* EPS_TAI */
static int hf_ngap_selectedTAI = -1; /* TAI */
static int hf_ngap_intersystemSONInformationReport = -1; /* IntersystemSONInformationReport */
static int hf_ngap_hOReportInformation = -1; /* InterSystemHOReport */
static int hf_ngap_failureIndicationInformation = -1; /* InterSystemFailureIndication */
static int hf_ngap_handoverReportType_01 = -1; /* InterSystemHandoverReportType */
static int hf_ngap_tooearlyIntersystemHO = -1; /* TooearlyIntersystemHO */
static int hf_ngap_intersystemUnnecessaryHO = -1; /* IntersystemUnnecessaryHO */
static int hf_ngap_sourcecellID = -1; /* NGRAN_CGI */
static int hf_ngap_targetcellID = -1; /* EUTRA_CGI */
static int hf_ngap_earlyIRATHO = -1; /* T_earlyIRATHO */
static int hf_ngap_candidateCellList = -1; /* CandidateCellList */
static int hf_ngap_lAC = -1; /* LAC */
static int hf_ngap_nGRANCell = -1; /* LastVisitedNGRANCellInformation */
static int hf_ngap_eUTRANCell = -1; /* LastVisitedEUTRANCellInformation */
static int hf_ngap_uTRANCell = -1; /* LastVisitedUTRANCellInformation */
static int hf_ngap_gERANCell = -1; /* LastVisitedGERANCellInformation */
static int hf_ngap_lastVisitedCellInformation = -1; /* LastVisitedCellInformation */
static int hf_ngap_globalCellID = -1; /* NGRAN_CGI */
static int hf_ngap_cellType = -1; /* CellType */
static int hf_ngap_timeUEStayedInCell = -1; /* TimeUEStayedInCell */
static int hf_ngap_timeUEStayedInCellEnhancedGranularity = -1; /* TimeUEStayedInCellEnhancedGranularity */
static int hf_ngap_hOCauseValue = -1; /* Cause */
static int hf_ngap_eventType = -1; /* EventType */
static int hf_ngap_reportArea = -1; /* ReportArea */
static int hf_ngap_areaOfInterestList = -1; /* AreaOfInterestList */
static int hf_ngap_locationReportingReferenceIDToBeCancelled = -1; /* LocationReportingReferenceID */
static int hf_ngap_loggingInterval = -1; /* LoggingInterval */
static int hf_ngap_loggingDuration = -1; /* LoggingDuration */
static int hf_ngap_loggedMDTTrigger = -1; /* LoggedMDTTrigger */
static int hf_ngap_areaScopeOfNeighCellsList = -1; /* AreaScopeOfNeighCellsList */
static int hf_ngap_periodical = -1; /* NULL */
static int hf_ngap_eventTrigger = -1; /* EventTrigger */
static int hf_ngap_vehicleUE = -1; /* VehicleUE */
static int hf_ngap_pedestrianUE = -1; /* PedestrianUE */
static int hf_ngap_uESidelinkAggregateMaximumBitRate = -1; /* BitRate */
static int hf_ngap_servingPLMN = -1; /* PLMNIdentity */
static int hf_ngap_equivalentPLMNs = -1; /* EquivalentPLMNs */
static int hf_ngap_rATRestrictions = -1; /* RATRestrictions */
static int hf_ngap_forbiddenAreaInformation = -1; /* ForbiddenAreaInformation */
static int hf_ngap_serviceAreaInformation = -1; /* ServiceAreaInformation */
static int hf_ngap_MDTPLMNList_item = -1; /* PLMNIdentity */
static int hf_ngap_mdt_Config_NR = -1; /* MDT_Configuration_NR */
static int hf_ngap_mdt_Config_EUTRA = -1; /* MDT_Configuration_EUTRA */
static int hf_ngap_mdt_Activation = -1; /* MDT_Activation */
static int hf_ngap_areaScopeOfMDT = -1; /* AreaScopeOfMDT_NR */
static int hf_ngap_mDTModeNr = -1; /* MDTModeNr */
static int hf_ngap_signallingBasedMDTPLMNList = -1; /* MDTPLMNList */
static int hf_ngap_areaScopeOfMDT_01 = -1; /* AreaScopeOfMDT_EUTRA */
static int hf_ngap_mDTMode = -1; /* MDTModeEutra */
static int hf_ngap_immediateMDTNr = -1; /* ImmediateMDTNr */
static int hf_ngap_loggedMDTNr = -1; /* LoggedMDTNr */
static int hf_ngap_m1reportingTrigger = -1; /* M1ReportingTrigger */
static int hf_ngap_m1thresholdEventA2 = -1; /* M1ThresholdEventA2 */
static int hf_ngap_m1periodicReporting = -1; /* M1PeriodicReporting */
static int hf_ngap_m1ThresholdType = -1; /* M1ThresholdType */
static int hf_ngap_threshold_SINR = -1; /* Threshold_SINR */
static int hf_ngap_reportInterval = -1; /* ReportIntervalMDT */
static int hf_ngap_reportAmount = -1; /* ReportAmountMDT */
static int hf_ngap_m4period = -1; /* M4period */
static int hf_ngap_m4_links_to_log = -1; /* Links_to_log */
static int hf_ngap_m5period = -1; /* M5period */
static int hf_ngap_m5_links_to_log = -1; /* Links_to_log */
static int hf_ngap_m6report_Interval = -1; /* M6report_Interval */
static int hf_ngap_m6_links_to_log = -1; /* Links_to_log */
static int hf_ngap_m7period = -1; /* M7period */
static int hf_ngap_m7_links_to_log = -1; /* Links_to_log */
static int hf_ngap_mDT_Location_Information = -1; /* MDT_Location_Information */
static int hf_ngap_n3IWF_ID = -1; /* BIT_STRING_SIZE_16 */
static int hf_ngap_nB_IoT_Paging_eDRXCycle = -1; /* NB_IoT_Paging_eDRXCycle */
static int hf_ngap_nB_IoT_Paging_TimeWindow = -1; /* NB_IoT_Paging_TimeWindow */
static int hf_ngap_macroNgENB_ID = -1; /* BIT_STRING_SIZE_20 */
static int hf_ngap_shortMacroNgENB_ID = -1; /* BIT_STRING_SIZE_18 */
static int hf_ngap_longMacroNgENB_ID = -1; /* BIT_STRING_SIZE_21 */
static int hf_ngap_NGRAN_TNLAssociationToRemoveList_item = -1; /* NGRAN_TNLAssociationToRemoveItem */
static int hf_ngap_tNLAssociationTransportLayerAddress = -1; /* CPTransportLayerInformation */
static int hf_ngap_tNLAssociationTransportLayerAddressAMF = -1; /* CPTransportLayerInformation */
static int hf_ngap_NotAllowedTACs_item = -1; /* TAC */
static int hf_ngap_pNI_NPN_Access_Information = -1; /* CellCAGList */
static int hf_ngap_sNPN_MobilityInformation = -1; /* SNPN_MobilityInformation */
static int hf_ngap_pNI_NPN_MobilityInformation = -1; /* PNI_NPN_MobilityInformation */
static int hf_ngap_pNI_NPN_PagingAssistance = -1; /* Allowed_PNI_NPN_List */
static int hf_ngap_sNPN = -1; /* NID */
static int hf_ngap_nRCellIdentity = -1; /* NRCellIdentity */
static int hf_ngap_NR_CGIList_item = -1; /* NR_CGI */
static int hf_ngap_NR_CGIListForWarning_item = -1; /* NR_CGI */
static int hf_ngap_NRFrequencyBand_List_item = -1; /* NRFrequencyBandItem */
static int hf_ngap_nr_frequency_band = -1; /* NRFrequencyBand */
static int hf_ngap_nrARFCN = -1; /* NRARFCN */
static int hf_ngap_frequencyBand_List = -1; /* NRFrequencyBand_List */
static int hf_ngap_overloadAction = -1; /* OverloadAction */
static int hf_ngap_OverloadStartNSSAIList_item = -1; /* OverloadStartNSSAIItem */
static int hf_ngap_sliceOverloadList = -1; /* SliceOverloadList */
static int hf_ngap_sliceOverloadResponse = -1; /* OverloadResponse */
static int hf_ngap_sliceTrafficLoadReductionIndication = -1; /* TrafficLoadReductionIndication */
static int hf_ngap_pERScalar = -1; /* INTEGER_0_9_ */
static int hf_ngap_pERExponent = -1; /* INTEGER_0_9_ */
static int hf_ngap_coverageEnhancementLevel = -1; /* CoverageEnhancementLevel */
static int hf_ngap_pagingAttemptCount = -1; /* PagingAttemptCount */
static int hf_ngap_intendedNumberOfPagingAttempts = -1; /* IntendedNumberOfPagingAttempts */
static int hf_ngap_nextPagingAreaScope = -1; /* NextPagingAreaScope */
static int hf_ngap_paging_eDRX_Cycle = -1; /* Paging_eDRX_Cycle */
static int hf_ngap_paging_Time_Window = -1; /* Paging_Time_Window */
static int hf_ngap_uL_NGU_UP_TNLInformation = -1; /* UPTransportLayerInformation */
static int hf_ngap_securityIndication = -1; /* SecurityIndication */
static int hf_ngap_dL_NGU_TNLInformationReused = -1; /* DL_NGU_TNLInformationReused */
static int hf_ngap_userPlaneSecurityInformation = -1; /* UserPlaneSecurityInformation */
static int hf_ngap_qosFlowAcceptedList = -1; /* QosFlowAcceptedList */
static int hf_ngap_pc5QoSFlowList = -1; /* PC5QoSFlowList */
static int hf_ngap_pc5LinkAggregateBitRates = -1; /* BitRate */
static int hf_ngap_PC5QoSFlowList_item = -1; /* PC5QoSFlowItem */
static int hf_ngap_pQI = -1; /* FiveQI */
static int hf_ngap_pc5FlowBitRates = -1; /* PC5FlowBitRates */
static int hf_ngap_range = -1; /* Range */
static int hf_ngap_guaranteedFlowBitRate = -1; /* BitRate */
static int hf_ngap_maximumFlowBitRate = -1; /* BitRate */
static int hf_ngap_PCIListForMDT_item = -1; /* NR_PCI */
static int hf_ngap_pDUSessionAggregateMaximumBitRateDL = -1; /* BitRate */
static int hf_ngap_pDUSessionAggregateMaximumBitRateUL = -1; /* BitRate */
static int hf_ngap_PDUSessionResourceAdmittedList_item = -1; /* PDUSessionResourceAdmittedItem */
static int hf_ngap_pDUSessionID = -1; /* PDUSessionID */
static int hf_ngap_handoverRequestAcknowledgeTransfer = -1; /* T_handoverRequestAcknowledgeTransfer */
static int hf_ngap_PDUSessionResourceFailedToModifyListModCfm_item = -1; /* PDUSessionResourceFailedToModifyItemModCfm */
static int hf_ngap_pDUSessionResourceModifyIndicationUnsuccessfulTransfer = -1; /* T_pDUSessionResourceModifyIndicationUnsuccessfulTransfer */
static int hf_ngap_PDUSessionResourceFailedToModifyListModRes_item = -1; /* PDUSessionResourceFailedToModifyItemModRes */
static int hf_ngap_pDUSessionResourceModifyUnsuccessfulTransfer = -1; /* T_pDUSessionResourceModifyUnsuccessfulTransfer */
static int hf_ngap_PDUSessionResourceFailedToResumeListRESReq_item = -1; /* PDUSessionResourceFailedToResumeItemRESReq */
static int hf_ngap_PDUSessionResourceFailedToResumeListRESRes_item = -1; /* PDUSessionResourceFailedToResumeItemRESRes */
static int hf_ngap_PDUSessionResourceFailedToSetupListCxtFail_item = -1; /* PDUSessionResourceFailedToSetupItemCxtFail */
static int hf_ngap_pDUSessionResourceSetupUnsuccessfulTransfer = -1; /* T_pDUSessionResourceSetupUnsuccessfulTransfer */
static int hf_ngap_PDUSessionResourceFailedToSetupListCxtRes_item = -1; /* PDUSessionResourceFailedToSetupItemCxtRes */
static int hf_ngap_pDUSessionResourceSetupUnsuccessfulTransfer_01 = -1; /* T_pDUSessionResourceSetupUnsuccessfulTransfer_01 */
static int hf_ngap_PDUSessionResourceFailedToSetupListHOAck_item = -1; /* PDUSessionResourceFailedToSetupItemHOAck */
static int hf_ngap_handoverResourceAllocationUnsuccessfulTransfer = -1; /* T_handoverResourceAllocationUnsuccessfulTransfer */
static int hf_ngap_PDUSessionResourceFailedToSetupListPSReq_item = -1; /* PDUSessionResourceFailedToSetupItemPSReq */
static int hf_ngap_pathSwitchRequestSetupFailedTransfer = -1; /* T_pathSwitchRequestSetupFailedTransfer */
static int hf_ngap_PDUSessionResourceFailedToSetupListSURes_item = -1; /* PDUSessionResourceFailedToSetupItemSURes */
static int hf_ngap_pDUSessionResourceSetupUnsuccessfulTransfer_02 = -1; /* T_pDUSessionResourceSetupUnsuccessfulTransfer_02 */
static int hf_ngap_PDUSessionResourceHandoverList_item = -1; /* PDUSessionResourceHandoverItem */
static int hf_ngap_handoverCommandTransfer = -1; /* T_handoverCommandTransfer */
static int hf_ngap_PDUSessionResourceInformationList_item = -1; /* PDUSessionResourceInformationItem */
static int hf_ngap_qosFlowInformationList = -1; /* QosFlowInformationList */
static int hf_ngap_dRBsToQosFlowsMappingList = -1; /* DRBsToQosFlowsMappingList */
static int hf_ngap_PDUSessionResourceListCxtRelCpl_item = -1; /* PDUSessionResourceItemCxtRelCpl */
static int hf_ngap_PDUSessionResourceListCxtRelReq_item = -1; /* PDUSessionResourceItemCxtRelReq */
static int hf_ngap_PDUSessionResourceListHORqd_item = -1; /* PDUSessionResourceItemHORqd */
static int hf_ngap_handoverRequiredTransfer = -1; /* T_handoverRequiredTransfer */
static int hf_ngap_qosFlowModifyConfirmList = -1; /* QosFlowModifyConfirmList */
static int hf_ngap_uLNGU_UP_TNLInformation = -1; /* UPTransportLayerInformation */
static int hf_ngap_additionalNG_UUPTNLInformation = -1; /* UPTransportLayerInformationPairList */
static int hf_ngap_qosFlowFailedToModifyList = -1; /* QosFlowListWithCause */
static int hf_ngap_protocolIEs = -1; /* ProtocolIE_Container */
static int hf_ngap_qosFlowAddOrModifyResponseList = -1; /* QosFlowAddOrModifyResponseList */
static int hf_ngap_additionalDLQosFlowPerTNLInformation = -1; /* QosFlowPerTNLInformationList */
static int hf_ngap_qosFlowFailedToAddOrModifyList = -1; /* QosFlowListWithCause */
static int hf_ngap_dLQosFlowPerTNLInformation = -1; /* QosFlowPerTNLInformation */
static int hf_ngap_PDUSessionResourceModifyListModCfm_item = -1; /* PDUSessionResourceModifyItemModCfm */
static int hf_ngap_pDUSessionResourceModifyConfirmTransfer = -1; /* T_pDUSessionResourceModifyConfirmTransfer */
static int hf_ngap_PDUSessionResourceModifyListModInd_item = -1; /* PDUSessionResourceModifyItemModInd */
static int hf_ngap_pDUSessionResourceModifyIndicationTransfer = -1; /* T_pDUSessionResourceModifyIndicationTransfer */
static int hf_ngap_PDUSessionResourceModifyListModReq_item = -1; /* PDUSessionResourceModifyItemModReq */
static int hf_ngap_nAS_PDU = -1; /* NAS_PDU */
static int hf_ngap_pDUSessionResourceModifyRequestTransfer = -1; /* T_pDUSessionResourceModifyRequestTransfer */
static int hf_ngap_PDUSessionResourceModifyListModRes_item = -1; /* PDUSessionResourceModifyItemModRes */
static int hf_ngap_pDUSessionResourceModifyResponseTransfer = -1; /* T_pDUSessionResourceModifyResponseTransfer */
static int hf_ngap_PDUSessionResourceNotifyList_item = -1; /* PDUSessionResourceNotifyItem */
static int hf_ngap_pDUSessionResourceNotifyTransfer = -1; /* T_pDUSessionResourceNotifyTransfer */
static int hf_ngap_qosFlowNotifyList = -1; /* QosFlowNotifyList */
static int hf_ngap_qosFlowReleasedList = -1; /* QosFlowListWithCause */
static int hf_ngap_PDUSessionResourceReleasedListNot_item = -1; /* PDUSessionResourceReleasedItemNot */
static int hf_ngap_pDUSessionResourceNotifyReleasedTransfer = -1; /* T_pDUSessionResourceNotifyReleasedTransfer */
static int hf_ngap_PDUSessionResourceReleasedListPSAck_item = -1; /* PDUSessionResourceReleasedItemPSAck */
static int hf_ngap_pathSwitchRequestUnsuccessfulTransfer = -1; /* T_pathSwitchRequestUnsuccessfulTransfer */
static int hf_ngap_PDUSessionResourceReleasedListPSFail_item = -1; /* PDUSessionResourceReleasedItemPSFail */
static int hf_ngap_pathSwitchRequestUnsuccessfulTransfer_01 = -1; /* T_pathSwitchRequestUnsuccessfulTransfer_01 */
static int hf_ngap_PDUSessionResourceReleasedListRelRes_item = -1; /* PDUSessionResourceReleasedItemRelRes */
static int hf_ngap_pDUSessionResourceReleaseResponseTransfer = -1; /* T_pDUSessionResourceReleaseResponseTransfer */
static int hf_ngap_PDUSessionResourceResumeListRESReq_item = -1; /* PDUSessionResourceResumeItemRESReq */
static int hf_ngap_uEContextResumeRequestTransfer = -1; /* T_uEContextResumeRequestTransfer */
static int hf_ngap_PDUSessionResourceResumeListRESRes_item = -1; /* PDUSessionResourceResumeItemRESRes */
static int hf_ngap_uEContextResumeResponseTransfer = -1; /* T_uEContextResumeResponseTransfer */
static int hf_ngap_PDUSessionResourceSecondaryRATUsageList_item = -1; /* PDUSessionResourceSecondaryRATUsageItem */
static int hf_ngap_secondaryRATDataUsageReportTransfer = -1; /* T_secondaryRATDataUsageReportTransfer */
static int hf_ngap_PDUSessionResourceSetupListCxtReq_item = -1; /* PDUSessionResourceSetupItemCxtReq */
static int hf_ngap_pDUSessionResourceSetupRequestTransfer = -1; /* T_pDUSessionResourceSetupRequestTransfer */
static int hf_ngap_PDUSessionResourceSetupListCxtRes_item = -1; /* PDUSessionResourceSetupItemCxtRes */
static int hf_ngap_pDUSessionResourceSetupResponseTransfer = -1; /* T_pDUSessionResourceSetupResponseTransfer */
static int hf_ngap_PDUSessionResourceSetupListHOReq_item = -1; /* PDUSessionResourceSetupItemHOReq */
static int hf_ngap_handoverRequestTransfer = -1; /* T_handoverRequestTransfer */
static int hf_ngap_PDUSessionResourceSetupListSUReq_item = -1; /* PDUSessionResourceSetupItemSUReq */
static int hf_ngap_pDUSessionNAS_PDU = -1; /* NAS_PDU */
static int hf_ngap_pDUSessionResourceSetupRequestTransfer_01 = -1; /* T_pDUSessionResourceSetupRequestTransfer_01 */
static int hf_ngap_PDUSessionResourceSetupListSURes_item = -1; /* PDUSessionResourceSetupItemSURes */
static int hf_ngap_pDUSessionResourceSetupResponseTransfer_01 = -1; /* T_pDUSessionResourceSetupResponseTransfer_01 */
static int hf_ngap_PDUSessionResourceSuspendListSUSReq_item = -1; /* PDUSessionResourceSuspendItemSUSReq */
static int hf_ngap_uEContextSuspendRequestTransfer = -1; /* T_uEContextSuspendRequestTransfer */
static int hf_ngap_PDUSessionResourceSwitchedList_item = -1; /* PDUSessionResourceSwitchedItem */
static int hf_ngap_pathSwitchRequestAcknowledgeTransfer = -1; /* T_pathSwitchRequestAcknowledgeTransfer */
static int hf_ngap_PDUSessionResourceToBeSwitchedDLList_item = -1; /* PDUSessionResourceToBeSwitchedDLItem */
static int hf_ngap_pathSwitchRequestTransfer = -1; /* T_pathSwitchRequestTransfer */
static int hf_ngap_PDUSessionResourceToReleaseListHOCmd_item = -1; /* PDUSessionResourceToReleaseItemHOCmd */
static int hf_ngap_handoverPreparationUnsuccessfulTransfer = -1; /* T_handoverPreparationUnsuccessfulTransfer */
static int hf_ngap_PDUSessionResourceToReleaseListRelCmd_item = -1; /* PDUSessionResourceToReleaseItemRelCmd */
static int hf_ngap_pDUSessionResourceReleaseCommandTransfer = -1; /* T_pDUSessionResourceReleaseCommandTransfer */
static int hf_ngap_rATType = -1; /* T_rATType */
static int hf_ngap_pDUSessionTimedReportList = -1; /* VolumeTimedReportList */
static int hf_ngap_PLMNSupportList_item = -1; /* PLMNSupportItem */
static int hf_ngap_sliceSupportList = -1; /* SliceSupportList */
static int hf_ngap_allowed_PNI_NPI_List = -1; /* Allowed_PNI_NPN_List */
static int hf_ngap_eUTRA_CGI_PWSFailedList = -1; /* EUTRA_CGIList */
static int hf_ngap_nR_CGI_PWSFailedList = -1; /* NR_CGIList */
static int hf_ngap_nonDynamic5QI = -1; /* NonDynamic5QIDescriptor */
static int hf_ngap_dynamic5QI = -1; /* Dynamic5QIDescriptor */
static int hf_ngap_QosFlowAcceptedList_item = -1; /* QosFlowAcceptedItem */
static int hf_ngap_QosFlowAddOrModifyRequestList_item = -1; /* QosFlowAddOrModifyRequestItem */
static int hf_ngap_qosFlowLevelQosParameters = -1; /* QosFlowLevelQosParameters */
static int hf_ngap_QosFlowAddOrModifyResponseList_item = -1; /* QosFlowAddOrModifyResponseItem */
static int hf_ngap_QosFlowFeedbackList_item = -1; /* QosFlowFeedbackItem */
static int hf_ngap_updateFeedback = -1; /* UpdateFeedback */
static int hf_ngap_cNpacketDelayBudgetDL = -1; /* ExtendedPacketDelayBudget */
static int hf_ngap_cNpacketDelayBudgetUL = -1; /* ExtendedPacketDelayBudget */
static int hf_ngap_QosFlowInformationList_item = -1; /* QosFlowInformationItem */
static int hf_ngap_qosCharacteristics = -1; /* QosCharacteristics */
static int hf_ngap_allocationAndRetentionPriority = -1; /* AllocationAndRetentionPriority */
static int hf_ngap_gBR_QosInformation = -1; /* GBR_QosInformation */
static int hf_ngap_reflectiveQosAttribute = -1; /* ReflectiveQosAttribute */
static int hf_ngap_additionalQosFlowInformation = -1; /* AdditionalQosFlowInformation */
static int hf_ngap_QosFlowListWithCause_item = -1; /* QosFlowWithCauseItem */
static int hf_ngap_QosFlowModifyConfirmList_item = -1; /* QosFlowModifyConfirmItem */
static int hf_ngap_QosFlowNotifyList_item = -1; /* QosFlowNotifyItem */
static int hf_ngap_notificationCause = -1; /* NotificationCause */
static int hf_ngap_QosFlowParametersList_item = -1; /* QosFlowParametersItem */
static int hf_ngap_alternativeQoSParaSetList = -1; /* AlternativeQoSParaSetList */
static int hf_ngap_uPTransportLayerInformation = -1; /* UPTransportLayerInformation */
static int hf_ngap_QosFlowPerTNLInformationList_item = -1; /* QosFlowPerTNLInformationItem */
static int hf_ngap_qosFlowPerTNLInformation = -1; /* QosFlowPerTNLInformation */
static int hf_ngap_QosFlowSetupRequestList_item = -1; /* QosFlowSetupRequestItem */
static int hf_ngap_QosFlowListWithDataForwarding_item = -1; /* QosFlowItemWithDataForwarding */
static int hf_ngap_dataForwardingAccepted = -1; /* DataForwardingAccepted */
static int hf_ngap_QosFlowToBeForwardedList_item = -1; /* QosFlowToBeForwardedItem */
static int hf_ngap_QoSFlowsUsageReportList_item = -1; /* QoSFlowsUsageReport_Item */
static int hf_ngap_rATType_01 = -1; /* T_rATType_01 */
static int hf_ngap_qoSFlowsTimedReportList = -1; /* VolumeTimedReportList */
static int hf_ngap_dRBsSubjectToStatusTransferList = -1; /* DRBsSubjectToStatusTransferList */
static int hf_ngap_RATRestrictions_item = -1; /* RATRestrictions_Item */
static int hf_ngap_rATRestrictionInformation = -1; /* RATRestrictionInformation */
static int hf_ngap_recommendedCellList = -1; /* RecommendedCellList */
static int hf_ngap_RecommendedCellList_item = -1; /* RecommendedCellItem */
static int hf_ngap_recommendedRANNodeList = -1; /* RecommendedRANNodeList */
static int hf_ngap_RecommendedRANNodeList_item = -1; /* RecommendedRANNodeItem */
static int hf_ngap_aMFPagingTarget = -1; /* AMFPagingTarget */
static int hf_ngap_rSN = -1; /* RSN */
static int hf_ngap_nG_Interface = -1; /* ResetAll */
static int hf_ngap_partOfNG_Interface = -1; /* UE_associatedLogicalNG_connectionList */
static int hf_ngap_targetRANNodeID = -1; /* TargetRANNodeID */
static int hf_ngap_sourceRANNodeID = -1; /* SourceRANNodeID */
static int hf_ngap_rIMInformation = -1; /* RIMInformation */
static int hf_ngap_targetgNBSetID = -1; /* GNBSetID */
static int hf_ngap_rIM_RSDetection = -1; /* T_rIM_RSDetection */
static int hf_ngap_dayofWeek = -1; /* BIT_STRING_SIZE_7 */
static int hf_ngap_timeofDayStart = -1; /* INTEGER_0_86399_ */
static int hf_ngap_timeofDayEnd = -1; /* INTEGER_0_86399_ */
static int hf_ngap_SCTP_TLAs_item = -1; /* TransportLayerAddress */
static int hf_ngap_pDUSessionUsageReport = -1; /* PDUSessionUsageReport */
static int hf_ngap_qosFlowsUsageReportList = -1; /* QoSFlowsUsageReportList */
static int hf_ngap_secondaryRATUsageInformation = -1; /* SecondaryRATUsageInformation */
static int hf_ngap_nextHopChainingCount = -1; /* NextHopChainingCount */
static int hf_ngap_nextHopNH = -1; /* SecurityKey */
static int hf_ngap_integrityProtectionIndication = -1; /* IntegrityProtectionIndication */
static int hf_ngap_confidentialityProtectionIndication = -1; /* ConfidentialityProtectionIndication */
static int hf_ngap_maximumIntegrityProtectedDataRate_UL = -1; /* MaximumIntegrityProtectedDataRate */
static int hf_ngap_integrityProtectionResult = -1; /* IntegrityProtectionResult */
static int hf_ngap_confidentialityProtectionResult = -1; /* ConfidentialityProtectionResult */
static int hf_ngap_sensorMeasConfig = -1; /* SensorMeasConfig */
static int hf_ngap_sensorMeasConfigNameList = -1; /* SensorMeasConfigNameList */
static int hf_ngap_SensorMeasConfigNameList_item = -1; /* SensorMeasConfigNameItem */
static int hf_ngap_sensorNameConfig = -1; /* SensorNameConfig */
static int hf_ngap_uncompensatedBarometricConfig = -1; /* T_uncompensatedBarometricConfig */
static int hf_ngap_ueSpeedConfig = -1; /* T_ueSpeedConfig */
static int hf_ngap_ueOrientationConfig = -1; /* T_ueOrientationConfig */
static int hf_ngap_ServedGUAMIList_item = -1; /* ServedGUAMIItem */
static int hf_ngap_gUAMI = -1; /* GUAMI */
static int hf_ngap_backupAMFName = -1; /* AMFName */
static int hf_ngap_ServiceAreaInformation_item = -1; /* ServiceAreaInformation_Item */
static int hf_ngap_allowedTACs = -1; /* AllowedTACs */
static int hf_ngap_notAllowedTACs = -1; /* NotAllowedTACs */
static int hf_ngap_SliceOverloadList_item = -1; /* SliceOverloadItem */
static int hf_ngap_SliceSupportList_item = -1; /* SliceSupportItem */
static int hf_ngap_serving_NID = -1; /* NID */
static int hf_ngap_sST = -1; /* SST */
static int hf_ngap_sD = -1; /* SD */
static int hf_ngap_sONInformation = -1; /* SONInformation */
static int hf_ngap_xnTNLConfigurationInfo = -1; /* XnTNLConfigurationInfo */
static int hf_ngap_sONInformationRequest = -1; /* SONInformationRequest */
static int hf_ngap_sONInformationReply = -1; /* SONInformationReply */
static int hf_ngap_failureIndicationInformation_01 = -1; /* FailureIndication */
static int hf_ngap_hOReportInformation_01 = -1; /* HOReport */
static int hf_ngap_rRCContainer = -1; /* RRCContainer */
static int hf_ngap_pDUSessionResourceInformationList = -1; /* PDUSessionResourceInformationList */
static int hf_ngap_e_RABInformationList = -1; /* E_RABInformationList */
static int hf_ngap_targetCell_ID = -1; /* NGRAN_CGI */
static int hf_ngap_indexToRFSP = -1; /* IndexToRFSP */
static int hf_ngap_uEHistoryInformation = -1; /* UEHistoryInformation */
static int hf_ngap_configuredNSSAI = -1; /* ConfiguredNSSAI */
static int hf_ngap_rejectedNSSAIinPLMN = -1; /* RejectedNSSAIinPLMN */
static int hf_ngap_rejectedNSSAIinTA = -1; /* RejectedNSSAIinTA */
static int hf_ngap_SupportedTAList_item = -1; /* SupportedTAItem */
static int hf_ngap_tAC = -1; /* TAC */
static int hf_ngap_broadcastPLMNList = -1; /* BroadcastPLMNList */
static int hf_ngap_TAIBroadcastEUTRA_item = -1; /* TAIBroadcastEUTRA_Item */
static int hf_ngap_completedCellsInTAI_EUTRA = -1; /* CompletedCellsInTAI_EUTRA */
static int hf_ngap_TAIBroadcastNR_item = -1; /* TAIBroadcastNR_Item */
static int hf_ngap_completedCellsInTAI_NR = -1; /* CompletedCellsInTAI_NR */
static int hf_ngap_TAICancelledEUTRA_item = -1; /* TAICancelledEUTRA_Item */
static int hf_ngap_cancelledCellsInTAI_EUTRA = -1; /* CancelledCellsInTAI_EUTRA */
static int hf_ngap_TAICancelledNR_item = -1; /* TAICancelledNR_Item */
static int hf_ngap_cancelledCellsInTAI_NR = -1; /* CancelledCellsInTAI_NR */
static int hf_ngap_TAIListForInactive_item = -1; /* TAIListForInactiveItem */
static int hf_ngap_TAIListForPaging_item = -1; /* TAIListForPagingItem */
static int hf_ngap_TAIListForRestart_item = -1; /* TAI */
static int hf_ngap_TAIListForWarning_item = -1; /* TAI */
static int hf_ngap_globalENB_ID = -1; /* GlobalNgENB_ID */
static int hf_ngap_selected_EPS_TAI = -1; /* EPS_TAI */
static int hf_ngap_targeteNB_ID = -1; /* TargeteNB_ID */
static int hf_ngap_cell_CAGInformation = -1; /* Cell_CAGInformation */
static int hf_ngap_lAI = -1; /* LAI */
static int hf_ngap_rNC_ID = -1; /* RNC_ID */
static int hf_ngap_extendedRNC_ID = -1; /* ExtendedRNC_ID */
static int hf_ngap_tNGF_ID = -1; /* BIT_STRING_SIZE_32_ */
static int hf_ngap_TNLAssociationList_item = -1; /* TNLAssociationItem */
static int hf_ngap_tNLAssociationAddress = -1; /* CPTransportLayerInformation */
static int hf_ngap_sourcecellID_01 = -1; /* EUTRA_CGI */
static int hf_ngap_failurecellID = -1; /* NGRAN_CGI */
static int hf_ngap_nGRANTraceID = -1; /* NGRANTraceID */
static int hf_ngap_interfacesToTrace = -1; /* InterfacesToTrace */
static int hf_ngap_traceDepth = -1; /* TraceDepth */
static int hf_ngap_traceCollectionEntityIPAddress = -1; /* TransportLayerAddress */
static int hf_ngap_tAIListforMDT = -1; /* TAIListforMDT */
static int hf_ngap_TAIListforMDT_item = -1; /* TAI */
static int hf_ngap_tAListforMDT = -1; /* TAListforMDT */
static int hf_ngap_TAListforMDT_item = -1; /* TAC */
static int hf_ngap_tWIF_ID = -1; /* BIT_STRING_SIZE_32_ */
static int hf_ngap_periodicity = -1; /* Periodicity */
static int hf_ngap_burstArrivalTime = -1; /* BurstArrivalTime */
static int hf_ngap_tSCAssistanceInformationDL = -1; /* TSCAssistanceInformation */
static int hf_ngap_tSCAssistanceInformationUL = -1; /* TSCAssistanceInformation */
static int hf_ngap_uEAggregateMaximumBitRateDL = -1; /* BitRate */
static int hf_ngap_uEAggregateMaximumBitRateUL = -1; /* BitRate */
static int hf_ngap_UE_associatedLogicalNG_connectionList_item = -1; /* UE_associatedLogicalNG_connectionItem */
static int hf_ngap_aMF_UE_NGAP_ID = -1; /* AMF_UE_NGAP_ID */
static int hf_ngap_rAN_UE_NGAP_ID = -1; /* RAN_UE_NGAP_ID */
static int hf_ngap_qosFlowFailedToResumeList = -1; /* QosFlowListWithCause */
static int hf_ngap_suspendIndicator = -1; /* SuspendIndicator */
static int hf_ngap_periodicCommunicationIndicator = -1; /* T_periodicCommunicationIndicator */
static int hf_ngap_periodicTime = -1; /* INTEGER_1_3600_ */
static int hf_ngap_scheduledCommunicationTime = -1; /* ScheduledCommunicationTime */
static int hf_ngap_stationaryIndication = -1; /* T_stationaryIndication */
static int hf_ngap_trafficProfile = -1; /* T_trafficProfile */
static int hf_ngap_batteryIndication = -1; /* T_batteryIndication */
static int hf_ngap_UEHistoryInformation_item = -1; /* LastVisitedCellItem */
static int hf_ngap_nR = -1; /* NRMobilityHistoryReport */
static int hf_ngap_indexLength10 = -1; /* BIT_STRING_SIZE_10 */
static int hf_ngap_uE_NGAP_ID_pair = -1; /* UE_NGAP_ID_pair */
static int hf_ngap_fiveG_S_TMSI = -1; /* FiveG_S_TMSI */
static int hf_ngap_UEPresenceInAreaOfInterestList_item = -1; /* UEPresenceInAreaOfInterestItem */
static int hf_ngap_uEPresence = -1; /* UEPresence */
static int hf_ngap_uERadioCapabilityForPagingOfNR = -1; /* UERadioCapabilityForPagingOfNR */
static int hf_ngap_uERadioCapabilityForPagingOfEUTRA = -1; /* UERadioCapabilityForPagingOfEUTRA */
static int hf_ngap_nR_01 = -1; /* NRUERLFReportContainer */
static int hf_ngap_lTE = -1; /* LTEUERLFReportContainer */
static int hf_ngap_nRencryptionAlgorithms = -1; /* NRencryptionAlgorithms */
static int hf_ngap_nRintegrityProtectionAlgorithms = -1; /* NRintegrityProtectionAlgorithms */
static int hf_ngap_eUTRAencryptionAlgorithms = -1; /* EUTRAencryptionAlgorithms */
static int hf_ngap_eUTRAintegrityProtectionAlgorithms = -1; /* EUTRAintegrityProtectionAlgorithms */
static int hf_ngap_ul_NAS_MAC = -1; /* UL_NAS_MAC */
static int hf_ngap_ul_NAS_Count = -1; /* UL_NAS_Count */
static int hf_ngap_UL_NGU_UP_TNLModifyList_item = -1; /* UL_NGU_UP_TNLModifyItem */
static int hf_ngap_UnavailableGUAMIList_item = -1; /* UnavailableGUAMIItem */
static int hf_ngap_timerApproachForGUAMIRemoval = -1; /* TimerApproachForGUAMIRemoval */
static int hf_ngap_gTPTunnel = -1; /* GTPTunnel */
static int hf_ngap_UPTransportLayerInformationList_item = -1; /* UPTransportLayerInformationItem */
static int hf_ngap_nGU_UP_TNLInformation = -1; /* UPTransportLayerInformation */
static int hf_ngap_UPTransportLayerInformationPairList_item = -1; /* UPTransportLayerInformationPairItem */
static int hf_ngap_userLocationInformationEUTRA = -1; /* UserLocationInformationEUTRA */
static int hf_ngap_userLocationInformationNR = -1; /* UserLocationInformationNR */
static int hf_ngap_userLocationInformationN3IWF = -1; /* UserLocationInformationN3IWF */
static int hf_ngap_timeStamp = -1; /* TimeStamp */
static int hf_ngap_iPAddress = -1; /* TransportLayerAddress */
static int hf_ngap_tNAP_ID = -1; /* TNAP_ID */
static int hf_ngap_tWAP_ID = -1; /* TWAP_ID */
static int hf_ngap_globalLine_ID = -1; /* GlobalLine_ID */
static int hf_ngap_hFCNode_ID = -1; /* HFCNode_ID */
static int hf_ngap_VolumeTimedReportList_item = -1; /* VolumeTimedReport_Item */
static int hf_ngap_startTimeStamp = -1; /* T_startTimeStamp */
static int hf_ngap_endTimeStamp = -1; /* T_endTimeStamp */
static int hf_ngap_usageCountUL = -1; /* INTEGER_0_18446744073709551615 */
static int hf_ngap_usageCountDL = -1; /* INTEGER_0_18446744073709551615 */
static int hf_ngap_w_AGF_ID = -1; /* BIT_STRING_SIZE_16_ */
static int hf_ngap_eUTRA_CGIListForWarning = -1; /* EUTRA_CGIListForWarning */
static int hf_ngap_nR_CGIListForWarning = -1; /* NR_CGIListForWarning */
static int hf_ngap_tAIListForWarning = -1; /* TAIListForWarning */
static int hf_ngap_emergencyAreaIDList = -1; /* EmergencyAreaIDList */
static int hf_ngap_wlanMeasConfig = -1; /* WLANMeasConfig */
static int hf_ngap_wlanMeasConfigNameList = -1; /* WLANMeasConfigNameList */
static int hf_ngap_wlan_rssi = -1; /* T_wlan_rssi */
static int hf_ngap_wlan_rtt = -1; /* T_wlan_rtt */
static int hf_ngap_WLANMeasConfigNameList_item = -1; /* WLANMeasConfigNameItem */
static int hf_ngap_wLANName = -1; /* WLANName */
static int hf_ngap_pagingProbabilityInformation = -1; /* PagingProbabilityInformation */
static int hf_ngap_XnExtTLAs_item = -1; /* XnExtTLA_Item */
static int hf_ngap_iPsecTLA = -1; /* TransportLayerAddress */
static int hf_ngap_gTP_TLAs = -1; /* XnGTP_TLAs */
static int hf_ngap_XnGTP_TLAs_item = -1; /* TransportLayerAddress */
static int hf_ngap_XnTLAs_item = -1; /* TransportLayerAddress */
static int hf_ngap_xnTransportLayerAddresses = -1; /* XnTLAs */
static int hf_ngap_xnExtendedTransportLayerAddresses = -1; /* XnExtTLAs */
static int hf_ngap_privateIEs = -1; /* PrivateIE_Container */
static int hf_ngap_initiatingMessage = -1; /* InitiatingMessage */
static int hf_ngap_successfulOutcome = -1; /* SuccessfulOutcome */
static int hf_ngap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */
static int hf_ngap_initiatingMessagevalue = -1; /* InitiatingMessage_value */
static int hf_ngap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */
static int hf_ngap_unsuccessfulOutcome_value = -1; /* UnsuccessfulOutcome_value */
/*--- End of included file: packet-ngap-hf.c ---*/
#line 134 "./asn1/ngap/packet-ngap-template.c"
/* Initialize the subtree pointers */
static gint ett_ngap = -1;
static gint ett_ngap_TransportLayerAddress = -1;
static gint ett_ngap_DataCodingScheme = -1;
static gint ett_ngap_SerialNumber = -1;
static gint ett_ngap_WarningType = -1;
static gint ett_ngap_WarningMessageContents = -1;
static gint ett_ngap_PLMNIdentity = -1;
static gint ett_ngap_NGAP_Message = -1;
static gint ett_ngap_NGRANTraceID = -1;
static gint ett_ngap_InterfacesToTrace = -1;
static gint ett_ngap_SourceToTarget_TransparentContainer = -1;
static gint ett_ngap_TargetToSource_TransparentContainer = -1;
static gint ett_ngap_RRCContainer = -1;
static gint ett_ngap_RATRestrictionInformation = -1;
static gint ett_ngap_primaryRATRestriction = -1;
static gint ett_ngap_secondaryRATRestriction = -1;
static gint ett_ngap_NrencryptionAlgorithms = -1;
static gint ett_ngap_NrintegrityProtectionAlgorithms = -1;
static gint ett_ngap_EUTRAencryptionAlgorithms = -1;
static gint ett_ngap_EUTRAintegrityProtectionAlgorithms = -1;
static gint ett_ngap_UERadioCapabilityForPagingOfNR = -1;
static gint ett_ngap_UERadioCapabilityForPagingOfEUTRA = -1;
static gint ett_ngap_UERadioCapability = -1;
static gint ett_ngap_LastVisitedEUTRANCellInformation = -1;
static gint ett_ngap_LastVisitedUTRANCellInformation = -1;
static gint ett_ngap_LastVisitedGERANCellInformation = -1;
static gint ett_ngap_NASSecurityParametersFromNGRAN = -1;
static gint ett_ngap_NASC = -1;
static gint ett_ngap_NAS_PDU = -1;
static gint ett_ngap_EN_DCSONConfigurationTransfer = -1;
static gint ett_ngap_BurstArrivalTime = -1;
static gint ett_ngap_CoverageEnhancementLevel = -1;
static gint ett_ngap_MDTModeEutra = -1;
static gint ett_ngap_MeasurementsToActivate = -1;
static gint ett_ngap_MDT_Location_Information = -1;
static gint ett_ngap_NRMobilityHistoryReport = -1;
static gint ett_ngap_LTEUERLFReportContainer = -1;
static gint ett_ngap_NRUERLFReportContainer = -1;
static gint ett_ngap_TargettoSource_Failure_TransparentContainer = -1;
static gint ett_ngap_UERadioCapabilityForPagingOfNB_IoT = -1;
static gint ett_ngap_GlobalCable_ID = -1;
static gint ett_ngap_UpdateFeedback = -1;
/*--- Included file: packet-ngap-ett.c ---*/
#line 1 "./asn1/ngap/packet-ngap-ett.c"
static gint ett_ngap_PrivateIE_ID = -1;
static gint ett_ngap_ProtocolIE_Container = -1;
static gint ett_ngap_ProtocolIE_Field = -1;
static gint ett_ngap_ProtocolExtensionContainer = -1;
static gint ett_ngap_ProtocolExtensionField = -1;
static gint ett_ngap_PrivateIE_Container = -1;
static gint ett_ngap_PrivateIE_Field = -1;
static gint ett_ngap_AdditionalDLUPTNLInformationForHOList = -1;
static gint ett_ngap_AdditionalDLUPTNLInformationForHOItem = -1;
static gint ett_ngap_AllocationAndRetentionPriority = -1;
static gint ett_ngap_Allowed_CAG_List_per_PLMN = -1;
static gint ett_ngap_AllowedNSSAI = -1;
static gint ett_ngap_AllowedNSSAI_Item = -1;
static gint ett_ngap_Allowed_PNI_NPN_List = -1;
static gint ett_ngap_Allowed_PNI_NPN_Item = -1;
static gint ett_ngap_AllowedTACs = -1;
static gint ett_ngap_AlternativeQoSParaSetList = -1;
static gint ett_ngap_AlternativeQoSParaSetItem = -1;
static gint ett_ngap_AMFPagingTarget = -1;
static gint ett_ngap_AMF_TNLAssociationSetupList = -1;
static gint ett_ngap_AMF_TNLAssociationSetupItem = -1;
static gint ett_ngap_AMF_TNLAssociationToAddList = -1;
static gint ett_ngap_AMF_TNLAssociationToAddItem = -1;
static gint ett_ngap_AMF_TNLAssociationToRemoveList = -1;
static gint ett_ngap_AMF_TNLAssociationToRemoveItem = -1;
static gint ett_ngap_AMF_TNLAssociationToUpdateList = -1;
static gint ett_ngap_AMF_TNLAssociationToUpdateItem = -1;
static gint ett_ngap_AreaOfInterest = -1;
static gint ett_ngap_AreaOfInterestCellList = -1;
static gint ett_ngap_AreaOfInterestCellItem = -1;
static gint ett_ngap_AreaOfInterestList = -1;
static gint ett_ngap_AreaOfInterestItem = -1;
static gint ett_ngap_AreaOfInterestRANNodeList = -1;
static gint ett_ngap_AreaOfInterestRANNodeItem = -1;
static gint ett_ngap_AreaOfInterestTAIList = -1;
static gint ett_ngap_AreaOfInterestTAIItem = -1;
static gint ett_ngap_AssistanceDataForPaging = -1;
static gint ett_ngap_AssistanceDataForRecommendedCells = -1;
static gint ett_ngap_AssociatedQosFlowList = -1;
static gint ett_ngap_AssociatedQosFlowItem = -1;
static gint ett_ngap_AreaScopeOfMDT_NR = -1;
static gint ett_ngap_AreaScopeOfMDT_EUTRA = -1;
static gint ett_ngap_AreaScopeOfNeighCellsList = -1;
static gint ett_ngap_AreaScopeOfNeighCellsItem = -1;
static gint ett_ngap_BroadcastCancelledAreaList = -1;
static gint ett_ngap_BroadcastCompletedAreaList = -1;
static gint ett_ngap_BroadcastPLMNList = -1;
static gint ett_ngap_BroadcastPLMNItem = -1;
static gint ett_ngap_BluetoothMeasurementConfiguration = -1;
static gint ett_ngap_BluetoothMeasConfigNameList = -1;
static gint ett_ngap_BluetoothMeasConfigNameItem = -1;
static gint ett_ngap_CancelledCellsInEAI_EUTRA = -1;
static gint ett_ngap_CancelledCellsInEAI_EUTRA_Item = -1;
static gint ett_ngap_CancelledCellsInEAI_NR = -1;
static gint ett_ngap_CancelledCellsInEAI_NR_Item = -1;
static gint ett_ngap_CancelledCellsInTAI_EUTRA = -1;
static gint ett_ngap_CancelledCellsInTAI_EUTRA_Item = -1;
static gint ett_ngap_CancelledCellsInTAI_NR = -1;
static gint ett_ngap_CancelledCellsInTAI_NR_Item = -1;
static gint ett_ngap_CandidateCellList = -1;
static gint ett_ngap_CandidateCellItem = -1;
static gint ett_ngap_CandidateCell = -1;
static gint ett_ngap_CandidateCellID = -1;
static gint ett_ngap_CandidatePCI = -1;
static gint ett_ngap_Cause = -1;
static gint ett_ngap_Cell_CAGInformation = -1;
static gint ett_ngap_CellCAGList = -1;
static gint ett_ngap_CellIDBroadcastEUTRA = -1;
static gint ett_ngap_CellIDBroadcastEUTRA_Item = -1;
static gint ett_ngap_CellIDBroadcastNR = -1;
static gint ett_ngap_CellIDBroadcastNR_Item = -1;
static gint ett_ngap_CellIDCancelledEUTRA = -1;
static gint ett_ngap_CellIDCancelledEUTRA_Item = -1;
static gint ett_ngap_CellIDCancelledNR = -1;
static gint ett_ngap_CellIDCancelledNR_Item = -1;
static gint ett_ngap_CellIDListForRestart = -1;
static gint ett_ngap_CellType = -1;
static gint ett_ngap_CNAssistedRANTuning = -1;
static gint ett_ngap_CNTypeRestrictionsForEquivalent = -1;
static gint ett_ngap_CNTypeRestrictionsForEquivalentItem = -1;
static gint ett_ngap_CompletedCellsInEAI_EUTRA = -1;
static gint ett_ngap_CompletedCellsInEAI_EUTRA_Item = -1;
static gint ett_ngap_CompletedCellsInEAI_NR = -1;
static gint ett_ngap_CompletedCellsInEAI_NR_Item = -1;
static gint ett_ngap_CompletedCellsInTAI_EUTRA = -1;
static gint ett_ngap_CompletedCellsInTAI_EUTRA_Item = -1;
static gint ett_ngap_CompletedCellsInTAI_NR = -1;
static gint ett_ngap_CompletedCellsInTAI_NR_Item = -1;
static gint ett_ngap_CoreNetworkAssistanceInformationForInactive = -1;
static gint ett_ngap_COUNTValueForPDCP_SN12 = -1;
static gint ett_ngap_COUNTValueForPDCP_SN18 = -1;
static gint ett_ngap_CPTransportLayerInformation = -1;
static gint ett_ngap_CriticalityDiagnostics = -1;
static gint ett_ngap_CriticalityDiagnostics_IE_List = -1;
static gint ett_ngap_CriticalityDiagnostics_IE_Item = -1;
static gint ett_ngap_CellBasedMDT_NR = -1;
static gint ett_ngap_CellIdListforMDT_NR = -1;
static gint ett_ngap_CellBasedMDT_EUTRA = -1;
static gint ett_ngap_CellIdListforMDT_EUTRA = -1;
static gint ett_ngap_DataForwardingResponseDRBList = -1;
static gint ett_ngap_DataForwardingResponseDRBItem = -1;
static gint ett_ngap_DAPSRequestInfo = -1;
static gint ett_ngap_DAPSResponseInfoList = -1;
static gint ett_ngap_DAPSResponseInfoItem = -1;
static gint ett_ngap_DAPSResponseInfo = -1;
static gint ett_ngap_DataForwardingResponseERABList = -1;
static gint ett_ngap_DataForwardingResponseERABListItem = -1;
static gint ett_ngap_DL_CP_SecurityInformation = -1;
static gint ett_ngap_DRBsSubjectToStatusTransferList = -1;
static gint ett_ngap_DRBsSubjectToStatusTransferItem = -1;
static gint ett_ngap_DRBStatusDL = -1;
static gint ett_ngap_DRBStatusDL12 = -1;
static gint ett_ngap_DRBStatusDL18 = -1;
static gint ett_ngap_DRBStatusUL = -1;
static gint ett_ngap_DRBStatusUL12 = -1;
static gint ett_ngap_DRBStatusUL18 = -1;
static gint ett_ngap_DRBsToQosFlowsMappingList = -1;
static gint ett_ngap_DRBsToQosFlowsMappingItem = -1;
static gint ett_ngap_Dynamic5QIDescriptor = -1;
static gint ett_ngap_EarlyStatusTransfer_TransparentContainer = -1;
static gint ett_ngap_ProcedureStageChoice = -1;
static gint ett_ngap_FirstDLCount = -1;
static gint ett_ngap_DRBsSubjectToEarlyStatusTransfer_List = -1;
static gint ett_ngap_DRBsSubjectToEarlyStatusTransfer_Item = -1;
static gint ett_ngap_EmergencyAreaIDBroadcastEUTRA = -1;
static gint ett_ngap_EmergencyAreaIDBroadcastEUTRA_Item = -1;
static gint ett_ngap_EmergencyAreaIDBroadcastNR = -1;
static gint ett_ngap_EmergencyAreaIDBroadcastNR_Item = -1;
static gint ett_ngap_EmergencyAreaIDCancelledEUTRA = -1;
static gint ett_ngap_EmergencyAreaIDCancelledEUTRA_Item = -1;
static gint ett_ngap_EmergencyAreaIDCancelledNR = -1;
static gint ett_ngap_EmergencyAreaIDCancelledNR_Item = -1;
static gint ett_ngap_EmergencyAreaIDList = -1;
static gint ett_ngap_EmergencyAreaIDListForRestart = -1;
static gint ett_ngap_EmergencyFallbackIndicator = -1;
static gint ett_ngap_ENB_ID = -1;
static gint ett_ngap_EndpointIPAddressAndPort = -1;
static gint ett_ngap_EquivalentPLMNs = -1;
static gint ett_ngap_EPS_TAI = -1;
static gint ett_ngap_E_RABInformationList = -1;
static gint ett_ngap_E_RABInformationItem = -1;
static gint ett_ngap_EUTRA_CGI = -1;
static gint ett_ngap_EUTRA_CGIList = -1;
static gint ett_ngap_EUTRA_CGIListForWarning = -1;
static gint ett_ngap_ExpectedUEActivityBehaviour = -1;
static gint ett_ngap_ExpectedUEBehaviour = -1;
static gint ett_ngap_ExpectedUEMovingTrajectory = -1;
static gint ett_ngap_ExpectedUEMovingTrajectoryItem = -1;
static gint ett_ngap_Extended_AMFName = -1;
static gint ett_ngap_Extended_RANNodeName = -1;
static gint ett_ngap_ExtendedRATRestrictionInformation = -1;
static gint ett_ngap_ExtendedSliceSupportList = -1;
static gint ett_ngap_EventTrigger = -1;
static gint ett_ngap_EventL1LoggedMDTConfig = -1;
static gint ett_ngap_MeasurementThresholdL1LoggedMDT = -1;
static gint ett_ngap_FailureIndication = -1;
static gint ett_ngap_FiveG_S_TMSI = -1;
static gint ett_ngap_ForbiddenAreaInformation = -1;
static gint ett_ngap_ForbiddenAreaInformation_Item = -1;
static gint ett_ngap_ForbiddenTACs = -1;
static gint ett_ngap_FromEUTRANtoNGRAN = -1;
static gint ett_ngap_FromNGRANtoEUTRAN = -1;
static gint ett_ngap_GBR_QosInformation = -1;
static gint ett_ngap_GlobalENB_ID = -1;
static gint ett_ngap_GlobalGNB_ID = -1;
static gint ett_ngap_GlobalN3IWF_ID = -1;
static gint ett_ngap_GlobalLine_ID = -1;
static gint ett_ngap_GlobalNgENB_ID = -1;
static gint ett_ngap_GlobalRANNodeID = -1;
static gint ett_ngap_GlobalTNGF_ID = -1;
static gint ett_ngap_GlobalTWIF_ID = -1;
static gint ett_ngap_GlobalW_AGF_ID = -1;
static gint ett_ngap_GNB_ID = -1;
static gint ett_ngap_GTPTunnel = -1;
static gint ett_ngap_GUAMI = -1;
static gint ett_ngap_HandoverCommandTransfer = -1;
static gint ett_ngap_HandoverPreparationUnsuccessfulTransfer = -1;
static gint ett_ngap_HandoverRequestAcknowledgeTransfer = -1;
static gint ett_ngap_HandoverRequiredTransfer = -1;
static gint ett_ngap_HandoverResourceAllocationUnsuccessfulTransfer = -1;
static gint ett_ngap_HOReport = -1;
static gint ett_ngap_InfoOnRecommendedCellsAndRANNodesForPaging = -1;
static gint ett_ngap_ImmediateMDTNr = -1;
static gint ett_ngap_InterSystemFailureIndication = -1;
static gint ett_ngap_IntersystemSONConfigurationTransfer = -1;
static gint ett_ngap_IntersystemSONTransferType = -1;
static gint ett_ngap_IntersystemSONeNBID = -1;
static gint ett_ngap_IntersystemSONNGRANnodeID = -1;
static gint ett_ngap_IntersystemSONInformation = -1;
static gint ett_ngap_IntersystemSONInformationReport = -1;
static gint ett_ngap_InterSystemHOReport = -1;
static gint ett_ngap_InterSystemHandoverReportType = -1;
static gint ett_ngap_IntersystemUnnecessaryHO = -1;
static gint ett_ngap_LAI = -1;
static gint ett_ngap_LastVisitedCellInformation = -1;
static gint ett_ngap_LastVisitedCellItem = -1;
static gint ett_ngap_LastVisitedNGRANCellInformation = -1;
static gint ett_ngap_LocationReportingRequestType = -1;
static gint ett_ngap_LoggedMDTNr = -1;
static gint ett_ngap_LoggedMDTTrigger = -1;
static gint ett_ngap_LTEV2XServicesAuthorized = -1;
static gint ett_ngap_LTEUESidelinkAggregateMaximumBitrate = -1;
static gint ett_ngap_MobilityRestrictionList = -1;
static gint ett_ngap_MDTPLMNList = -1;
static gint ett_ngap_MDT_Configuration = -1;
static gint ett_ngap_MDT_Configuration_NR = -1;
static gint ett_ngap_MDT_Configuration_EUTRA = -1;
static gint ett_ngap_MDTModeNr = -1;
static gint ett_ngap_M1Configuration = -1;
static gint ett_ngap_M1ThresholdEventA2 = -1;
static gint ett_ngap_M1ThresholdType = -1;
static gint ett_ngap_M1PeriodicReporting = -1;
static gint ett_ngap_M4Configuration = -1;
static gint ett_ngap_M5Configuration = -1;
static gint ett_ngap_M6Configuration = -1;
static gint ett_ngap_M7Configuration = -1;
static gint ett_ngap_MDT_Location_Info = -1;
static gint ett_ngap_N3IWF_ID = -1;
static gint ett_ngap_NB_IoT_Paging_eDRXInfo = -1;
static gint ett_ngap_NgENB_ID = -1;
static gint ett_ngap_NGRAN_CGI = -1;
static gint ett_ngap_NGRAN_TNLAssociationToRemoveList = -1;
static gint ett_ngap_NGRAN_TNLAssociationToRemoveItem = -1;
static gint ett_ngap_NonDynamic5QIDescriptor = -1;
static gint ett_ngap_NotAllowedTACs = -1;
static gint ett_ngap_NPN_AccessInformation = -1;
static gint ett_ngap_NPN_MobilityInformation = -1;
static gint ett_ngap_NPN_PagingAssistanceInformation = -1;
static gint ett_ngap_NPN_Support = -1;
static gint ett_ngap_NR_CGI = -1;
static gint ett_ngap_NR_CGIList = -1;
static gint ett_ngap_NR_CGIListForWarning = -1;
static gint ett_ngap_NRFrequencyBand_List = -1;
static gint ett_ngap_NRFrequencyBandItem = -1;
static gint ett_ngap_NRFrequencyInfo = -1;
static gint ett_ngap_NRV2XServicesAuthorized = -1;
static gint ett_ngap_NRUESidelinkAggregateMaximumBitrate = -1;
static gint ett_ngap_OverloadResponse = -1;
static gint ett_ngap_OverloadStartNSSAIList = -1;
static gint ett_ngap_OverloadStartNSSAIItem = -1;
static gint ett_ngap_PacketErrorRate = -1;
static gint ett_ngap_PagingAssisDataforCEcapabUE = -1;
static gint ett_ngap_PagingAttemptInformation = -1;
static gint ett_ngap_PagingeDRXInformation = -1;
static gint ett_ngap_PathSwitchRequestAcknowledgeTransfer = -1;
static gint ett_ngap_PathSwitchRequestSetupFailedTransfer = -1;
static gint ett_ngap_PathSwitchRequestTransfer = -1;
static gint ett_ngap_PathSwitchRequestUnsuccessfulTransfer = -1;
static gint ett_ngap_PC5QoSParameters = -1;
static gint ett_ngap_PC5QoSFlowList = -1;
static gint ett_ngap_PC5QoSFlowItem = -1;
static gint ett_ngap_PC5FlowBitRates = -1;
static gint ett_ngap_PCIListForMDT = -1;
static gint ett_ngap_PDUSessionAggregateMaximumBitRate = -1;
static gint ett_ngap_PDUSessionResourceAdmittedList = -1;
static gint ett_ngap_PDUSessionResourceAdmittedItem = -1;
static gint ett_ngap_PDUSessionResourceFailedToModifyListModCfm = -1;
static gint ett_ngap_PDUSessionResourceFailedToModifyItemModCfm = -1;
static gint ett_ngap_PDUSessionResourceFailedToModifyListModRes = -1;
static gint ett_ngap_PDUSessionResourceFailedToModifyItemModRes = -1;
static gint ett_ngap_PDUSessionResourceFailedToResumeListRESReq = -1;
static gint ett_ngap_PDUSessionResourceFailedToResumeItemRESReq = -1;
static gint ett_ngap_PDUSessionResourceFailedToResumeListRESRes = -1;
static gint ett_ngap_PDUSessionResourceFailedToResumeItemRESRes = -1;
static gint ett_ngap_PDUSessionResourceFailedToSetupListCxtFail = -1;
static gint ett_ngap_PDUSessionResourceFailedToSetupItemCxtFail = -1;
static gint ett_ngap_PDUSessionResourceFailedToSetupListCxtRes = -1;
static gint ett_ngap_PDUSessionResourceFailedToSetupItemCxtRes = -1;
static gint ett_ngap_PDUSessionResourceFailedToSetupListHOAck = -1;
static gint ett_ngap_PDUSessionResourceFailedToSetupItemHOAck = -1;
static gint ett_ngap_PDUSessionResourceFailedToSetupListPSReq = -1;
static gint ett_ngap_PDUSessionResourceFailedToSetupItemPSReq = -1;
static gint ett_ngap_PDUSessionResourceFailedToSetupListSURes = -1;
static gint ett_ngap_PDUSessionResourceFailedToSetupItemSURes = -1;
static gint ett_ngap_PDUSessionResourceHandoverList = -1;
static gint ett_ngap_PDUSessionResourceHandoverItem = -1;
static gint ett_ngap_PDUSessionResourceInformationList = -1;
static gint ett_ngap_PDUSessionResourceInformationItem = -1;
static gint ett_ngap_PDUSessionResourceListCxtRelCpl = -1;
static gint ett_ngap_PDUSessionResourceItemCxtRelCpl = -1;
static gint ett_ngap_PDUSessionResourceListCxtRelReq = -1;
static gint ett_ngap_PDUSessionResourceItemCxtRelReq = -1;
static gint ett_ngap_PDUSessionResourceListHORqd = -1;
static gint ett_ngap_PDUSessionResourceItemHORqd = -1;
static gint ett_ngap_PDUSessionResourceModifyConfirmTransfer = -1;
static gint ett_ngap_PDUSessionResourceModifyIndicationUnsuccessfulTransfer = -1;
static gint ett_ngap_PDUSessionResourceModifyRequestTransfer = -1;
static gint ett_ngap_PDUSessionResourceModifyResponseTransfer = -1;
static gint ett_ngap_PDUSessionResourceModifyIndicationTransfer = -1;
static gint ett_ngap_PDUSessionResourceModifyListModCfm = -1;
static gint ett_ngap_PDUSessionResourceModifyItemModCfm = -1;
static gint ett_ngap_PDUSessionResourceModifyListModInd = -1;
static gint ett_ngap_PDUSessionResourceModifyItemModInd = -1;
static gint ett_ngap_PDUSessionResourceModifyListModReq = -1;
static gint ett_ngap_PDUSessionResourceModifyItemModReq = -1;
static gint ett_ngap_PDUSessionResourceModifyListModRes = -1;
static gint ett_ngap_PDUSessionResourceModifyItemModRes = -1;
static gint ett_ngap_PDUSessionResourceModifyUnsuccessfulTransfer = -1;
static gint ett_ngap_PDUSessionResourceNotifyList = -1;
static gint ett_ngap_PDUSessionResourceNotifyItem = -1;
static gint ett_ngap_PDUSessionResourceNotifyReleasedTransfer = -1;
static gint ett_ngap_PDUSessionResourceNotifyTransfer = -1;
static gint ett_ngap_PDUSessionResourceReleaseCommandTransfer = -1;
static gint ett_ngap_PDUSessionResourceReleasedListNot = -1;
static gint ett_ngap_PDUSessionResourceReleasedItemNot = -1;
static gint ett_ngap_PDUSessionResourceReleasedListPSAck = -1;
static gint ett_ngap_PDUSessionResourceReleasedItemPSAck = -1;
static gint ett_ngap_PDUSessionResourceReleasedListPSFail = -1;
static gint ett_ngap_PDUSessionResourceReleasedItemPSFail = -1;
static gint ett_ngap_PDUSessionResourceReleasedListRelRes = -1;
static gint ett_ngap_PDUSessionResourceReleasedItemRelRes = -1;
static gint ett_ngap_PDUSessionResourceReleaseResponseTransfer = -1;
static gint ett_ngap_PDUSessionResourceResumeListRESReq = -1;
static gint ett_ngap_PDUSessionResourceResumeItemRESReq = -1;
static gint ett_ngap_PDUSessionResourceResumeListRESRes = -1;
static gint ett_ngap_PDUSessionResourceResumeItemRESRes = -1;
static gint ett_ngap_PDUSessionResourceSecondaryRATUsageList = -1;
static gint ett_ngap_PDUSessionResourceSecondaryRATUsageItem = -1;
static gint ett_ngap_PDUSessionResourceSetupListCxtReq = -1;
static gint ett_ngap_PDUSessionResourceSetupItemCxtReq = -1;
static gint ett_ngap_PDUSessionResourceSetupListCxtRes = -1;
static gint ett_ngap_PDUSessionResourceSetupItemCxtRes = -1;
static gint ett_ngap_PDUSessionResourceSetupListHOReq = -1;
static gint ett_ngap_PDUSessionResourceSetupItemHOReq = -1;
static gint ett_ngap_PDUSessionResourceSetupListSUReq = -1;
static gint ett_ngap_PDUSessionResourceSetupItemSUReq = -1;
static gint ett_ngap_PDUSessionResourceSetupListSURes = -1;
static gint ett_ngap_PDUSessionResourceSetupItemSURes = -1;
static gint ett_ngap_PDUSessionResourceSetupRequestTransfer = -1;
static gint ett_ngap_PDUSessionResourceSetupResponseTransfer = -1;
static gint ett_ngap_PDUSessionResourceSetupUnsuccessfulTransfer = -1;
static gint ett_ngap_PDUSessionResourceSuspendListSUSReq = -1;
static gint ett_ngap_PDUSessionResourceSuspendItemSUSReq = -1;
static gint ett_ngap_PDUSessionResourceSwitchedList = -1;
static gint ett_ngap_PDUSessionResourceSwitchedItem = -1;
static gint ett_ngap_PDUSessionResourceToBeSwitchedDLList = -1;
static gint ett_ngap_PDUSessionResourceToBeSwitchedDLItem = -1;
static gint ett_ngap_PDUSessionResourceToReleaseListHOCmd = -1;
static gint ett_ngap_PDUSessionResourceToReleaseItemHOCmd = -1;
static gint ett_ngap_PDUSessionResourceToReleaseListRelCmd = -1;
static gint ett_ngap_PDUSessionResourceToReleaseItemRelCmd = -1;
static gint ett_ngap_PDUSessionUsageReport = -1;
static gint ett_ngap_PLMNSupportList = -1;
static gint ett_ngap_PLMNSupportItem = -1;
static gint ett_ngap_PNI_NPN_MobilityInformation = -1;
static gint ett_ngap_PWSFailedCellIDList = -1;
static gint ett_ngap_QosCharacteristics = -1;
static gint ett_ngap_QosFlowAcceptedList = -1;
static gint ett_ngap_QosFlowAcceptedItem = -1;
static gint ett_ngap_QosFlowAddOrModifyRequestList = -1;
static gint ett_ngap_QosFlowAddOrModifyRequestItem = -1;
static gint ett_ngap_QosFlowAddOrModifyResponseList = -1;
static gint ett_ngap_QosFlowAddOrModifyResponseItem = -1;
static gint ett_ngap_QosFlowFeedbackList = -1;
static gint ett_ngap_QosFlowFeedbackItem = -1;
static gint ett_ngap_QosFlowInformationList = -1;
static gint ett_ngap_QosFlowInformationItem = -1;
static gint ett_ngap_QosFlowLevelQosParameters = -1;
static gint ett_ngap_QosFlowListWithCause = -1;
static gint ett_ngap_QosFlowWithCauseItem = -1;
static gint ett_ngap_QosFlowModifyConfirmList = -1;
static gint ett_ngap_QosFlowModifyConfirmItem = -1;
static gint ett_ngap_QosFlowNotifyList = -1;
static gint ett_ngap_QosFlowNotifyItem = -1;
static gint ett_ngap_QosFlowParametersList = -1;
static gint ett_ngap_QosFlowParametersItem = -1;
static gint ett_ngap_QosFlowPerTNLInformation = -1;
static gint ett_ngap_QosFlowPerTNLInformationList = -1;
static gint ett_ngap_QosFlowPerTNLInformationItem = -1;
static gint ett_ngap_QosFlowSetupRequestList = -1;
static gint ett_ngap_QosFlowSetupRequestItem = -1;
static gint ett_ngap_QosFlowListWithDataForwarding = -1;
static gint ett_ngap_QosFlowItemWithDataForwarding = -1;
static gint ett_ngap_QosFlowToBeForwardedList = -1;
static gint ett_ngap_QosFlowToBeForwardedItem = -1;
static gint ett_ngap_QoSFlowsUsageReportList = -1;
static gint ett_ngap_QoSFlowsUsageReport_Item = -1;
static gint ett_ngap_RANStatusTransfer_TransparentContainer = -1;
static gint ett_ngap_RATRestrictions = -1;
static gint ett_ngap_RATRestrictions_Item = -1;
static gint ett_ngap_RecommendedCellsForPaging = -1;
static gint ett_ngap_RecommendedCellList = -1;
static gint ett_ngap_RecommendedCellItem = -1;
static gint ett_ngap_RecommendedRANNodesForPaging = -1;
static gint ett_ngap_RecommendedRANNodeList = -1;
static gint ett_ngap_RecommendedRANNodeItem = -1;
static gint ett_ngap_RedundantPDUSessionInformation = -1;
static gint ett_ngap_ResetType = -1;
static gint ett_ngap_RIMInformationTransfer = -1;
static gint ett_ngap_RIMInformation = -1;
static gint ett_ngap_ScheduledCommunicationTime = -1;
static gint ett_ngap_SCTP_TLAs = -1;
static gint ett_ngap_SecondaryRATUsageInformation = -1;
static gint ett_ngap_SecondaryRATDataUsageReportTransfer = -1;
static gint ett_ngap_SecurityContext = -1;
static gint ett_ngap_SecurityIndication = -1;
static gint ett_ngap_SecurityResult = -1;
static gint ett_ngap_SensorMeasurementConfiguration = -1;
static gint ett_ngap_SensorMeasConfigNameList = -1;
static gint ett_ngap_SensorMeasConfigNameItem = -1;
static gint ett_ngap_SensorNameConfig = -1;
static gint ett_ngap_ServedGUAMIList = -1;
static gint ett_ngap_ServedGUAMIItem = -1;
static gint ett_ngap_ServiceAreaInformation = -1;
static gint ett_ngap_ServiceAreaInformation_Item = -1;
static gint ett_ngap_SliceOverloadList = -1;
static gint ett_ngap_SliceOverloadItem = -1;
static gint ett_ngap_SliceSupportList = -1;
static gint ett_ngap_SliceSupportItem = -1;
static gint ett_ngap_SNPN_MobilityInformation = -1;
static gint ett_ngap_S_NSSAI = -1;
static gint ett_ngap_SONConfigurationTransfer = -1;
static gint ett_ngap_SONInformation = -1;
static gint ett_ngap_SONInformationReply = -1;
static gint ett_ngap_SONInformationReport = -1;
static gint ett_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer = -1;
static gint ett_ngap_SourceRANNodeID = -1;
static gint ett_ngap_SourceToTarget_AMFInformationReroute = -1;
static gint ett_ngap_SupportedTAList = -1;
static gint ett_ngap_SupportedTAItem = -1;
static gint ett_ngap_TAI = -1;
static gint ett_ngap_TAIBroadcastEUTRA = -1;
static gint ett_ngap_TAIBroadcastEUTRA_Item = -1;
static gint ett_ngap_TAIBroadcastNR = -1;
static gint ett_ngap_TAIBroadcastNR_Item = -1;
static gint ett_ngap_TAICancelledEUTRA = -1;
static gint ett_ngap_TAICancelledEUTRA_Item = -1;
static gint ett_ngap_TAICancelledNR = -1;
static gint ett_ngap_TAICancelledNR_Item = -1;
static gint ett_ngap_TAIListForInactive = -1;
static gint ett_ngap_TAIListForInactiveItem = -1;
static gint ett_ngap_TAIListForPaging = -1;
static gint ett_ngap_TAIListForPagingItem = -1;
static gint ett_ngap_TAIListForRestart = -1;
static gint ett_ngap_TAIListForWarning = -1;
static gint ett_ngap_TargeteNB_ID = -1;
static gint ett_ngap_TargetID = -1;
static gint ett_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer = -1;
static gint ett_ngap_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer = -1;
static gint ett_ngap_TargetRANNodeID = -1;
static gint ett_ngap_TargetRNC_ID = -1;
static gint ett_ngap_TNGF_ID = -1;
static gint ett_ngap_TNLAssociationList = -1;
static gint ett_ngap_TNLAssociationItem = -1;
static gint ett_ngap_TooearlyIntersystemHO = -1;
static gint ett_ngap_TraceActivation = -1;
static gint ett_ngap_TAIBasedMDT = -1;
static gint ett_ngap_TAIListforMDT = -1;
static gint ett_ngap_TABasedMDT = -1;
static gint ett_ngap_TAListforMDT = -1;
static gint ett_ngap_TWIF_ID = -1;
static gint ett_ngap_TSCAssistanceInformation = -1;
static gint ett_ngap_TSCTrafficCharacteristics = -1;
static gint ett_ngap_UEAggregateMaximumBitRate = -1;
static gint ett_ngap_UE_associatedLogicalNG_connectionList = -1;
static gint ett_ngap_UE_associatedLogicalNG_connectionItem = -1;
static gint ett_ngap_UEContextResumeRequestTransfer = -1;
static gint ett_ngap_UEContextResumeResponseTransfer = -1;
static gint ett_ngap_UEContextSuspendRequestTransfer = -1;
static gint ett_ngap_UE_DifferentiationInfo = -1;
static gint ett_ngap_UEHistoryInformation = -1;
static gint ett_ngap_UEHistoryInformationFromTheUE = -1;
static gint ett_ngap_UEIdentityIndexValue = -1;
static gint ett_ngap_UE_NGAP_IDs = -1;
static gint ett_ngap_UE_NGAP_ID_pair = -1;
static gint ett_ngap_UEPagingIdentity = -1;
static gint ett_ngap_UEPresenceInAreaOfInterestList = -1;
static gint ett_ngap_UEPresenceInAreaOfInterestItem = -1;
static gint ett_ngap_UERadioCapabilityForPaging = -1;
static gint ett_ngap_UERLFReportContainer = -1;
static gint ett_ngap_UESecurityCapabilities = -1;
static gint ett_ngap_UL_CP_SecurityInformation = -1;
static gint ett_ngap_UL_NGU_UP_TNLModifyList = -1;
static gint ett_ngap_UL_NGU_UP_TNLModifyItem = -1;
static gint ett_ngap_UnavailableGUAMIList = -1;
static gint ett_ngap_UnavailableGUAMIItem = -1;
static gint ett_ngap_UPTransportLayerInformation = -1;
static gint ett_ngap_UPTransportLayerInformationList = -1;
static gint ett_ngap_UPTransportLayerInformationItem = -1;
static gint ett_ngap_UPTransportLayerInformationPairList = -1;
static gint ett_ngap_UPTransportLayerInformationPairItem = -1;
static gint ett_ngap_UserLocationInformation = -1;
static gint ett_ngap_UserLocationInformationEUTRA = -1;
static gint ett_ngap_UserLocationInformationN3IWF = -1;
static gint ett_ngap_UserLocationInformationTNGF = -1;
static gint ett_ngap_UserLocationInformationTWIF = -1;
static gint ett_ngap_UserLocationInformationW_AGF = -1;
static gint ett_ngap_UserLocationInformationNR = -1;
static gint ett_ngap_UserPlaneSecurityInformation = -1;
static gint ett_ngap_VolumeTimedReportList = -1;
static gint ett_ngap_VolumeTimedReport_Item = -1;
static gint ett_ngap_W_AGF_ID = -1;
static gint ett_ngap_WarningAreaList = -1;
static gint ett_ngap_WLANMeasurementConfiguration = -1;
static gint ett_ngap_WLANMeasConfigNameList = -1;
static gint ett_ngap_WLANMeasConfigNameItem = -1;
static gint ett_ngap_WUS_Assistance_Information = -1;
static gint ett_ngap_XnExtTLAs = -1;
static gint ett_ngap_XnExtTLA_Item = -1;
static gint ett_ngap_XnGTP_TLAs = -1;
static gint ett_ngap_XnTLAs = -1;
static gint ett_ngap_XnTNLConfigurationInfo = -1;
static gint ett_ngap_PDUSessionResourceSetupRequest = -1;
static gint ett_ngap_PDUSessionResourceSetupResponse = -1;
static gint ett_ngap_PDUSessionResourceReleaseCommand = -1;
static gint ett_ngap_PDUSessionResourceReleaseResponse = -1;
static gint ett_ngap_PDUSessionResourceModifyRequest = -1;
static gint ett_ngap_PDUSessionResourceModifyResponse = -1;
static gint ett_ngap_PDUSessionResourceNotify = -1;
static gint ett_ngap_PDUSessionResourceModifyIndication = -1;
static gint ett_ngap_PDUSessionResourceModifyConfirm = -1;
static gint ett_ngap_InitialContextSetupRequest = -1;
static gint ett_ngap_InitialContextSetupResponse = -1;
static gint ett_ngap_InitialContextSetupFailure = -1;
static gint ett_ngap_UEContextReleaseRequest = -1;
static gint ett_ngap_UEContextReleaseCommand = -1;
static gint ett_ngap_UEContextReleaseComplete = -1;
static gint ett_ngap_UEContextResumeRequest = -1;
static gint ett_ngap_UEContextResumeResponse = -1;
static gint ett_ngap_UEContextResumeFailure = -1;
static gint ett_ngap_UEContextSuspendRequest = -1;
static gint ett_ngap_UEContextSuspendResponse = -1;
static gint ett_ngap_UEContextSuspendFailure = -1;
static gint ett_ngap_UEContextModificationRequest = -1;
static gint ett_ngap_UEContextModificationResponse = -1;
static gint ett_ngap_UEContextModificationFailure = -1;
static gint ett_ngap_RRCInactiveTransitionReport = -1;
static gint ett_ngap_RetrieveUEInformation = -1;
static gint ett_ngap_UEInformationTransfer = -1;
static gint ett_ngap_RANCPRelocationIndication = -1;
static gint ett_ngap_HandoverRequired = -1;
static gint ett_ngap_HandoverCommand = -1;
static gint ett_ngap_HandoverPreparationFailure = -1;
static gint ett_ngap_HandoverRequest = -1;
static gint ett_ngap_HandoverRequestAcknowledge = -1;
static gint ett_ngap_HandoverFailure = -1;
static gint ett_ngap_HandoverNotify = -1;
static gint ett_ngap_PathSwitchRequest = -1;
static gint ett_ngap_PathSwitchRequestAcknowledge = -1;
static gint ett_ngap_PathSwitchRequestFailure = -1;
static gint ett_ngap_HandoverCancel = -1;
static gint ett_ngap_HandoverCancelAcknowledge = -1;
static gint ett_ngap_HandoverSuccess = -1;
static gint ett_ngap_UplinkRANEarlyStatusTransfer = -1;
static gint ett_ngap_DownlinkRANEarlyStatusTransfer = -1;
static gint ett_ngap_UplinkRANStatusTransfer = -1;
static gint ett_ngap_DownlinkRANStatusTransfer = -1;
static gint ett_ngap_Paging = -1;
static gint ett_ngap_InitialUEMessage = -1;
static gint ett_ngap_DownlinkNASTransport = -1;
static gint ett_ngap_UplinkNASTransport = -1;
static gint ett_ngap_NASNonDeliveryIndication = -1;
static gint ett_ngap_RerouteNASRequest = -1;
static gint ett_ngap_NGSetupRequest = -1;
static gint ett_ngap_NGSetupResponse = -1;
static gint ett_ngap_NGSetupFailure = -1;
static gint ett_ngap_RANConfigurationUpdate = -1;
static gint ett_ngap_RANConfigurationUpdateAcknowledge = -1;
static gint ett_ngap_RANConfigurationUpdateFailure = -1;
static gint ett_ngap_AMFConfigurationUpdate = -1;
static gint ett_ngap_AMFConfigurationUpdateAcknowledge = -1;
static gint ett_ngap_AMFConfigurationUpdateFailure = -1;
static gint ett_ngap_AMFStatusIndication = -1;
static gint ett_ngap_NGReset = -1;
static gint ett_ngap_NGResetAcknowledge = -1;
static gint ett_ngap_ErrorIndication = -1;
static gint ett_ngap_OverloadStart = -1;
static gint ett_ngap_OverloadStop = -1;
static gint ett_ngap_UplinkRANConfigurationTransfer = -1;
static gint ett_ngap_DownlinkRANConfigurationTransfer = -1;
static gint ett_ngap_WriteReplaceWarningRequest = -1;
static gint ett_ngap_WriteReplaceWarningResponse = -1;
static gint ett_ngap_PWSCancelRequest = -1;
static gint ett_ngap_PWSCancelResponse = -1;
static gint ett_ngap_PWSRestartIndication = -1;
static gint ett_ngap_PWSFailureIndication = -1;
static gint ett_ngap_DownlinkUEAssociatedNRPPaTransport = -1;
static gint ett_ngap_UplinkUEAssociatedNRPPaTransport = -1;
static gint ett_ngap_DownlinkNonUEAssociatedNRPPaTransport = -1;
static gint ett_ngap_UplinkNonUEAssociatedNRPPaTransport = -1;
static gint ett_ngap_TraceStart = -1;
static gint ett_ngap_TraceFailureIndication = -1;
static gint ett_ngap_DeactivateTrace = -1;
static gint ett_ngap_CellTrafficTrace = -1;
static gint ett_ngap_LocationReportingControl = -1;
static gint ett_ngap_LocationReportingFailureIndication = -1;
static gint ett_ngap_LocationReport = -1;
static gint ett_ngap_UETNLABindingReleaseRequest = -1;
static gint ett_ngap_UERadioCapabilityInfoIndication = -1;
static gint ett_ngap_UERadioCapabilityCheckRequest = -1;
static gint ett_ngap_UERadioCapabilityCheckResponse = -1;
static gint ett_ngap_PrivateMessage = -1;
static gint ett_ngap_SecondaryRATDataUsageReport = -1;
static gint ett_ngap_UplinkRIMInformationTransfer = -1;
static gint ett_ngap_DownlinkRIMInformationTransfer = -1;
static gint ett_ngap_ConnectionEstablishmentIndication = -1;
static gint ett_ngap_UERadioCapabilityIDMappingRequest = -1;
static gint ett_ngap_UERadioCapabilityIDMappingResponse = -1;
static gint ett_ngap_AMFCPRelocationIndication = -1;
static gint ett_ngap_NGAP_PDU = -1;
static gint ett_ngap_InitiatingMessage = -1;
static gint ett_ngap_SuccessfulOutcome = -1;
static gint ett_ngap_UnsuccessfulOutcome = -1;
/*--- End of included file: packet-ngap-ett.c ---*/
#line 179 "./asn1/ngap/packet-ngap-template.c"
static expert_field ei_ngap_number_pages_le15 = EI_INIT;
enum{
INITIATING_MESSAGE,
SUCCESSFUL_OUTCOME,
UNSUCCESSFUL_OUTCOME
};
/* NGAP stats - Tap interface */
static void set_stats_message_type(packet_info *pinfo, int type);
static const guint8 *st_str_packets = "Total Packets";
static const guint8 *st_str_packet_types = "NGAP Packet Types";
static int st_node_packets = -1;
static int st_node_packet_types = -1;
static int ngap_tap = -1;
struct ngap_tap_t {
gint ngap_mtype;
};
#define MTYPE_AMF_CONFIGURATION_UPDATE 1
#define MTYPE_AMF_CONFIGURATION_UPDATE_ACK 2
#define MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE 3
#define MTYPE_AMF_CP_RELOCATION_IND 4
#define MTYPE_AMF_STATUS_IND 5
#define MTYPE_CELL_TRAFFIC_TRACE 6
#define MTYPE_CONNECTION_ESTAB_IND 7
#define MTYPE_DEACTIVATE_TRACE 8
#define MTYPE_DOWNLINK_NAS_TRANSPORT 9
#define MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT 10
#define MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER 11
#define MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER 12
#define MTYPE_DOWNLINK_RAN_STATUS_TRANSFER 13
#define MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT 14
#define MTYPE_ERROR_INDICATION 15
#define MTYPE_HANDOVER_CANCEL 16
#define MTYPE_HANDOVER_CANCEL_ACK 17
#define MTYPE_HANDOVER_NOTIFY 18
#define MTYPE_HANDOVER_REQUIRED 19
#define MTYPE_HANDOVER_COMMAND 20
#define MTYPE_HANDOVER_PREPARATION_FAILURE 21
#define MTYPE_HANDOVER_REQUEST 22
#define MTYPE_HANDOVER_REQUEST_ACK 23
#define MTYPE_HANDOVER_FAILURE 24
#define MTYPE_HANDOVER_SUCCESS 25
#define MTYPE_INITIAL_CONTEXT_SETUP_REQUEST 26
#define MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE 27
#define MTYPE_INITIAL_CONTEXT_SETUP_FAILURE 28
#define MTYPE_INITIAL_UE_MESSAGE 29
#define MTYPE_LOCATION_REPORT 30
#define MTYPE_LOCATION_REPORTING_CONTROL 31
#define MTYPE_LOCATION_REPORTING_FAILURE_IND 32
#define MTYPE_NAS_NON_DELIVERY_IND 33
#define MTYPE_NG_RESET 34
#define MTYPE_NG_RESET_ACK 35
#define MTYPE_NG_SETUP_REQUEST 36
#define MTYPE_NG_SETUP_RESPONSE 37
#define MTYPE_NG_SETUP_FAILURE 38
#define MTYPE_OVERLOAD_START 39
#define MTYPE_OVERLOAD_STOP 40
#define MTYPE_PAGING 41
#define MTYPE_PATH_SWITCH_REQUEST 42
#define MTYPE_PATH_SWITCH_REQUEST_ACK 43
#define MTYPE_PATH_SWITCH_REQUEST_FAILURE 44
#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST 45
#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE 46
#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND 47
#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM 48
#define MTYPE_PDU_SESSION_RESOURCE_NOTIFY 49
#define MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND 50
#define MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE 51
#define MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST 52
#define MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE 53
#define MTYPE_PRIVATE_MESSAGE 54
#define MTYPE_PWS_CANCEL_REQUEST 55
#define MTYPE_PWS_CANCEL_RESPONSE 56
#define MTYPE_PWS_FAILURE_INDICATION 57
#define MTYPE_PWS_RESTART_INDICATION 58
#define MTYPE_RAN_CONFIGURATION_UPDATE 59
#define MTYPE_RAN_CONFIGURATION_UPDATE_ACK 60
#define MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE 61
#define MTYPE_RAN_CP_RELOCATION_IND 62
#define MTYPE_REROUTE_NAS_REQUEST 63
#define MTYPE_RETRIEVE_UE_INFORMATION 64
#define MTYPE_RRC_INACTIVE_TRANSITION_REPORT 65
#define MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT 66
#define MTYPE_TRACE_FAILURE_IND 67
#define MTYPE_TRACE_START 68
#define MTYPE_UE_CONTEXT_MODIFICATION_REQUEST 69
#define MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE 70
#define MTYPE_UE_CONTEXT_MODIFICATION_FAILURE 71
#define MTYPE_UE_CONTEXT_RELEASE_COMMAND 72
#define MTYPE_UE_CONTEXT_RELEASE_COMPLETE 73
#define MTYPE_UE_CONTEXT_RELEASE_REQUEST 74
#define MTYPE_UE_CONTEXT_RESUME_REQUEST 75
#define MTYPE_UE_CONTEXT_RESUME_RESPONSE 76
#define MTYPE_UE_CONTEXT_RESUME_FAILURE 77
#define MTYPE_UE_CONTEXT_SUSPEND_REQUEST 78
#define MTYPE_UE_CONTEXT_SUSPEND_RESPONSE 79
#define MTYPE_UE_CONTEXT_SUSPEND_FAILURE 80
#define MTYPE_UE_INFORMATION_TRANSFER 81
#define MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST 82
#define MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE 83
#define MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST 84
#define MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE 85
#define MTYPE_UE_RADIO_CAPABILITY_INFO_IND 86
#define MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST 87
#define MTYPE_UPLINK_NAS_TRANSPORT 88
#define MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT 89
#define MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER 90
#define MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER 91
#define MTYPE_UPLINK_RAN_STATUS_TRANSFER 92
#define MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT 93
#define MTYPE_WRITE_REPLACE_WARNING_REQUEST 94
#define MTYPE_WRITE_REPLACE_WARNING_RESPONSE 95
#define MTYPE_UPLINK_RIM_INFORMATION_TRANSFER 96
#define MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER 97
/* Value Strings. TODO: ext? */
static const value_string mtype_names[] = {
{ MTYPE_AMF_CONFIGURATION_UPDATE, "AMFConfigurationUpdate" },
{ MTYPE_AMF_CONFIGURATION_UPDATE_ACK, "AMFConfigurationUpdateAcknowledge" },
{ MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE, "AMFConfigurationUpdateFailure" },
{ MTYPE_AMF_CP_RELOCATION_IND, "AMFCPRelocationIndication" },
{ MTYPE_AMF_STATUS_IND, "AMFStatusIndication" },
{ MTYPE_CELL_TRAFFIC_TRACE, "CellTrafficTrace" },
{ MTYPE_CONNECTION_ESTAB_IND, "ConnectionEstablishmentIndication" },
{ MTYPE_DEACTIVATE_TRACE, "DeactivateTrace" },
{ MTYPE_DOWNLINK_NAS_TRANSPORT, "DownlinkNASTransport" },
{ MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT, "DownlinkNonUEAssociatedNRPPaTransport" },
{ MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER, "DownlinkRANConfigurationTransfer" },
{ MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER, "DownlinkRANEarlyStatusTransfer" },
{ MTYPE_DOWNLINK_RAN_STATUS_TRANSFER, "DownlinkRANStatusTransfer" },
{ MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT, "DownlinkUEAssociatedNRPPaTransport" },
{ MTYPE_ERROR_INDICATION, "ErrorIndication" },
{ MTYPE_HANDOVER_CANCEL, "HandoverCancel" },
{ MTYPE_HANDOVER_CANCEL_ACK, "HandoverCancelAcknowledge" },
{ MTYPE_HANDOVER_NOTIFY, "HandoverNotify" },
{ MTYPE_HANDOVER_REQUIRED, "HandoverRequired" },
{ MTYPE_HANDOVER_COMMAND, "HandoverCommand" },
{ MTYPE_HANDOVER_PREPARATION_FAILURE, "HandoverPreparationFailure" },
{ MTYPE_HANDOVER_REQUEST, "HandoverRequest" },
{ MTYPE_HANDOVER_REQUEST_ACK, "HandoverRequestAcknowledge" },
{ MTYPE_HANDOVER_FAILURE, "HandoverFailure" },
{ MTYPE_HANDOVER_SUCCESS, "HandoverSuccess" },
{ MTYPE_INITIAL_CONTEXT_SETUP_REQUEST, "InitialContextSetupRequest" },
{ MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE, "InitialContextSetupResponse" },
{ MTYPE_INITIAL_CONTEXT_SETUP_FAILURE, "InitialContextSetupFailure" },
{ MTYPE_INITIAL_CONTEXT_SETUP_FAILURE, "InitialContextSetupFailure" },
{ MTYPE_INITIAL_UE_MESSAGE, "InitialUEMessage" },
{ MTYPE_LOCATION_REPORT, "LocationReport" },
{ MTYPE_LOCATION_REPORTING_CONTROL, "LocationReportingControl" },
{ MTYPE_LOCATION_REPORTING_FAILURE_IND, "LocationReportingFailureIndication" },
{ MTYPE_NAS_NON_DELIVERY_IND, "NASNonDeliveryIndication" },
{ MTYPE_NG_RESET, "NGReset" },
{ MTYPE_NG_RESET_ACK, "NGResetAcknowledge" },
{ MTYPE_NG_SETUP_REQUEST, "NGSetupRequest" },
{ MTYPE_NG_SETUP_RESPONSE, "NGSetupResponse" },
{ MTYPE_NG_SETUP_FAILURE, "NGSetupFailure" },
{ MTYPE_OVERLOAD_START, "OverloadStart" },
{ MTYPE_OVERLOAD_STOP, "OverloadStop" },
{ MTYPE_PAGING, "Paging" },
{ MTYPE_PATH_SWITCH_REQUEST, "PathSwitchRequest" },
{ MTYPE_PATH_SWITCH_REQUEST_ACK, "PathSwitchRequestAcknowledge" },
{ MTYPE_PATH_SWITCH_REQUEST_FAILURE, "PathSwitchRequestFailure" },
{ MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST, "PDUSessionResourceModifyRequest" },
{ MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE, "PDUSessionResourceModifyResponse" },
{ MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND, "PDUSessionResourceModifyIndication" },
{ MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM, "PDUSessionResourceModifyConfirm" },
{ MTYPE_PDU_SESSION_RESOURCE_NOTIFY, "PDUSessionResourceNotify" },
{ MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND, "PDUSessionResourceReleaseCommand" },
{ MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE, "PDUSessionResourceReleaseResponse" },
{ MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST, "PDUSessionResourceSetupRequest" },
{ MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE, "PDUSessionResourceSetupResponse" },
{ MTYPE_PRIVATE_MESSAGE, "PrivateMessage" },
{ MTYPE_PWS_CANCEL_REQUEST, "PWSCancelRequest" },
{ MTYPE_PWS_CANCEL_RESPONSE, "PWSCancelResponse" },
{ MTYPE_PWS_FAILURE_INDICATION, "PWSFailureIndication" },
{ MTYPE_PWS_RESTART_INDICATION, "PWSRestartIndication" },
{ MTYPE_RAN_CONFIGURATION_UPDATE, "RANConfigurationUpdate" },
{ MTYPE_RAN_CONFIGURATION_UPDATE_ACK, "RANConfigurationUpdateAcknowledge" },
{ MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE, "RANConfigurationUpdateFailure" },
{ MTYPE_RAN_CP_RELOCATION_IND, "RANCPRelocationIndication" },
{ MTYPE_REROUTE_NAS_REQUEST, "RerouteNASRequest" },
{ MTYPE_RETRIEVE_UE_INFORMATION, "RetrieveUEInformation" },
{ MTYPE_RRC_INACTIVE_TRANSITION_REPORT, "RRCInactiveTransitionReport" },
{ MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT, "SecondaryRATDataUsageReport" },
{ MTYPE_TRACE_FAILURE_IND, "TraceFailureIndication" },
{ MTYPE_TRACE_START, "TraceStart" },
{ MTYPE_UE_CONTEXT_MODIFICATION_REQUEST, "UEContextModificationRequest" },
{ MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE, "UEContextModificationResponse" },
{ MTYPE_UE_CONTEXT_MODIFICATION_FAILURE, "UEContextModificationFailure" },
{ MTYPE_UE_CONTEXT_RELEASE_COMMAND, "UEContextReleaseCommand" },
{ MTYPE_UE_CONTEXT_RELEASE_COMPLETE, "UEContextReleaseComplete" },
{ MTYPE_UE_CONTEXT_RELEASE_REQUEST, "UEContextReleaseRequest" },
{ MTYPE_UE_CONTEXT_RESUME_REQUEST, "UEContextResumeRequest" },
{ MTYPE_UE_CONTEXT_RESUME_RESPONSE, "UEContextResumeResponse" },
{ MTYPE_UE_CONTEXT_RESUME_FAILURE, "UEContextResumeFailure" },
{ MTYPE_UE_CONTEXT_SUSPEND_REQUEST, "UEContextSuspendRequest" },
{ MTYPE_UE_CONTEXT_SUSPEND_RESPONSE, "UEContextSuspendResponse" },
{ MTYPE_UE_CONTEXT_SUSPEND_FAILURE, "UEContextSuspendFailure" },
{ MTYPE_UE_INFORMATION_TRANSFER, "UEInformationTransfer" },
{ MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST, "UERadioCapabilityCheckRequest" },
{ MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE, "UERadioCapabilityCheckResponse" },
{ MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST, "UERadioCapabilityIDMappingRequest" },
{ MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE, "UERadioCapabilityIDMappingResponse" },
{ MTYPE_UE_RADIO_CAPABILITY_INFO_IND, "UERadioCapabilityInfoIndication" },
{ MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST, "UETNLABindingReleaseRequest" },
{ MTYPE_UPLINK_NAS_TRANSPORT, "UplinkNASTransport" },
{ MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT, "UplinkNonUEAssociatedNRPPaTransport" },
{ MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER, "UplinkRANConfigurationTransfer" },
{ MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER, "UplinkRANEarlyStatusTransfer" },
{ MTYPE_UPLINK_RAN_STATUS_TRANSFER, "UplinkRANStatusTransfer" },
{ MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT, "UplinkUEAssociatedNRPPaTransport" },
{ MTYPE_WRITE_REPLACE_WARNING_REQUEST, "WriteReplaceWarningRequest" },
{ MTYPE_WRITE_REPLACE_WARNING_RESPONSE, "WriteReplaceWarningResponse" },
{ MTYPE_UPLINK_RIM_INFORMATION_TRANSFER, "UplinkRIMInformationTransfer" },
{ MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER, "DownlinkRIMInformationTransfer" },
{ 0, NULL }
};
typedef struct _ngap_ctx_t {
guint32 message_type;
guint32 ProcedureCode;
guint32 ProtocolIE_ID;
guint32 ProtocolExtensionID;
} ngap_ctx_t;
struct ngap_conv_info {
address addr_a;
guint32 port_a;
GlobalRANNodeID_enum ranmode_id_a;
address addr_b;
guint32 port_b;
GlobalRANNodeID_enum ranmode_id_b;
wmem_map_t *nbiot_ta;
wmem_tree_t *nbiot_ran_ue_ngap_id;
};
enum {
SOURCE_TO_TARGET_TRANSPARENT_CONTAINER = 1,
TARGET_TO_SOURCE_TRANSPARENT_CONTAINER
};
struct ngap_supported_ta {
guint32 tac;
wmem_array_t *plmn;
};
struct ngap_tai {
guint32 plmn;
guint32 tac;
};
struct ngap_private_data {
struct ngap_conv_info *ngap_conv;
guint32 procedure_code;
guint32 protocol_ie_id;
guint32 protocol_extension_id;
guint32 message_type;
guint32 handover_type_value;
guint8 data_coding_scheme;
guint8 transparent_container_type;
struct ngap_supported_ta *supported_ta;
struct ngap_tai *tai;
guint32 ran_ue_ngap_id;
e212_number_type_t number_type;
struct ngap_tap_t *stats_tap;
};
enum {
NGAP_NG_RAN_CONTAINER_AUTOMATIC,
NGAP_NG_RAN_CONTAINER_GNB,
NGAP_NG_RAN_CONTAINER_NG_ENB
};
static const enum_val_t ngap_target_ng_ran_container_vals[] = {
{"automatic", "automatic", NGAP_NG_RAN_CONTAINER_AUTOMATIC},
{"gnb", "gNB", NGAP_NG_RAN_CONTAINER_GNB},
{"ng-enb","ng-eNB", NGAP_NG_RAN_CONTAINER_NG_ENB},
{NULL, NULL, -1}
};
enum {
NGAP_LTE_CONTAINER_AUTOMATIC,
NGAP_LTE_CONTAINER_LEGACY,
NGAP_LTE_CONTAINER_NBIOT
};
static const enum_val_t ngap_lte_container_vals[] = {
{"automatic", "Automatic", NGAP_LTE_CONTAINER_AUTOMATIC},
{"legacy", "Legacy LTE", NGAP_LTE_CONTAINER_LEGACY},
{"nb-iot","NB-IoT", NGAP_LTE_CONTAINER_NBIOT},
{NULL, NULL, -1}
};
/* Global variables */
static guint gbl_ngapSctpPort = SCTP_PORT_NGAP;
static gboolean ngap_dissect_container = TRUE;
static gint ngap_dissect_target_ng_ran_container_as = NGAP_NG_RAN_CONTAINER_AUTOMATIC;
static gint ngap_dissect_lte_container_as = NGAP_LTE_CONTAINER_AUTOMATIC;
/* Dissector tables */
static dissector_table_t ngap_ies_dissector_table;
static dissector_table_t ngap_ies_p1_dissector_table;
static dissector_table_t ngap_ies_p2_dissector_table;
static dissector_table_t ngap_extension_dissector_table;
static dissector_table_t ngap_proc_imsg_dissector_table;
static dissector_table_t ngap_proc_sout_dissector_table;
static dissector_table_t ngap_proc_uout_dissector_table;
static dissector_table_t ngap_n2_ie_type_dissector_table;
static proto_tree *top_tree = NULL;
static void set_message_label(asn1_ctx_t *actx, int type)
{
const char *label = val_to_str_const(type, mtype_names, "Unknown");
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, label);
/* N.B. would like to be able to use actx->subTree.top_tree, but not easy to set.. */
proto_item_append_text(top_tree, " (%s)", label);
}
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
/* Currently not used
static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
*/
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_InitialUEMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data);
static int dissect_PDUSessionResourceReleaseResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_HandoverRequestAcknowledgeTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceModifyUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceSetupUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_HandoverResourceAllocationUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PathSwitchRequestSetupFailedTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_HandoverCommandTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_HandoverRequiredTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceModifyConfirmTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceModifyIndicationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceModifyRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceModifyResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceNotifyTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceNotifyReleasedTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PathSwitchRequestUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceSetupRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceSetupResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PathSwitchRequestAcknowledgeTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PathSwitchRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_HandoverPreparationUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceReleaseCommandTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_SecondaryRATDataUsageReportTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_PDUSessionResourceModifyIndicationUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
const value_string ngap_serialNumber_gs_vals[] = {
{ 0, "Display mode immediate, cell wide"},
{ 1, "Display mode normal, PLMN wide"},
{ 2, "Display mode normal, tracking area wide"},
{ 3, "Display mode normal, cell wide"},
{ 0, NULL},
};
const value_string ngap_warningType_vals[] = {
{ 0, "Earthquake"},
{ 1, "Tsunami"},
{ 2, "Earthquake and Tsunami"},
{ 3, "Test"},
{ 4, "Other"},
{ 0, NULL},
};
static void
dissect_ngap_warningMessageContents(tvbuff_t *warning_msg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dcs, int hf_nb_pages, int hf_decoded_page)
{
guint32 offset;
guint8 nb_of_pages, length, *str;
proto_item *ti;
tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
int i;
nb_of_pages = tvb_get_guint8(warning_msg_tvb, 0);
ti = proto_tree_add_uint(tree, hf_nb_pages, warning_msg_tvb, 0, 1, nb_of_pages);
if (nb_of_pages > 15) {
expert_add_info_format(pinfo, ti, &ei_ngap_number_pages_le15,
"Number of pages should be <=15 (found %u)", nb_of_pages);
nb_of_pages = 15;
}
for (i = 0, offset = 1; i < nb_of_pages; i++) {
length = tvb_get_guint8(warning_msg_tvb, offset+82);
cb_data_page_tvb = tvb_new_subset_length(warning_msg_tvb, offset, length);
cb_data_tvb = dissect_cbs_data(dcs, cb_data_page_tvb, tree, pinfo, 0);
if (cb_data_tvb) {
str = tvb_get_string_enc(pinfo->pool, cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
proto_tree_add_string_format(tree, hf_decoded_page, warning_msg_tvb, offset, 83,
str, "Decoded Page %u: %s", i+1, str);
}
offset += 83;
}
}
static void
ngap_PacketLossRate_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f%% (%u)", (float)v/10, v);
}
static void
ngap_PacketDelayBudget_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v);
}
static void
ngap_TimeUEStayedInCellEnhancedGranularity_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fs", ((float)v)/10);
}
static void
ngap_PeriodicRegistrationUpdateTimer_fmt(gchar *s, guint32 v)
{
guint32 val = v & 0x1f;
switch (v>>5) {
case 0:
g_snprintf(s, ITEM_LABEL_LENGTH, "%u min (%u)", val * 10, v);
break;
case 1:
default:
g_snprintf(s, ITEM_LABEL_LENGTH, "%u hr (%u)", val, v);
break;
case 2:
g_snprintf(s, ITEM_LABEL_LENGTH, "%u hr (%u)", val * 10, v);
break;
case 3:
g_snprintf(s, ITEM_LABEL_LENGTH, "%u sec (%u)", val * 2, v);
break;
case 4:
g_snprintf(s, ITEM_LABEL_LENGTH, "%u sec (%u)", val * 30, v);
break;
case 5:
g_snprintf(s, ITEM_LABEL_LENGTH, "%u min (%u)", val, v);
break;
case 7:
g_snprintf(s, ITEM_LABEL_LENGTH, "deactivated (%u)", v);
break;
}
}
static void
ngap_ExtendedPacketDelayBudget_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.2fms (%u)", (float)v/100, v);
}
static void
ngap_Threshold_RSRP_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%u)", (gint32)v-156, v);
}
static void
ngap_Threshold_RSRQ_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-43, v);
}
static void
ngap_Threshold_SINR_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-23, v);
}
static struct ngap_private_data*
ngap_get_private_data(packet_info *pinfo)
{
struct ngap_private_data *ngap_data = (struct ngap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_ngap, 0);
if (!ngap_data) {
ngap_data = wmem_new0(pinfo->pool, struct ngap_private_data);
ngap_data->handover_type_value = -1;
p_add_proto_data(pinfo->pool, pinfo, proto_ngap, 0, ngap_data);
}
return ngap_data;
}
static GlobalRANNodeID_enum
ngap_get_ranmode_id(address *addr, guint32 port, packet_info *pinfo)
{
struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
GlobalRANNodeID_enum ranmode_id = (GlobalRANNodeID_enum)-1;
if (ngap_data->ngap_conv) {
if (addresses_equal(addr, &ngap_data->ngap_conv->addr_a) && port == ngap_data->ngap_conv->port_a) {
ranmode_id = ngap_data->ngap_conv->ranmode_id_a;
} else if (addresses_equal(addr, &ngap_data->ngap_conv->addr_b) && port == ngap_data->ngap_conv->port_b) {
ranmode_id = ngap_data->ngap_conv->ranmode_id_b;
}
}
return ranmode_id;
}
static gboolean
ngap_is_nbiot_ue(packet_info *pinfo)
{
struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
if (ngap_data->ngap_conv) {
wmem_tree_key_t tree_key[3];
guint32 *id;
tree_key[0].length = 1;
tree_key[0].key = &ngap_data->ran_ue_ngap_id;
tree_key[1].length = 1;
tree_key[1].key = &pinfo->num;
tree_key[2].length = 0;
tree_key[2].key = NULL;
id = (guint32*)wmem_tree_lookup32_array_le(ngap_data->ngap_conv->nbiot_ran_ue_ngap_id, tree_key);
if (id && (*id == ngap_data->ran_ue_ngap_id)) {
return TRUE;
}
}
return FALSE;
}
const true_false_string ngap_not_updated_updated = {
"Not updated",
"Updated"
};
/*--- Included file: packet-ngap-fn.c ---*/
#line 1 "./asn1/ngap/packet-ngap-fn.c"
/*--- PDUs declarations ---*/
static int dissect_UEContextResumeRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_UEContextResumeResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_UEContextSuspendRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static const value_string ngap_Criticality_vals[] = {
{ 0, "reject" },
{ 1, "ignore" },
{ 2, "notify" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, NULL, FALSE);
return offset;
}
static int
dissect_ngap_OBJECT_IDENTIFIER(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(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
static const value_string ngap_PrivateIE_ID_vals[] = {
{ 0, "local" },
{ 1, "global" },
{ 0, NULL }
};
static const per_choice_t PrivateIE_ID_choice[] = {
{ 0, &hf_ngap_local , ASN1_NO_EXTENSIONS , dissect_ngap_INTEGER_0_65535 },
{ 1, &hf_ngap_global , ASN1_NO_EXTENSIONS , dissect_ngap_OBJECT_IDENTIFIER },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_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_ngap_PrivateIE_ID, PrivateIE_ID_choice,
NULL);
return offset;
}
static const value_string ngap_ProcedureCode_vals[] = {
{ id_AMFConfigurationUpdate, "id-AMFConfigurationUpdate" },
{ id_AMFStatusIndication, "id-AMFStatusIndication" },
{ id_CellTrafficTrace, "id-CellTrafficTrace" },
{ id_DeactivateTrace, "id-DeactivateTrace" },
{ id_DownlinkNASTransport, "id-DownlinkNASTransport" },
{ id_DownlinkNonUEAssociatedNRPPaTransport, "id-DownlinkNonUEAssociatedNRPPaTransport" },
{ id_DownlinkRANConfigurationTransfer, "id-DownlinkRANConfigurationTransfer" },
{ id_DownlinkRANStatusTransfer, "id-DownlinkRANStatusTransfer" },
{ id_DownlinkUEAssociatedNRPPaTransport, "id-DownlinkUEAssociatedNRPPaTransport" },
{ id_ErrorIndication, "id-ErrorIndication" },
{ id_HandoverCancel, "id-HandoverCancel" },
{ id_HandoverNotification, "id-HandoverNotification" },
{ id_HandoverPreparation, "id-HandoverPreparation" },
{ id_HandoverResourceAllocation, "id-HandoverResourceAllocation" },
{ id_InitialContextSetup, "id-InitialContextSetup" },
{ id_InitialUEMessage, "id-InitialUEMessage" },
{ id_LocationReportingControl, "id-LocationReportingControl" },
{ id_LocationReportingFailureIndication, "id-LocationReportingFailureIndication" },
{ id_LocationReport, "id-LocationReport" },
{ id_NASNonDeliveryIndication, "id-NASNonDeliveryIndication" },
{ id_NGReset, "id-NGReset" },
{ id_NGSetup, "id-NGSetup" },
{ id_OverloadStart, "id-OverloadStart" },
{ id_OverloadStop, "id-OverloadStop" },
{ id_Paging, "id-Paging" },
{ id_PathSwitchRequest, "id-PathSwitchRequest" },
{ id_PDUSessionResourceModify, "id-PDUSessionResourceModify" },
{ id_PDUSessionResourceModifyIndication, "id-PDUSessionResourceModifyIndication" },
{ id_PDUSessionResourceRelease, "id-PDUSessionResourceRelease" },
{ id_PDUSessionResourceSetup, "id-PDUSessionResourceSetup" },
{ id_PDUSessionResourceNotify, "id-PDUSessionResourceNotify" },
{ id_PrivateMessage, "id-PrivateMessage" },
{ id_PWSCancel, "id-PWSCancel" },
{ id_PWSFailureIndication, "id-PWSFailureIndication" },
{ id_PWSRestartIndication, "id-PWSRestartIndication" },
{ id_RANConfigurationUpdate, "id-RANConfigurationUpdate" },
{ id_RerouteNASRequest, "id-RerouteNASRequest" },
{ id_RRCInactiveTransitionReport, "id-RRCInactiveTransitionReport" },
{ id_TraceFailureIndication, "id-TraceFailureIndication" },
{ id_TraceStart, "id-TraceStart" },
{ id_UEContextModification, "id-UEContextModification" },
{ id_UEContextRelease, "id-UEContextRelease" },
{ id_UEContextReleaseRequest, "id-UEContextReleaseRequest" },
{ id_UERadioCapabilityCheck, "id-UERadioCapabilityCheck" },
{ id_UERadioCapabilityInfoIndication, "id-UERadioCapabilityInfoIndication" },
{ id_UETNLABindingRelease, "id-UETNLABindingRelease" },
{ id_UplinkNASTransport, "id-UplinkNASTransport" },
{ id_UplinkNonUEAssociatedNRPPaTransport, "id-UplinkNonUEAssociatedNRPPaTransport" },
{ id_UplinkRANConfigurationTransfer, "id-UplinkRANConfigurationTransfer" },
{ id_UplinkRANStatusTransfer, "id-UplinkRANStatusTransfer" },
{ id_UplinkUEAssociatedNRPPaTransport, "id-UplinkUEAssociatedNRPPaTransport" },
{ id_WriteReplaceWarning, "id-WriteReplaceWarning" },
{ id_SecondaryRATDataUsageReport, "id-SecondaryRATDataUsageReport" },
{ id_UplinkRIMInformationTransfer, "id-UplinkRIMInformationTransfer" },
{ id_DownlinkRIMInformationTransfer, "id-DownlinkRIMInformationTransfer" },
{ id_RetrieveUEInformation, "id-RetrieveUEInformation" },
{ id_UEInformationTransfer, "id-UEInformationTransfer" },
{ id_RANCPRelocationIndication, "id-RANCPRelocationIndication" },
{ id_UEContextResume, "id-UEContextResume" },
{ id_UEContextSuspend, "id-UEContextSuspend" },
{ id_UERadioCapabilityIDMapping, "id-UERadioCapabilityIDMapping" },
{ id_HandoverSuccess, "id-HandoverSuccess" },
{ id_UplinkRANEarlyStatusTransfer, "id-UplinkRANEarlyStatusTransfer" },
{ id_DownlinkRANEarlyStatusTransfer, "id-DownlinkRANEarlyStatusTransfer" },
{ id_AMFCPRelocationIndication, "id-AMFCPRelocationIndication" },
{ id_ConnectionEstablishmentIndication, "id-ConnectionEstablishmentIndication" },
{ 0, NULL }
};
static value_string_ext ngap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(ngap_ProcedureCode_vals);
static int
dissect_ngap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 130 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, &ngap_data->procedure_code, FALSE);
return offset;
}
static int
dissect_ngap_ProtocolExtensionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 124 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, &ngap_data->protocol_extension_id, FALSE);
return offset;
}
static const value_string ngap_ProtocolIE_ID_vals[] = {
{ id_AllowedNSSAI, "id-AllowedNSSAI" },
{ id_AMFName, "id-AMFName" },
{ id_AMFOverloadResponse, "id-AMFOverloadResponse" },
{ id_AMFSetID, "id-AMFSetID" },
{ id_AMF_TNLAssociationFailedToSetupList, "id-AMF-TNLAssociationFailedToSetupList" },
{ id_AMF_TNLAssociationSetupList, "id-AMF-TNLAssociationSetupList" },
{ id_AMF_TNLAssociationToAddList, "id-AMF-TNLAssociationToAddList" },
{ id_AMF_TNLAssociationToRemoveList, "id-AMF-TNLAssociationToRemoveList" },
{ id_AMF_TNLAssociationToUpdateList, "id-AMF-TNLAssociationToUpdateList" },
{ id_AMFTrafficLoadReductionIndication, "id-AMFTrafficLoadReductionIndication" },
{ id_AMF_UE_NGAP_ID, "id-AMF-UE-NGAP-ID" },
{ id_AssistanceDataForPaging, "id-AssistanceDataForPaging" },
{ id_BroadcastCancelledAreaList, "id-BroadcastCancelledAreaList" },
{ id_BroadcastCompletedAreaList, "id-BroadcastCompletedAreaList" },
{ id_CancelAllWarningMessages, "id-CancelAllWarningMessages" },
{ id_Cause, "id-Cause" },
{ id_CellIDListForRestart, "id-CellIDListForRestart" },
{ id_ConcurrentWarningMessageInd, "id-ConcurrentWarningMessageInd" },
{ id_CoreNetworkAssistanceInformationForInactive, "id-CoreNetworkAssistanceInformationForInactive" },
{ id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
{ id_DataCodingScheme, "id-DataCodingScheme" },
{ id_DefaultPagingDRX, "id-DefaultPagingDRX" },
{ id_DirectForwardingPathAvailability, "id-DirectForwardingPathAvailability" },
{ id_EmergencyAreaIDListForRestart, "id-EmergencyAreaIDListForRestart" },
{ id_EmergencyFallbackIndicator, "id-EmergencyFallbackIndicator" },
{ id_EUTRA_CGI, "id-EUTRA-CGI" },
{ id_FiveG_S_TMSI, "id-FiveG-S-TMSI" },
{ id_GlobalRANNodeID, "id-GlobalRANNodeID" },
{ id_GUAMI, "id-GUAMI" },
{ id_HandoverType, "id-HandoverType" },
{ id_IMSVoiceSupportIndicator, "id-IMSVoiceSupportIndicator" },
{ id_IndexToRFSP, "id-IndexToRFSP" },
{ id_InfoOnRecommendedCellsAndRANNodesForPaging, "id-InfoOnRecommendedCellsAndRANNodesForPaging" },
{ id_LocationReportingRequestType, "id-LocationReportingRequestType" },
{ id_MaskedIMEISV, "id-MaskedIMEISV" },
{ id_MessageIdentifier, "id-MessageIdentifier" },
{ id_MobilityRestrictionList, "id-MobilityRestrictionList" },
{ id_NASC, "id-NASC" },
{ id_NAS_PDU, "id-NAS-PDU" },
{ id_NASSecurityParametersFromNGRAN, "id-NASSecurityParametersFromNGRAN" },
{ id_NewAMF_UE_NGAP_ID, "id-NewAMF-UE-NGAP-ID" },
{ id_NewSecurityContextInd, "id-NewSecurityContextInd" },
{ id_NGAP_Message, "id-NGAP-Message" },
{ id_NGRAN_CGI, "id-NGRAN-CGI" },
{ id_NGRANTraceID, "id-NGRANTraceID" },
{ id_NR_CGI, "id-NR-CGI" },
{ id_NRPPa_PDU, "id-NRPPa-PDU" },
{ id_NumberOfBroadcastsRequested, "id-NumberOfBroadcastsRequested" },
{ id_OldAMF, "id-OldAMF" },
{ id_OverloadStartNSSAIList, "id-OverloadStartNSSAIList" },
{ id_PagingDRX, "id-PagingDRX" },
{ id_PagingOrigin, "id-PagingOrigin" },
{ id_PagingPriority, "id-PagingPriority" },
{ id_PDUSessionResourceAdmittedList, "id-PDUSessionResourceAdmittedList" },
{ id_PDUSessionResourceFailedToModifyListModRes, "id-PDUSessionResourceFailedToModifyListModRes" },
{ id_PDUSessionResourceFailedToSetupListCxtRes, "id-PDUSessionResourceFailedToSetupListCxtRes" },
{ id_PDUSessionResourceFailedToSetupListHOAck, "id-PDUSessionResourceFailedToSetupListHOAck" },
{ id_PDUSessionResourceFailedToSetupListPSReq, "id-PDUSessionResourceFailedToSetupListPSReq" },
{ id_PDUSessionResourceFailedToSetupListSURes, "id-PDUSessionResourceFailedToSetupListSURes" },
{ id_PDUSessionResourceHandoverList, "id-PDUSessionResourceHandoverList" },
{ id_PDUSessionResourceListCxtRelCpl, "id-PDUSessionResourceListCxtRelCpl" },
{ id_PDUSessionResourceListHORqd, "id-PDUSessionResourceListHORqd" },
{ id_PDUSessionResourceModifyListModCfm, "id-PDUSessionResourceModifyListModCfm" },
{ id_PDUSessionResourceModifyListModInd, "id-PDUSessionResourceModifyListModInd" },
{ id_PDUSessionResourceModifyListModReq, "id-PDUSessionResourceModifyListModReq" },
{ id_PDUSessionResourceModifyListModRes, "id-PDUSessionResourceModifyListModRes" },
{ id_PDUSessionResourceNotifyList, "id-PDUSessionResourceNotifyList" },
{ id_PDUSessionResourceReleasedListNot, "id-PDUSessionResourceReleasedListNot" },
{ id_PDUSessionResourceReleasedListPSAck, "id-PDUSessionResourceReleasedListPSAck" },
{ id_PDUSessionResourceReleasedListPSFail, "id-PDUSessionResourceReleasedListPSFail" },
{ id_PDUSessionResourceReleasedListRelRes, "id-PDUSessionResourceReleasedListRelRes" },
{ id_PDUSessionResourceSetupListCxtReq, "id-PDUSessionResourceSetupListCxtReq" },
{ id_PDUSessionResourceSetupListCxtRes, "id-PDUSessionResourceSetupListCxtRes" },
{ id_PDUSessionResourceSetupListHOReq, "id-PDUSessionResourceSetupListHOReq" },
{ id_PDUSessionResourceSetupListSUReq, "id-PDUSessionResourceSetupListSUReq" },
{ id_PDUSessionResourceSetupListSURes, "id-PDUSessionResourceSetupListSURes" },
{ id_PDUSessionResourceToBeSwitchedDLList, "id-PDUSessionResourceToBeSwitchedDLList" },
{ id_PDUSessionResourceSwitchedList, "id-PDUSessionResourceSwitchedList" },
{ id_PDUSessionResourceToReleaseListHOCmd, "id-PDUSessionResourceToReleaseListHOCmd" },
{ id_PDUSessionResourceToReleaseListRelCmd, "id-PDUSessionResourceToReleaseListRelCmd" },
{ id_PLMNSupportList, "id-PLMNSupportList" },
{ id_PWSFailedCellIDList, "id-PWSFailedCellIDList" },
{ id_RANNodeName, "id-RANNodeName" },
{ id_RANPagingPriority, "id-RANPagingPriority" },
{ id_RANStatusTransfer_TransparentContainer, "id-RANStatusTransfer-TransparentContainer" },
{ id_RAN_UE_NGAP_ID, "id-RAN-UE-NGAP-ID" },
{ id_RelativeAMFCapacity, "id-RelativeAMFCapacity" },
{ id_RepetitionPeriod, "id-RepetitionPeriod" },
{ id_ResetType, "id-ResetType" },
{ id_RoutingID, "id-RoutingID" },
{ id_RRCEstablishmentCause, "id-RRCEstablishmentCause" },
{ id_RRCInactiveTransitionReportRequest, "id-RRCInactiveTransitionReportRequest" },
{ id_RRCState, "id-RRCState" },
{ id_SecurityContext, "id-SecurityContext" },
{ id_SecurityKey, "id-SecurityKey" },
{ id_SerialNumber, "id-SerialNumber" },
{ id_ServedGUAMIList, "id-ServedGUAMIList" },
{ id_SliceSupportList, "id-SliceSupportList" },
{ id_SONConfigurationTransferDL, "id-SONConfigurationTransferDL" },
{ id_SONConfigurationTransferUL, "id-SONConfigurationTransferUL" },
{ id_SourceAMF_UE_NGAP_ID, "id-SourceAMF-UE-NGAP-ID" },
{ id_SourceToTarget_TransparentContainer, "id-SourceToTarget-TransparentContainer" },
{ id_SupportedTAList, "id-SupportedTAList" },
{ id_TAIListForPaging, "id-TAIListForPaging" },
{ id_TAIListForRestart, "id-TAIListForRestart" },
{ id_TargetID, "id-TargetID" },
{ id_TargetToSource_TransparentContainer, "id-TargetToSource-TransparentContainer" },
{ id_TimeToWait, "id-TimeToWait" },
{ id_TraceActivation, "id-TraceActivation" },
{ id_TraceCollectionEntityIPAddress, "id-TraceCollectionEntityIPAddress" },
{ id_UEAggregateMaximumBitRate, "id-UEAggregateMaximumBitRate" },
{ id_UE_associatedLogicalNG_connectionList, "id-UE-associatedLogicalNG-connectionList" },
{ id_UEContextRequest, "id-UEContextRequest" },
{ id_Unknown_113, "id-Unknown-113" },
{ id_UE_NGAP_IDs, "id-UE-NGAP-IDs" },
{ id_UEPagingIdentity, "id-UEPagingIdentity" },
{ id_UEPresenceInAreaOfInterestList, "id-UEPresenceInAreaOfInterestList" },
{ id_UERadioCapability, "id-UERadioCapability" },
{ id_UERadioCapabilityForPaging, "id-UERadioCapabilityForPaging" },
{ id_UESecurityCapabilities, "id-UESecurityCapabilities" },
{ id_UnavailableGUAMIList, "id-UnavailableGUAMIList" },
{ id_UserLocationInformation, "id-UserLocationInformation" },
{ id_WarningAreaList, "id-WarningAreaList" },
{ id_WarningMessageContents, "id-WarningMessageContents" },
{ id_WarningSecurityInfo, "id-WarningSecurityInfo" },
{ id_WarningType, "id-WarningType" },
{ id_AdditionalUL_NGU_UP_TNLInformation, "id-AdditionalUL-NGU-UP-TNLInformation" },
{ id_DataForwardingNotPossible, "id-DataForwardingNotPossible" },
{ id_DL_NGU_UP_TNLInformation, "id-DL-NGU-UP-TNLInformation" },
{ id_NetworkInstance, "id-NetworkInstance" },
{ id_PDUSessionAggregateMaximumBitRate, "id-PDUSessionAggregateMaximumBitRate" },
{ id_PDUSessionResourceFailedToModifyListModCfm, "id-PDUSessionResourceFailedToModifyListModCfm" },
{ id_PDUSessionResourceFailedToSetupListCxtFail, "id-PDUSessionResourceFailedToSetupListCxtFail" },
{ id_PDUSessionResourceListCxtRelReq, "id-PDUSessionResourceListCxtRelReq" },
{ id_PDUSessionType, "id-PDUSessionType" },
{ id_QosFlowAddOrModifyRequestList, "id-QosFlowAddOrModifyRequestList" },
{ id_QosFlowSetupRequestList, "id-QosFlowSetupRequestList" },
{ id_QosFlowToReleaseList, "id-QosFlowToReleaseList" },
{ id_SecurityIndication, "id-SecurityIndication" },
{ id_UL_NGU_UP_TNLInformation, "id-UL-NGU-UP-TNLInformation" },
{ id_UL_NGU_UP_TNLModifyList, "id-UL-NGU-UP-TNLModifyList" },
{ id_WarningAreaCoordinates, "id-WarningAreaCoordinates" },
{ id_PDUSessionResourceSecondaryRATUsageList, "id-PDUSessionResourceSecondaryRATUsageList" },
{ id_HandoverFlag, "id-HandoverFlag" },
{ id_SecondaryRATUsageInformation, "id-SecondaryRATUsageInformation" },
{ id_PDUSessionResourceReleaseResponseTransfer, "id-PDUSessionResourceReleaseResponseTransfer" },
{ id_RedirectionVoiceFallback, "id-RedirectionVoiceFallback" },
{ id_UERetentionInformation, "id-UERetentionInformation" },
{ id_S_NSSAI, "id-S-NSSAI" },
{ id_PSCellInformation, "id-PSCellInformation" },
{ id_LastEUTRAN_PLMNIdentity, "id-LastEUTRAN-PLMNIdentity" },
{ id_MaximumIntegrityProtectedDataRate_DL, "id-MaximumIntegrityProtectedDataRate-DL" },
{ id_AdditionalDLForwardingUPTNLInformation, "id-AdditionalDLForwardingUPTNLInformation" },
{ id_AdditionalDLUPTNLInformationForHOList, "id-AdditionalDLUPTNLInformationForHOList" },
{ id_AdditionalNGU_UP_TNLInformation, "id-AdditionalNGU-UP-TNLInformation" },
{ id_AdditionalDLQosFlowPerTNLInformation, "id-AdditionalDLQosFlowPerTNLInformation" },
{ id_SecurityResult, "id-SecurityResult" },
{ id_ENDC_SONConfigurationTransferDL, "id-ENDC-SONConfigurationTransferDL" },
{ id_ENDC_SONConfigurationTransferUL, "id-ENDC-SONConfigurationTransferUL" },
{ id_OldAssociatedQosFlowList_ULendmarkerexpected, "id-OldAssociatedQosFlowList-ULendmarkerexpected" },
{ id_CNTypeRestrictionsForEquivalent, "id-CNTypeRestrictionsForEquivalent" },
{ id_CNTypeRestrictionsForServing, "id-CNTypeRestrictionsForServing" },
{ id_NewGUAMI, "id-NewGUAMI" },
{ id_ULForwarding, "id-ULForwarding" },
{ id_ULForwardingUP_TNLInformation, "id-ULForwardingUP-TNLInformation" },
{ id_CNAssistedRANTuning, "id-CNAssistedRANTuning" },
{ id_CommonNetworkInstance, "id-CommonNetworkInstance" },
{ id_NGRAN_TNLAssociationToRemoveList, "id-NGRAN-TNLAssociationToRemoveList" },
{ id_TNLAssociationTransportLayerAddressNGRAN, "id-TNLAssociationTransportLayerAddressNGRAN" },
{ id_EndpointIPAddressAndPort, "id-EndpointIPAddressAndPort" },
{ id_LocationReportingAdditionalInfo, "id-LocationReportingAdditionalInfo" },
{ id_SourceToTarget_AMFInformationReroute, "id-SourceToTarget-AMFInformationReroute" },
{ id_AdditionalULForwardingUPTNLInformation, "id-AdditionalULForwardingUPTNLInformation" },
{ id_SCTP_TLAs, "id-SCTP-TLAs" },
{ id_SelectedPLMNIdentity, "id-SelectedPLMNIdentity" },
{ id_RIMInformationTransfer, "id-RIMInformationTransfer" },
{ id_GUAMIType, "id-GUAMIType" },
{ id_SRVCCOperationPossible, "id-SRVCCOperationPossible" },
{ id_TargetRNC_ID, "id-TargetRNC-ID" },
{ id_RAT_Information, "id-RAT-Information" },
{ id_ExtendedRATRestrictionInformation, "id-ExtendedRATRestrictionInformation" },
{ id_QosMonitoringRequest, "id-QosMonitoringRequest" },
{ id_SgNB_UE_X2AP_ID, "id-SgNB-UE-X2AP-ID" },
{ id_AdditionalRedundantDL_NGU_UP_TNLInformation, "id-AdditionalRedundantDL-NGU-UP-TNLInformation" },
{ id_AdditionalRedundantDLQosFlowPerTNLInformation, "id-AdditionalRedundantDLQosFlowPerTNLInformation" },
{ id_AdditionalRedundantNGU_UP_TNLInformation, "id-AdditionalRedundantNGU-UP-TNLInformation" },
{ id_AdditionalRedundantUL_NGU_UP_TNLInformation, "id-AdditionalRedundantUL-NGU-UP-TNLInformation" },
{ id_CNPacketDelayBudgetDL, "id-CNPacketDelayBudgetDL" },
{ id_CNPacketDelayBudgetUL, "id-CNPacketDelayBudgetUL" },
{ id_ExtendedPacketDelayBudget, "id-ExtendedPacketDelayBudget" },
{ id_RedundantCommonNetworkInstance, "id-RedundantCommonNetworkInstance" },
{ id_RedundantDL_NGU_TNLInformationReused, "id-RedundantDL-NGU-TNLInformationReused" },
{ id_RedundantDL_NGU_UP_TNLInformation, "id-RedundantDL-NGU-UP-TNLInformation" },
{ id_RedundantDLQosFlowPerTNLInformation, "id-RedundantDLQosFlowPerTNLInformation" },
{ id_RedundantQosFlowIndicator, "id-RedundantQosFlowIndicator" },
{ id_RedundantUL_NGU_UP_TNLInformation, "id-RedundantUL-NGU-UP-TNLInformation" },
{ id_TSCTrafficCharacteristics, "id-TSCTrafficCharacteristics" },
{ id_RedundantPDUSessionInformation, "id-RedundantPDUSessionInformation" },
{ id_UsedRSNInformation, "id-UsedRSNInformation" },
{ id_IAB_Authorized, "id-IAB-Authorized" },
{ id_IAB_Supported, "id-IAB-Supported" },
{ id_IABNodeIndication, "id-IABNodeIndication" },
{ id_NB_IoT_PagingDRX, "id-NB-IoT-PagingDRX" },
{ id_NB_IoT_Paging_eDRXInfo, "id-NB-IoT-Paging-eDRXInfo" },
{ id_NB_IoT_DefaultPagingDRX, "id-NB-IoT-DefaultPagingDRX" },
{ id_Enhanced_CoverageRestriction, "id-Enhanced-CoverageRestriction" },
{ id_Extended_ConnectedTime, "id-Extended-ConnectedTime" },
{ id_PagingAssisDataforCEcapabUE, "id-PagingAssisDataforCEcapabUE" },
{ id_WUS_Assistance_Information, "id-WUS-Assistance-Information" },
{ id_UE_DifferentiationInfo, "id-UE-DifferentiationInfo" },
{ id_NB_IoT_UEPriority, "id-NB-IoT-UEPriority" },
{ id_UL_CP_SecurityInformation, "id-UL-CP-SecurityInformation" },
{ id_DL_CP_SecurityInformation, "id-DL-CP-SecurityInformation" },
{ id_TAI, "id-TAI" },
{ id_UERadioCapabilityForPagingOfNB_IoT, "id-UERadioCapabilityForPagingOfNB-IoT" },
{ id_LTEV2XServicesAuthorized, "id-LTEV2XServicesAuthorized" },
{ id_NRV2XServicesAuthorized, "id-NRV2XServicesAuthorized" },
{ id_LTEUESidelinkAggregateMaximumBitrate, "id-LTEUESidelinkAggregateMaximumBitrate" },
{ id_NRUESidelinkAggregateMaximumBitrate, "id-NRUESidelinkAggregateMaximumBitrate" },
{ id_PC5QoSParameters, "id-PC5QoSParameters" },
{ id_AlternativeQoSParaSetList, "id-AlternativeQoSParaSetList" },
{ id_CurrentQoSParaSetIndex, "id-CurrentQoSParaSetIndex" },
{ id_CEmodeBrestricted, "id-CEmodeBrestricted" },
{ id_PagingeDRXInformation, "id-PagingeDRXInformation" },
{ id_CEmodeBSupport_Indicator, "id-CEmodeBSupport-Indicator" },
{ id_LTEM_Indication, "id-LTEM-Indication" },
{ id_EndIndication, "id-EndIndication" },
{ id_EDT_Session, "id-EDT-Session" },
{ id_UECapabilityInfoRequest, "id-UECapabilityInfoRequest" },
{ id_PDUSessionResourceFailedToResumeListRESReq, "id-PDUSessionResourceFailedToResumeListRESReq" },
{ id_PDUSessionResourceFailedToResumeListRESRes, "id-PDUSessionResourceFailedToResumeListRESRes" },
{ id_PDUSessionResourceSuspendListSUSReq, "id-PDUSessionResourceSuspendListSUSReq" },
{ id_PDUSessionResourceResumeListRESReq, "id-PDUSessionResourceResumeListRESReq" },
{ id_PDUSessionResourceResumeListRESRes, "id-PDUSessionResourceResumeListRESRes" },
{ id_UE_UP_CIoT_Support, "id-UE-UP-CIoT-Support" },
{ id_Suspend_Request_Indication, "id-Suspend-Request-Indication" },
{ id_Suspend_Response_Indication, "id-Suspend-Response-Indication" },
{ id_RRC_Resume_Cause, "id-RRC-Resume-Cause" },
{ id_RGLevelWirelineAccessCharacteristics, "id-RGLevelWirelineAccessCharacteristics" },
{ id_W_AGFIdentityInformation, "id-W-AGFIdentityInformation" },
{ id_GlobalTNGF_ID, "id-GlobalTNGF-ID" },
{ id_GlobalTWIF_ID, "id-GlobalTWIF-ID" },
{ id_GlobalW_AGF_ID, "id-GlobalW-AGF-ID" },
{ id_UserLocationInformationW_AGF, "id-UserLocationInformationW-AGF" },
{ id_UserLocationInformationTNGF, "id-UserLocationInformationTNGF" },
{ id_AuthenticatedIndication, "id-AuthenticatedIndication" },
{ id_TNGFIdentityInformation, "id-TNGFIdentityInformation" },
{ id_TWIFIdentityInformation, "id-TWIFIdentityInformation" },
{ id_UserLocationInformationTWIF, "id-UserLocationInformationTWIF" },
{ id_DataForwardingResponseERABList, "id-DataForwardingResponseERABList" },
{ id_IntersystemSONConfigurationTransferDL, "id-IntersystemSONConfigurationTransferDL" },
{ id_IntersystemSONConfigurationTransferUL, "id-IntersystemSONConfigurationTransferUL" },
{ id_SONInformationReport, "id-SONInformationReport" },
{ id_UEHistoryInformationFromTheUE, "id-UEHistoryInformationFromTheUE" },
{ id_ManagementBasedMDTPLMNList, "id-ManagementBasedMDTPLMNList" },
{ id_MDTConfiguration, "id-MDTConfiguration" },
{ id_PrivacyIndicator, "id-PrivacyIndicator" },
{ id_TraceCollectionEntityURI, "id-TraceCollectionEntityURI" },
{ id_NPN_Support, "id-NPN-Support" },
{ id_NPN_AccessInformation, "id-NPN-AccessInformation" },
{ id_NPN_PagingAssistanceInformation, "id-NPN-PagingAssistanceInformation" },
{ id_NPN_MobilityInformation, "id-NPN-MobilityInformation" },
{ id_TargettoSource_Failure_TransparentContainer, "id-TargettoSource-Failure-TransparentContainer" },
{ id_NID, "id-NID" },
{ id_UERadioCapabilityID, "id-UERadioCapabilityID" },
{ id_UERadioCapability_EUTRA_Format, "id-UERadioCapability-EUTRA-Format" },
{ id_DAPSRequestInfo, "id-DAPSRequestInfo" },
{ id_DAPSResponseInfoList, "id-DAPSResponseInfoList" },
{ id_EarlyStatusTransfer_TransparentContainer, "id-EarlyStatusTransfer-TransparentContainer" },
{ id_NotifySourceNGRANNode, "id-NotifySourceNGRANNode" },
{ id_ExtendedSliceSupportList, "id-ExtendedSliceSupportList" },
{ id_ExtendedTAISliceSupportList, "id-ExtendedTAISliceSupportList" },
{ id_ConfiguredTACIndication, "id-ConfiguredTACIndication" },
{ id_Extended_RANNodeName, "id-Extended-RANNodeName" },
{ id_Extended_AMFName, "id-Extended-AMFName" },
{ id_GlobalCable_ID, "id-GlobalCable-ID" },
{ id_QosMonitoringReportingFrequency, "id-QosMonitoringReportingFrequency" },
{ id_QosFlowParametersList, "id-QosFlowParametersList" },
{ id_QosFlowFeedbackList, "id-QosFlowFeedbackList" },
{ id_BurstArrivalTimeDownlink, "id-BurstArrivalTimeDownlink" },
{ id_ExtendedUEIdentityIndexValue, "id-ExtendedUEIdentityIndexValue" },
{ id_PduSessionExpectedUEActivityBehaviour, "id-PduSessionExpectedUEActivityBehaviour" },
{ id_MicoAllPLMN, "id-MicoAllPLMN" },
{ id_QosFlowFailedToSetupList, "id-QosFlowFailedToSetupList" },
{ 0, NULL }
};
static value_string_ext ngap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(ngap_ProtocolIE_ID_vals);
static int
dissect_ngap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 106 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, &ngap_data->protocol_ie_id, FALSE);
#line 110 "./asn1/ngap/ngap.cnf"
if (tree) {
proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
val_to_str_ext(ngap_data->protocol_ie_id, &ngap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
}
return offset;
}
static const value_string ngap_TriggeringMessage_vals[] = {
{ 0, "initiating-message" },
{ 1, "successful-outcome" },
{ 2, "unsuccessfull-outcome" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_T_ie_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_ngap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_ID },
{ &hf_ngap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_Criticality },
{ &hf_ngap_ie_field_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_T_ie_field_value },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_ProtocolIE_Field, ProtocolIE_Field_sequence);
return offset;
}
static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
{ &hf_ngap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Field },
};
static int
dissect_ngap_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_ngap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
0, maxProtocolIEs, FALSE);
return offset;
}
static int
dissect_ngap_ProtocolIE_SingleContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ngap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
return offset;
}
static int
dissect_ngap_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_ngap_ext_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolExtensionID },
{ &hf_ngap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_Criticality },
{ &hf_ngap_extensionValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_T_extensionValue },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_ProtocolExtensionField, ProtocolExtensionField_sequence);
return offset;
}
static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
{ &hf_ngap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolExtensionField },
};
static int
dissect_ngap_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_ngap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
1, maxProtocolExtensions, FALSE);
return offset;
}
static int
dissect_ngap_T_private_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(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
static const per_sequence_t PrivateIE_Field_sequence[] = {
{ &hf_ngap_private_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PrivateIE_ID },
{ &hf_ngap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_Criticality },
{ &hf_ngap_private_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_T_private_value },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_PrivateIE_Field, PrivateIE_Field_sequence);
return offset;
}
static const per_sequence_t PrivateIE_Container_sequence_of[1] = {
{ &hf_ngap_PrivateIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PrivateIE_Field },
};
static int
dissect_ngap_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_ngap_PrivateIE_Container, PrivateIE_Container_sequence_of,
1, maxPrivateIEs, FALSE);
return offset;
}
static int
dissect_ngap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 541 "./asn1/ngap/ngap.cnf"
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, &parameter_tvb, &len);
if (!parameter_tvb)
return offset;
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_TransportLayerAddress);
if (len == 32) {
/* IPv4 */
proto_tree_add_item(subtree, hf_ngap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
} else if (len == 128) {
/* IPv6 */
proto_tree_add_item(subtree, hf_ngap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA);
} else if (len == 160) {
/* IPv4 */
proto_tree_add_item(subtree, hf_ngap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
/* IPv6 */
proto_tree_add_item(subtree, hf_ngap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
}
return offset;
}
static int
dissect_ngap_GTP_TEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, NULL);
return offset;
}
static const per_sequence_t GTPTunnel_sequence[] = {
{ &hf_ngap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TransportLayerAddress },
{ &hf_ngap_gTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GTP_TEID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_GTPTunnel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_GTPTunnel, GTPTunnel_sequence);
return offset;
}
static const value_string ngap_UPTransportLayerInformation_vals[] = {
{ 0, "gTPTunnel" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t UPTransportLayerInformation_choice[] = {
{ 0, &hf_ngap_gTPTunnel , ASN1_NO_EXTENSIONS , dissect_ngap_GTPTunnel },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_UPTransportLayerInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_UPTransportLayerInformation, UPTransportLayerInformation_choice,
NULL);
return offset;
}
static int
dissect_ngap_QosFlowIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 63U, NULL, TRUE);
return offset;
}
static const value_string ngap_DataForwardingAccepted_vals[] = {
{ 0, "data-forwarding-accepted" },
{ 0, NULL }
};
static int
dissect_ngap_DataForwardingAccepted(tvbuff_t *tvb _U_, int offset _U_, asn1_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 QosFlowItemWithDataForwarding_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_dataForwardingAccepted, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DataForwardingAccepted },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowItemWithDataForwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowItemWithDataForwarding, QosFlowItemWithDataForwarding_sequence);
return offset;
}
static const per_sequence_t QosFlowListWithDataForwarding_sequence_of[1] = {
{ &hf_ngap_QosFlowListWithDataForwarding_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowItemWithDataForwarding },
};
static int
dissect_ngap_QosFlowListWithDataForwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowListWithDataForwarding, QosFlowListWithDataForwarding_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const per_sequence_t AdditionalDLUPTNLInformationForHOItem_sequence[] = {
{ &hf_ngap_additionalDL_NGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_additionalQosFlowSetupResponseList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowListWithDataForwarding },
{ &hf_ngap_additionalDLForwardingUPTNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AdditionalDLUPTNLInformationForHOItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AdditionalDLUPTNLInformationForHOItem, AdditionalDLUPTNLInformationForHOItem_sequence);
return offset;
}
static const per_sequence_t AdditionalDLUPTNLInformationForHOList_sequence_of[1] = {
{ &hf_ngap_AdditionalDLUPTNLInformationForHOList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AdditionalDLUPTNLInformationForHOItem },
};
static int
dissect_ngap_AdditionalDLUPTNLInformationForHOList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AdditionalDLUPTNLInformationForHOList, AdditionalDLUPTNLInformationForHOList_sequence_of,
1, maxnoofMultiConnectivityMinusOne, FALSE);
return offset;
}
static const value_string ngap_AdditionalQosFlowInformation_vals[] = {
{ 0, "more-likely" },
{ 0, NULL }
};
static int
dissect_ngap_AdditionalQosFlowInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_PriorityLevelARP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 15U, NULL, FALSE);
return offset;
}
static const value_string ngap_Pre_emptionCapability_vals[] = {
{ 0, "shall-not-trigger-pre-emption" },
{ 1, "may-trigger-pre-emption" },
{ 0, NULL }
};
static int
dissect_ngap_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, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_Pre_emptionVulnerability_vals[] = {
{ 0, "not-pre-emptable" },
{ 1, "pre-emptable" },
{ 0, NULL }
};
static int
dissect_ngap_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, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t AllocationAndRetentionPriority_sequence[] = {
{ &hf_ngap_priorityLevelARP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PriorityLevelARP },
{ &hf_ngap_pre_emptionCapability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Pre_emptionCapability },
{ &hf_ngap_pre_emptionVulnerability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Pre_emptionVulnerability },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_AllocationAndRetentionPriority, AllocationAndRetentionPriority_sequence);
return offset;
}
static int
dissect_ngap_CAG_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,
32, 32, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t Allowed_CAG_List_per_PLMN_sequence_of[1] = {
{ &hf_ngap_Allowed_CAG_List_per_PLMN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CAG_ID },
};
static int
dissect_ngap_Allowed_CAG_List_per_PLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_Allowed_CAG_List_per_PLMN, Allowed_CAG_List_per_PLMN_sequence_of,
1, maxnoofAllowedCAGsperPLMN, FALSE);
return offset;
}
static int
dissect_ngap_SST(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 1, FALSE, NULL);
return offset;
}
static int
dissect_ngap_SD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3, 3, FALSE, NULL);
return offset;
}
static const per_sequence_t S_NSSAI_sequence[] = {
{ &hf_ngap_sST , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SST },
{ &hf_ngap_sD , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_SD },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_S_NSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_S_NSSAI, S_NSSAI_sequence);
return offset;
}
static const per_sequence_t AllowedNSSAI_Item_sequence[] = {
{ &hf_ngap_s_NSSAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_S_NSSAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AllowedNSSAI_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_ngap_AllowedNSSAI_Item, AllowedNSSAI_Item_sequence);
return offset;
}
static const per_sequence_t AllowedNSSAI_sequence_of[1] = {
{ &hf_ngap_AllowedNSSAI_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AllowedNSSAI_Item },
};
static int
dissect_ngap_AllowedNSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AllowedNSSAI, AllowedNSSAI_sequence_of,
1, maxnoofAllowedS_NSSAIs, FALSE);
return offset;
}
static int
dissect_ngap_PLMNIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 489 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
proto_tree *subtree;
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
e212_number_type_t number_type = ngap_data->number_type;
ngap_data->number_type = E212_NONE;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3, 3, FALSE, &parameter_tvb);
if (parameter_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_PLMNIdentity);
dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, number_type, FALSE);
if (ngap_data->supported_ta) {
guint32 plmn = tvb_get_ntoh24(parameter_tvb, 0);
wmem_array_append_one(ngap_data->supported_ta->plmn, plmn);
} else if (ngap_data->tai) {
ngap_data->tai->plmn = tvb_get_ntoh24(parameter_tvb, 0);
}
}
return offset;
}
static const value_string ngap_T_pNI_NPN_restricted_vals[] = {
{ 0, "restricted" },
{ 1, "not-restricted" },
{ 0, NULL }
};
static int
dissect_ngap_T_pNI_NPN_restricted(tvbuff_t *tvb _U_, int offset _U_, asn1_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 Allowed_PNI_NPN_Item_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_pNI_NPN_restricted, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pNI_NPN_restricted },
{ &hf_ngap_allowed_CAG_List_per_PLMN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Allowed_CAG_List_per_PLMN },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_Allowed_PNI_NPN_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_ngap_Allowed_PNI_NPN_Item, Allowed_PNI_NPN_Item_sequence);
return offset;
}
static const per_sequence_t Allowed_PNI_NPN_List_sequence_of[1] = {
{ &hf_ngap_Allowed_PNI_NPN_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_Allowed_PNI_NPN_Item },
};
static int
dissect_ngap_Allowed_PNI_NPN_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_ngap_Allowed_PNI_NPN_List, Allowed_PNI_NPN_List_sequence_of,
1, maxnoofEPLMNsPlusOne, FALSE);
return offset;
}
static int
dissect_ngap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 476 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
3, 3, FALSE, &parameter_tvb);
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
if (ngap_data->supported_ta) {
ngap_data->supported_ta->tac = tvb_get_ntoh24(parameter_tvb, 0);
} else if (ngap_data->tai) {
ngap_data->tai->tac = tvb_get_ntoh24(parameter_tvb, 0);
}
}
return offset;
}
static const per_sequence_t AllowedTACs_sequence_of[1] = {
{ &hf_ngap_AllowedTACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAC },
};
static int
dissect_ngap_AllowedTACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AllowedTACs, AllowedTACs_sequence_of,
1, maxnoofAllowedAreas, FALSE);
return offset;
}
static int
dissect_ngap_AlternativeQoSParaSetIndex(tvbuff_t *tvb _U_, int offset _U_, 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_ngap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
0U, G_GUINT64_CONSTANT(4000000000000), NULL, TRUE);
return offset;
}
static int
dissect_ngap_PacketDelayBudget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1023U, NULL, TRUE);
return offset;
}
static int
dissect_ngap_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 PacketErrorRate_sequence[] = {
{ &hf_ngap_pERScalar , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_INTEGER_0_9_ },
{ &hf_ngap_pERExponent , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_INTEGER_0_9_ },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PacketErrorRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PacketErrorRate, PacketErrorRate_sequence);
return offset;
}
static const per_sequence_t AlternativeQoSParaSetItem_sequence[] = {
{ &hf_ngap_alternativeQoSParaSetIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AlternativeQoSParaSetIndex },
{ &hf_ngap_guaranteedFlowBitRateDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BitRate },
{ &hf_ngap_guaranteedFlowBitRateUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BitRate },
{ &hf_ngap_packetDelayBudget, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PacketDelayBudget },
{ &hf_ngap_packetErrorRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PacketErrorRate },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AlternativeQoSParaSetItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AlternativeQoSParaSetItem, AlternativeQoSParaSetItem_sequence);
return offset;
}
static const per_sequence_t AlternativeQoSParaSetList_sequence_of[1] = {
{ &hf_ngap_AlternativeQoSParaSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AlternativeQoSParaSetItem },
};
static int
dissect_ngap_AlternativeQoSParaSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AlternativeQoSParaSetList, AlternativeQoSParaSetList_sequence_of,
1, maxnoofQosParaSets, FALSE);
return offset;
}
static int
dissect_ngap_AMFName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
1, 150, TRUE);
return offset;
}
static int
dissect_ngap_AMFNameVisibleString(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,
1, 150, TRUE);
return offset;
}
static int
dissect_ngap_AMFNameUTF8String(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_UTF8String(tvb, offset, actx, tree, hf_index,
1, 150, TRUE);
return offset;
}
static int
dissect_ngap_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 ngap_GNB_ID_vals[] = {
{ 0, "gNB-ID" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t GNB_ID_choice[] = {
{ 0, &hf_ngap_gNB_ID , ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_22_32 },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_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_ngap_GNB_ID, GNB_ID_choice,
NULL);
return offset;
}
static const per_sequence_t GlobalGNB_ID_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_globalGNB_ID_gNB_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GNB_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_GlobalGNB_ID, GlobalGNB_ID_sequence);
return offset;
}
static int
dissect_ngap_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_ngap_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_ngap_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 ngap_NgENB_ID_vals[] = {
{ 0, "macroNgENB-ID" },
{ 1, "shortMacroNgENB-ID" },
{ 2, "longMacroNgENB-ID" },
{ 3, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t NgENB_ID_choice[] = {
{ 0, &hf_ngap_macroNgENB_ID , ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_20 },
{ 1, &hf_ngap_shortMacroNgENB_ID, ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_18 },
{ 2, &hf_ngap_longMacroNgENB_ID, ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_21 },
{ 3, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_NgENB_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_ngap_NgENB_ID, NgENB_ID_choice,
NULL);
return offset;
}
static const per_sequence_t GlobalNgENB_ID_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_ngENB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NgENB_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_GlobalNgENB_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_ngap_GlobalNgENB_ID, GlobalNgENB_ID_sequence);
return offset;
}
static int
dissect_ngap_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const value_string ngap_N3IWF_ID_vals[] = {
{ 0, "n3IWF-ID" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t N3IWF_ID_choice[] = {
{ 0, &hf_ngap_n3IWF_ID , ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_16 },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_N3IWF_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_ngap_N3IWF_ID, N3IWF_ID_choice,
NULL);
return offset;
}
static const per_sequence_t GlobalN3IWF_ID_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_globalN3IWF_ID_n3IWF_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_N3IWF_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_GlobalN3IWF_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_ngap_GlobalN3IWF_ID, GlobalN3IWF_ID_sequence);
return offset;
}
static const value_string ngap_GlobalRANNodeID_vals[] = {
{ globalGNB_ID, "globalGNB-ID" },
{ globalNgENB_ID, "globalNgENB-ID" },
{ globalN3IWF_ID, "globalN3IWF-ID" },
{ choice_Extensions, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t GlobalRANNodeID_choice[] = {
{ globalGNB_ID, &hf_ngap_globalGNB_ID , ASN1_NO_EXTENSIONS , dissect_ngap_GlobalGNB_ID },
{ globalNgENB_ID, &hf_ngap_globalNgENB_ID , ASN1_NO_EXTENSIONS , dissect_ngap_GlobalNgENB_ID },
{ globalN3IWF_ID, &hf_ngap_globalN3IWF_ID , ASN1_NO_EXTENSIONS , dissect_ngap_GlobalN3IWF_ID },
{ choice_Extensions, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_GlobalRANNodeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 657 "./asn1/ngap/ngap.cnf"
gint value;
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_GlobalRANNodeID, GlobalRANNodeID_choice,
&value);
if (ngap_data->ngap_conv && ngap_data->procedure_code == id_NGSetup) {
if (addresses_equal(&actx->pinfo->src, &ngap_data->ngap_conv->addr_a) &&
actx->pinfo->srcport == ngap_data->ngap_conv->port_a) {
ngap_data->ngap_conv->ranmode_id_a = (GlobalRANNodeID_enum)value;
} else if (addresses_equal(&actx->pinfo->src, &ngap_data->ngap_conv->addr_b) &&
actx->pinfo->srcport == ngap_data->ngap_conv->port_b) {
ngap_data->ngap_conv->ranmode_id_b = (GlobalRANNodeID_enum)value;
}
}
return offset;
}
static const per_sequence_t TAI_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAC },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 449 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->number_type = E212_5GSTAI;
ngap_data->tai = wmem_new0(actx->pinfo->pool, struct ngap_tai);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TAI, TAI_sequence);
if (!PINFO_FD_VISITED(actx->pinfo) && ngap_data->ngap_conv &&
(ngap_data->message_type == INITIATING_MESSAGE) &&
(ngap_data->procedure_code == id_InitialUEMessage)) {
guint64 key = (ngap_data->tai->plmn << 24) | ngap_data->tai->tac;
if (wmem_map_lookup(ngap_data->ngap_conv->nbiot_ta, &key)) {
wmem_tree_key_t tree_key[3];
guint32 *id = wmem_new(wmem_file_scope(), guint32);
*id = ngap_data->ran_ue_ngap_id;
tree_key[0].length = 1;
tree_key[0].key = id;
tree_key[1].length = 1;
tree_key[1].key = &actx->pinfo->num;
tree_key[2].length = 0;
tree_key[2].key = NULL;
wmem_tree_insert32_array(ngap_data->ngap_conv->nbiot_ran_ue_ngap_id, tree_key, id);
}
}
return offset;
}
static const value_string ngap_AMFPagingTarget_vals[] = {
{ 0, "globalRANNodeID" },
{ 1, "tAI" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t AMFPagingTarget_choice[] = {
{ 0, &hf_ngap_globalRANNodeID, ASN1_NO_EXTENSIONS , dissect_ngap_GlobalRANNodeID },
{ 1, &hf_ngap_tAI , ASN1_NO_EXTENSIONS , dissect_ngap_TAI },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_AMFPagingTarget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_AMFPagingTarget, AMFPagingTarget_choice,
NULL);
return offset;
}
static int
dissect_ngap_AMFPointer(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 int
dissect_ngap_AMFRegionID(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_ngap_AMFSetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
10, 10, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const value_string ngap_CPTransportLayerInformation_vals[] = {
{ 0, "endpointIPAddress" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t CPTransportLayerInformation_choice[] = {
{ 0, &hf_ngap_endpointIPAddress, ASN1_NO_EXTENSIONS , dissect_ngap_TransportLayerAddress },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_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_ngap_CPTransportLayerInformation, CPTransportLayerInformation_choice,
NULL);
return offset;
}
static const per_sequence_t AMF_TNLAssociationSetupItem_sequence[] = {
{ &hf_ngap_aMF_TNLAssociationAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CPTransportLayerInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AMF_TNLAssociationSetupItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AMF_TNLAssociationSetupItem, AMF_TNLAssociationSetupItem_sequence);
return offset;
}
static const per_sequence_t AMF_TNLAssociationSetupList_sequence_of[1] = {
{ &hf_ngap_AMF_TNLAssociationSetupList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AMF_TNLAssociationSetupItem },
};
static int
dissect_ngap_AMF_TNLAssociationSetupList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AMF_TNLAssociationSetupList, AMF_TNLAssociationSetupList_sequence_of,
1, maxnoofTNLAssociations, FALSE);
return offset;
}
static const value_string ngap_TNLAssociationUsage_vals[] = {
{ 0, "ue" },
{ 1, "non-ue" },
{ 2, "both" },
{ 0, NULL }
};
static int
dissect_ngap_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 int
dissect_ngap_TNLAddressWeightFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_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 AMF_TNLAssociationToAddItem_sequence[] = {
{ &hf_ngap_aMF_TNLAssociationAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CPTransportLayerInformation },
{ &hf_ngap_tNLAssociationUsage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TNLAssociationUsage },
{ &hf_ngap_tNLAddressWeightFactor, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TNLAddressWeightFactor },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AMF_TNLAssociationToAddItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AMF_TNLAssociationToAddItem, AMF_TNLAssociationToAddItem_sequence);
return offset;
}
static const per_sequence_t AMF_TNLAssociationToAddList_sequence_of[1] = {
{ &hf_ngap_AMF_TNLAssociationToAddList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AMF_TNLAssociationToAddItem },
};
static int
dissect_ngap_AMF_TNLAssociationToAddList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AMF_TNLAssociationToAddList, AMF_TNLAssociationToAddList_sequence_of,
1, maxnoofTNLAssociations, FALSE);
return offset;
}
static const per_sequence_t AMF_TNLAssociationToRemoveItem_sequence[] = {
{ &hf_ngap_aMF_TNLAssociationAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CPTransportLayerInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AMF_TNLAssociationToRemoveItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AMF_TNLAssociationToRemoveItem, AMF_TNLAssociationToRemoveItem_sequence);
return offset;
}
static const per_sequence_t AMF_TNLAssociationToRemoveList_sequence_of[1] = {
{ &hf_ngap_AMF_TNLAssociationToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AMF_TNLAssociationToRemoveItem },
};
static int
dissect_ngap_AMF_TNLAssociationToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AMF_TNLAssociationToRemoveList, AMF_TNLAssociationToRemoveList_sequence_of,
1, maxnoofTNLAssociations, FALSE);
return offset;
}
static const per_sequence_t AMF_TNLAssociationToUpdateItem_sequence[] = {
{ &hf_ngap_aMF_TNLAssociationAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CPTransportLayerInformation },
{ &hf_ngap_tNLAssociationUsage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TNLAssociationUsage },
{ &hf_ngap_tNLAddressWeightFactor, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TNLAddressWeightFactor },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AMF_TNLAssociationToUpdateItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AMF_TNLAssociationToUpdateItem, AMF_TNLAssociationToUpdateItem_sequence);
return offset;
}
static const per_sequence_t AMF_TNLAssociationToUpdateList_sequence_of[1] = {
{ &hf_ngap_AMF_TNLAssociationToUpdateList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AMF_TNLAssociationToUpdateItem },
};
static int
dissect_ngap_AMF_TNLAssociationToUpdateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AMF_TNLAssociationToUpdateList, AMF_TNLAssociationToUpdateList_sequence_of,
1, maxnoofTNLAssociations, FALSE);
return offset;
}
static int
dissect_ngap_AMF_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_64b(tvb, offset, actx, tree, hf_index,
0U, G_GUINT64_CONSTANT(1099511627775), NULL, FALSE);
return offset;
}
static const per_sequence_t AreaOfInterestTAIItem_sequence[] = {
{ &hf_ngap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AreaOfInterestTAIItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaOfInterestTAIItem, AreaOfInterestTAIItem_sequence);
return offset;
}
static const per_sequence_t AreaOfInterestTAIList_sequence_of[1] = {
{ &hf_ngap_AreaOfInterestTAIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AreaOfInterestTAIItem },
};
static int
dissect_ngap_AreaOfInterestTAIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaOfInterestTAIList, AreaOfInterestTAIList_sequence_of,
1, maxnoofTAIinAoI, FALSE);
return offset;
}
static int
dissect_ngap_NRCellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 594 "./asn1/ngap/ngap.cnf"
tvbuff_t *cell_id_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
36, 36, FALSE, NULL, 0, &cell_id_tvb, NULL);
if (cell_id_tvb) {
guint64 cell_id = tvb_get_bits64(cell_id_tvb, 0, 36, ENC_BIG_ENDIAN);
actx->created_item = proto_tree_add_uint64(tree, hf_index, cell_id_tvb, 0, 5, cell_id);
}
return offset;
}
static const per_sequence_t NR_CGI_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_nRCellIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NRCellIdentity },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NR_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 586 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->number_type = E212_NRCGI;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NR_CGI, NR_CGI_sequence);
return offset;
}
static int
dissect_ngap_EUTRACellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 610 "./asn1/ngap/ngap.cnf"
tvbuff_t *cell_id_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
28, 28, FALSE, NULL, 0, &cell_id_tvb, NULL);
if (cell_id_tvb) {
guint32 cell_id = tvb_get_bits32(cell_id_tvb, 0, 28, ENC_BIG_ENDIAN);
actx->created_item = proto_tree_add_uint(tree, hf_index, cell_id_tvb, 0, 4, cell_id);
}
return offset;
}
static const per_sequence_t EUTRA_CGI_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_eUTRACellIdentity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRACellIdentity },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_EUTRA_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 602 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->number_type = E212_ECGI;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_EUTRA_CGI, EUTRA_CGI_sequence);
return offset;
}
static const value_string ngap_NGRAN_CGI_vals[] = {
{ 0, "nR-CGI" },
{ 1, "eUTRA-CGI" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t NGRAN_CGI_choice[] = {
{ 0, &hf_ngap_nR_CGI , ASN1_NO_EXTENSIONS , dissect_ngap_NR_CGI },
{ 1, &hf_ngap_eUTRA_CGI , ASN1_NO_EXTENSIONS , dissect_ngap_EUTRA_CGI },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_NGRAN_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_NGRAN_CGI, NGRAN_CGI_choice,
NULL);
return offset;
}
static const per_sequence_t AreaOfInterestCellItem_sequence[] = {
{ &hf_ngap_nGRAN_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AreaOfInterestCellItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaOfInterestCellItem, AreaOfInterestCellItem_sequence);
return offset;
}
static const per_sequence_t AreaOfInterestCellList_sequence_of[1] = {
{ &hf_ngap_AreaOfInterestCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AreaOfInterestCellItem },
};
static int
dissect_ngap_AreaOfInterestCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaOfInterestCellList, AreaOfInterestCellList_sequence_of,
1, maxnoofCellinAoI, FALSE);
return offset;
}
static const per_sequence_t AreaOfInterestRANNodeItem_sequence[] = {
{ &hf_ngap_globalRANNodeID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GlobalRANNodeID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AreaOfInterestRANNodeItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaOfInterestRANNodeItem, AreaOfInterestRANNodeItem_sequence);
return offset;
}
static const per_sequence_t AreaOfInterestRANNodeList_sequence_of[1] = {
{ &hf_ngap_AreaOfInterestRANNodeList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AreaOfInterestRANNodeItem },
};
static int
dissect_ngap_AreaOfInterestRANNodeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaOfInterestRANNodeList, AreaOfInterestRANNodeList_sequence_of,
1, maxnoofRANNodeinAoI, FALSE);
return offset;
}
static const per_sequence_t AreaOfInterest_sequence[] = {
{ &hf_ngap_areaOfInterestTAIList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AreaOfInterestTAIList },
{ &hf_ngap_areaOfInterestCellList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AreaOfInterestCellList },
{ &hf_ngap_areaOfInterestRANNodeList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AreaOfInterestRANNodeList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AreaOfInterest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaOfInterest, AreaOfInterest_sequence);
return offset;
}
static int
dissect_ngap_LocationReportingReferenceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 64U, NULL, TRUE);
return offset;
}
static const per_sequence_t AreaOfInterestItem_sequence[] = {
{ &hf_ngap_areaOfInterest , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AreaOfInterest },
{ &hf_ngap_locationReportingReferenceID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_LocationReportingReferenceID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AreaOfInterestItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaOfInterestItem, AreaOfInterestItem_sequence);
return offset;
}
static const per_sequence_t AreaOfInterestList_sequence_of[1] = {
{ &hf_ngap_AreaOfInterestList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AreaOfInterestItem },
};
static int
dissect_ngap_AreaOfInterestList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaOfInterestList, AreaOfInterestList_sequence_of,
1, maxnoofAoI, FALSE);
return offset;
}
static int
dissect_ngap_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 RecommendedCellItem_sequence[] = {
{ &hf_ngap_nGRAN_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
{ &hf_ngap_timeStayedInCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_INTEGER_0_4095 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RecommendedCellItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RecommendedCellItem, RecommendedCellItem_sequence);
return offset;
}
static const per_sequence_t RecommendedCellList_sequence_of[1] = {
{ &hf_ngap_RecommendedCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_RecommendedCellItem },
};
static int
dissect_ngap_RecommendedCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_RecommendedCellList, RecommendedCellList_sequence_of,
1, maxnoofRecommendedCells, FALSE);
return offset;
}
static const per_sequence_t RecommendedCellsForPaging_sequence[] = {
{ &hf_ngap_recommendedCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RecommendedCellList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RecommendedCellsForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RecommendedCellsForPaging, RecommendedCellsForPaging_sequence);
return offset;
}
static const per_sequence_t AssistanceDataForRecommendedCells_sequence[] = {
{ &hf_ngap_recommendedCellsForPaging, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RecommendedCellsForPaging },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AssistanceDataForRecommendedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AssistanceDataForRecommendedCells, AssistanceDataForRecommendedCells_sequence);
return offset;
}
static int
dissect_ngap_PagingAttemptCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 16U, NULL, TRUE);
return offset;
}
static int
dissect_ngap_IntendedNumberOfPagingAttempts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 16U, NULL, TRUE);
return offset;
}
static const value_string ngap_NextPagingAreaScope_vals[] = {
{ 0, "same" },
{ 1, "changed" },
{ 0, NULL }
};
static int
dissect_ngap_NextPagingAreaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_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 PagingAttemptInformation_sequence[] = {
{ &hf_ngap_pagingAttemptCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PagingAttemptCount },
{ &hf_ngap_intendedNumberOfPagingAttempts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_IntendedNumberOfPagingAttempts },
{ &hf_ngap_nextPagingAreaScope, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_NextPagingAreaScope },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PagingAttemptInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PagingAttemptInformation, PagingAttemptInformation_sequence);
return offset;
}
static const per_sequence_t AssistanceDataForPaging_sequence[] = {
{ &hf_ngap_assistanceDataForRecommendedCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AssistanceDataForRecommendedCells },
{ &hf_ngap_pagingAttemptInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PagingAttemptInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AssistanceDataForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AssistanceDataForPaging, AssistanceDataForPaging_sequence);
return offset;
}
static const value_string ngap_T_qosFlowMappingIndication_vals[] = {
{ 0, "ul" },
{ 1, "dl" },
{ 0, NULL }
};
static int
dissect_ngap_T_qosFlowMappingIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t AssociatedQosFlowItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_qosFlowMappingIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_T_qosFlowMappingIndication },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AssociatedQosFlowItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AssociatedQosFlowItem, AssociatedQosFlowItem_sequence);
return offset;
}
static const per_sequence_t AssociatedQosFlowList_sequence_of[1] = {
{ &hf_ngap_AssociatedQosFlowList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AssociatedQosFlowItem },
};
static int
dissect_ngap_AssociatedQosFlowList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AssociatedQosFlowList, AssociatedQosFlowList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const value_string ngap_AuthenticatedIndication_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_AuthenticatedIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_AveragingWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4095U, NULL, TRUE);
return offset;
}
static const per_sequence_t CellIdListforMDT_NR_sequence_of[1] = {
{ &hf_ngap_CellIdListforMDT_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
};
static int
dissect_ngap_CellIdListforMDT_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_ngap_CellIdListforMDT_NR, CellIdListforMDT_NR_sequence_of,
1, maxnoofCellIDforMDT, FALSE);
return offset;
}
static const per_sequence_t CellBasedMDT_NR_sequence[] = {
{ &hf_ngap_cellIdListforMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CellIdListforMDT_NR },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CellBasedMDT_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_CellBasedMDT_NR, CellBasedMDT_NR_sequence);
return offset;
}
static const per_sequence_t TAListforMDT_sequence_of[1] = {
{ &hf_ngap_TAListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAC },
};
static int
dissect_ngap_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_ngap_TAListforMDT, TAListforMDT_sequence_of,
1, maxnoofTAforMDT, FALSE);
return offset;
}
static const per_sequence_t TABasedMDT_sequence[] = {
{ &hf_ngap_tAListforMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAListforMDT },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_TABasedMDT, TABasedMDT_sequence);
return offset;
}
static int
dissect_ngap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
return offset;
}
static const per_sequence_t TAIListforMDT_sequence_of[1] = {
{ &hf_ngap_TAIListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
};
static int
dissect_ngap_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_ngap_TAIListforMDT, TAIListforMDT_sequence_of,
1, maxnoofTAforMDT, FALSE);
return offset;
}
static const per_sequence_t TAIBasedMDT_sequence[] = {
{ &hf_ngap_tAIListforMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAIListforMDT },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_TAIBasedMDT, TAIBasedMDT_sequence);
return offset;
}
static const value_string ngap_AreaScopeOfMDT_NR_vals[] = {
{ 0, "cellBased" },
{ 1, "tABased" },
{ 2, "pLMNWide" },
{ 3, "tAIBased" },
{ 4, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t AreaScopeOfMDT_NR_choice[] = {
{ 0, &hf_ngap_cellBased , ASN1_NO_EXTENSIONS , dissect_ngap_CellBasedMDT_NR },
{ 1, &hf_ngap_tABased , ASN1_NO_EXTENSIONS , dissect_ngap_TABasedMDT },
{ 2, &hf_ngap_pLMNWide , ASN1_NO_EXTENSIONS , dissect_ngap_NULL },
{ 3, &hf_ngap_tAIBased , ASN1_NO_EXTENSIONS , dissect_ngap_TAIBasedMDT },
{ 4, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_AreaScopeOfMDT_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaScopeOfMDT_NR, AreaScopeOfMDT_NR_choice,
NULL);
return offset;
}
static const per_sequence_t CellIdListforMDT_EUTRA_sequence_of[1] = {
{ &hf_ngap_CellIdListforMDT_EUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
};
static int
dissect_ngap_CellIdListforMDT_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_ngap_CellIdListforMDT_EUTRA, CellIdListforMDT_EUTRA_sequence_of,
1, maxnoofCellIDforMDT, FALSE);
return offset;
}
static const per_sequence_t CellBasedMDT_EUTRA_sequence[] = {
{ &hf_ngap_cellIdListforMDT_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CellIdListforMDT_EUTRA },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CellBasedMDT_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_CellBasedMDT_EUTRA, CellBasedMDT_EUTRA_sequence);
return offset;
}
static const value_string ngap_AreaScopeOfMDT_EUTRA_vals[] = {
{ 0, "cellBased" },
{ 1, "tABased" },
{ 2, "pLMNWide" },
{ 3, "tAIBased" },
{ 4, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t AreaScopeOfMDT_EUTRA_choice[] = {
{ 0, &hf_ngap_cellBased_01 , ASN1_NO_EXTENSIONS , dissect_ngap_CellBasedMDT_EUTRA },
{ 1, &hf_ngap_tABased , ASN1_NO_EXTENSIONS , dissect_ngap_TABasedMDT },
{ 2, &hf_ngap_pLMNWide , ASN1_NO_EXTENSIONS , dissect_ngap_NULL },
{ 3, &hf_ngap_tAIBased , ASN1_NO_EXTENSIONS , dissect_ngap_TAIBasedMDT },
{ 4, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_AreaScopeOfMDT_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaScopeOfMDT_EUTRA, AreaScopeOfMDT_EUTRA_choice,
NULL);
return offset;
}
static int
dissect_ngap_NRARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, maxNRARFCN, NULL, FALSE);
return offset;
}
static int
dissect_ngap_NRFrequencyBand(tvbuff_t *tvb _U_, int offset _U_, 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 NRFrequencyBandItem_sequence[] = {
{ &hf_ngap_nr_frequency_band, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NRFrequencyBand },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NRFrequencyBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NRFrequencyBandItem, NRFrequencyBandItem_sequence);
return offset;
}
static const per_sequence_t NRFrequencyBand_List_sequence_of[1] = {
{ &hf_ngap_NRFrequencyBand_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_NRFrequencyBandItem },
};
static int
dissect_ngap_NRFrequencyBand_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_ngap_NRFrequencyBand_List, NRFrequencyBand_List_sequence_of,
1, maxnoofNRCellBands, FALSE);
return offset;
}
static const per_sequence_t NRFrequencyInfo_sequence[] = {
{ &hf_ngap_nrARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NRARFCN },
{ &hf_ngap_frequencyBand_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NRFrequencyBand_List },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NRFrequencyInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NRFrequencyInfo, NRFrequencyInfo_sequence);
return offset;
}
static int
dissect_ngap_NR_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, 1007U, NULL, TRUE);
return offset;
}
static const per_sequence_t PCIListForMDT_sequence_of[1] = {
{ &hf_ngap_PCIListForMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_NR_PCI },
};
static int
dissect_ngap_PCIListForMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PCIListForMDT, PCIListForMDT_sequence_of,
1, maxnoofNeighPCIforMDT, FALSE);
return offset;
}
static const per_sequence_t AreaScopeOfNeighCellsItem_sequence[] = {
{ &hf_ngap_nrFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NRFrequencyInfo },
{ &hf_ngap_pciListForMDT , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PCIListForMDT },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AreaScopeOfNeighCellsItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaScopeOfNeighCellsItem, AreaScopeOfNeighCellsItem_sequence);
return offset;
}
static const per_sequence_t AreaScopeOfNeighCellsList_sequence_of[1] = {
{ &hf_ngap_AreaScopeOfNeighCellsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_AreaScopeOfNeighCellsItem },
};
static int
dissect_ngap_AreaScopeOfNeighCellsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_AreaScopeOfNeighCellsList, AreaScopeOfNeighCellsList_sequence_of,
1, maxnoofFreqforMDT, FALSE);
return offset;
}
static int
dissect_ngap_NumberOfBroadcasts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, NULL, FALSE);
return offset;
}
static const per_sequence_t CellIDCancelledEUTRA_Item_sequence[] = {
{ &hf_ngap_eUTRA_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
{ &hf_ngap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NumberOfBroadcasts },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CellIDCancelledEUTRA_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_ngap_CellIDCancelledEUTRA_Item, CellIDCancelledEUTRA_Item_sequence);
return offset;
}
static const per_sequence_t CellIDCancelledEUTRA_sequence_of[1] = {
{ &hf_ngap_CellIDCancelledEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CellIDCancelledEUTRA_Item },
};
static int
dissect_ngap_CellIDCancelledEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_CellIDCancelledEUTRA, CellIDCancelledEUTRA_sequence_of,
1, maxnoofCellIDforWarning, FALSE);
return offset;
}
static const per_sequence_t CancelledCellsInTAI_EUTRA_Item_sequence[] = {
{ &hf_ngap_eUTRA_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
{ &hf_ngap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NumberOfBroadcasts },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CancelledCellsInTAI_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_ngap_CancelledCellsInTAI_EUTRA_Item, CancelledCellsInTAI_EUTRA_Item_sequence);
return offset;
}
static const per_sequence_t CancelledCellsInTAI_EUTRA_sequence_of[1] = {
{ &hf_ngap_CancelledCellsInTAI_EUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CancelledCellsInTAI_EUTRA_Item },
};
static int
dissect_ngap_CancelledCellsInTAI_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_ngap_CancelledCellsInTAI_EUTRA, CancelledCellsInTAI_EUTRA_sequence_of,
1, maxnoofCellinTAI, FALSE);
return offset;
}
static const per_sequence_t TAICancelledEUTRA_Item_sequence[] = {
{ &hf_ngap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_cancelledCellsInTAI_EUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CancelledCellsInTAI_EUTRA },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TAICancelledEUTRA_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_ngap_TAICancelledEUTRA_Item, TAICancelledEUTRA_Item_sequence);
return offset;
}
static const per_sequence_t TAICancelledEUTRA_sequence_of[1] = {
{ &hf_ngap_TAICancelledEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAICancelledEUTRA_Item },
};
static int
dissect_ngap_TAICancelledEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_TAICancelledEUTRA, TAICancelledEUTRA_sequence_of,
1, maxnoofTAIforWarning, FALSE);
return offset;
}
static int
dissect_ngap_EmergencyAreaID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3, 3, FALSE, NULL);
return offset;
}
static const per_sequence_t CancelledCellsInEAI_EUTRA_Item_sequence[] = {
{ &hf_ngap_eUTRA_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
{ &hf_ngap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NumberOfBroadcasts },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CancelledCellsInEAI_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_ngap_CancelledCellsInEAI_EUTRA_Item, CancelledCellsInEAI_EUTRA_Item_sequence);
return offset;
}
static const per_sequence_t CancelledCellsInEAI_EUTRA_sequence_of[1] = {
{ &hf_ngap_CancelledCellsInEAI_EUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CancelledCellsInEAI_EUTRA_Item },
};
static int
dissect_ngap_CancelledCellsInEAI_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_ngap_CancelledCellsInEAI_EUTRA, CancelledCellsInEAI_EUTRA_sequence_of,
1, maxnoofCellinEAI, FALSE);
return offset;
}
static const per_sequence_t EmergencyAreaIDCancelledEUTRA_Item_sequence[] = {
{ &hf_ngap_emergencyAreaID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyAreaID },
{ &hf_ngap_cancelledCellsInEAI_EUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CancelledCellsInEAI_EUTRA },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_EmergencyAreaIDCancelledEUTRA_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_ngap_EmergencyAreaIDCancelledEUTRA_Item, EmergencyAreaIDCancelledEUTRA_Item_sequence);
return offset;
}
static const per_sequence_t EmergencyAreaIDCancelledEUTRA_sequence_of[1] = {
{ &hf_ngap_EmergencyAreaIDCancelledEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyAreaIDCancelledEUTRA_Item },
};
static int
dissect_ngap_EmergencyAreaIDCancelledEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_EmergencyAreaIDCancelledEUTRA, EmergencyAreaIDCancelledEUTRA_sequence_of,
1, maxnoofEmergencyAreaID, FALSE);
return offset;
}
static const per_sequence_t CellIDCancelledNR_Item_sequence[] = {
{ &hf_ngap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
{ &hf_ngap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NumberOfBroadcasts },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CellIDCancelledNR_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_ngap_CellIDCancelledNR_Item, CellIDCancelledNR_Item_sequence);
return offset;
}
static const per_sequence_t CellIDCancelledNR_sequence_of[1] = {
{ &hf_ngap_CellIDCancelledNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CellIDCancelledNR_Item },
};
static int
dissect_ngap_CellIDCancelledNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_CellIDCancelledNR, CellIDCancelledNR_sequence_of,
1, maxnoofCellIDforWarning, FALSE);
return offset;
}
static const per_sequence_t CancelledCellsInTAI_NR_Item_sequence[] = {
{ &hf_ngap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
{ &hf_ngap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NumberOfBroadcasts },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CancelledCellsInTAI_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_ngap_CancelledCellsInTAI_NR_Item, CancelledCellsInTAI_NR_Item_sequence);
return offset;
}
static const per_sequence_t CancelledCellsInTAI_NR_sequence_of[1] = {
{ &hf_ngap_CancelledCellsInTAI_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CancelledCellsInTAI_NR_Item },
};
static int
dissect_ngap_CancelledCellsInTAI_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_ngap_CancelledCellsInTAI_NR, CancelledCellsInTAI_NR_sequence_of,
1, maxnoofCellinTAI, FALSE);
return offset;
}
static const per_sequence_t TAICancelledNR_Item_sequence[] = {
{ &hf_ngap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_cancelledCellsInTAI_NR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CancelledCellsInTAI_NR },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TAICancelledNR_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_ngap_TAICancelledNR_Item, TAICancelledNR_Item_sequence);
return offset;
}
static const per_sequence_t TAICancelledNR_sequence_of[1] = {
{ &hf_ngap_TAICancelledNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAICancelledNR_Item },
};
static int
dissect_ngap_TAICancelledNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_TAICancelledNR, TAICancelledNR_sequence_of,
1, maxnoofTAIforWarning, FALSE);
return offset;
}
static const per_sequence_t CancelledCellsInEAI_NR_Item_sequence[] = {
{ &hf_ngap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
{ &hf_ngap_numberOfBroadcasts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NumberOfBroadcasts },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CancelledCellsInEAI_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_ngap_CancelledCellsInEAI_NR_Item, CancelledCellsInEAI_NR_Item_sequence);
return offset;
}
static const per_sequence_t CancelledCellsInEAI_NR_sequence_of[1] = {
{ &hf_ngap_CancelledCellsInEAI_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CancelledCellsInEAI_NR_Item },
};
static int
dissect_ngap_CancelledCellsInEAI_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_ngap_CancelledCellsInEAI_NR, CancelledCellsInEAI_NR_sequence_of,
1, maxnoofCellinEAI, FALSE);
return offset;
}
static const per_sequence_t EmergencyAreaIDCancelledNR_Item_sequence[] = {
{ &hf_ngap_emergencyAreaID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyAreaID },
{ &hf_ngap_cancelledCellsInEAI_NR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CancelledCellsInEAI_NR },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_EmergencyAreaIDCancelledNR_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_ngap_EmergencyAreaIDCancelledNR_Item, EmergencyAreaIDCancelledNR_Item_sequence);
return offset;
}
static const per_sequence_t EmergencyAreaIDCancelledNR_sequence_of[1] = {
{ &hf_ngap_EmergencyAreaIDCancelledNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyAreaIDCancelledNR_Item },
};
static int
dissect_ngap_EmergencyAreaIDCancelledNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_EmergencyAreaIDCancelledNR, EmergencyAreaIDCancelledNR_sequence_of,
1, maxnoofEmergencyAreaID, FALSE);
return offset;
}
static const value_string ngap_BroadcastCancelledAreaList_vals[] = {
{ 0, "cellIDCancelledEUTRA" },
{ 1, "tAICancelledEUTRA" },
{ 2, "emergencyAreaIDCancelledEUTRA" },
{ 3, "cellIDCancelledNR" },
{ 4, "tAICancelledNR" },
{ 5, "emergencyAreaIDCancelledNR" },
{ 6, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t BroadcastCancelledAreaList_choice[] = {
{ 0, &hf_ngap_cellIDCancelledEUTRA, ASN1_NO_EXTENSIONS , dissect_ngap_CellIDCancelledEUTRA },
{ 1, &hf_ngap_tAICancelledEUTRA, ASN1_NO_EXTENSIONS , dissect_ngap_TAICancelledEUTRA },
{ 2, &hf_ngap_emergencyAreaIDCancelledEUTRA, ASN1_NO_EXTENSIONS , dissect_ngap_EmergencyAreaIDCancelledEUTRA },
{ 3, &hf_ngap_cellIDCancelledNR, ASN1_NO_EXTENSIONS , dissect_ngap_CellIDCancelledNR },
{ 4, &hf_ngap_tAICancelledNR , ASN1_NO_EXTENSIONS , dissect_ngap_TAICancelledNR },
{ 5, &hf_ngap_emergencyAreaIDCancelledNR, ASN1_NO_EXTENSIONS , dissect_ngap_EmergencyAreaIDCancelledNR },
{ 6, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_BroadcastCancelledAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_BroadcastCancelledAreaList, BroadcastCancelledAreaList_choice,
NULL);
return offset;
}
static const per_sequence_t CellIDBroadcastEUTRA_Item_sequence[] = {
{ &hf_ngap_eUTRA_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CellIDBroadcastEUTRA_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_ngap_CellIDBroadcastEUTRA_Item, CellIDBroadcastEUTRA_Item_sequence);
return offset;
}
static const per_sequence_t CellIDBroadcastEUTRA_sequence_of[1] = {
{ &hf_ngap_CellIDBroadcastEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CellIDBroadcastEUTRA_Item },
};
static int
dissect_ngap_CellIDBroadcastEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_CellIDBroadcastEUTRA, CellIDBroadcastEUTRA_sequence_of,
1, maxnoofCellIDforWarning, FALSE);
return offset;
}
static const per_sequence_t CompletedCellsInTAI_EUTRA_Item_sequence[] = {
{ &hf_ngap_eUTRA_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CompletedCellsInTAI_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_ngap_CompletedCellsInTAI_EUTRA_Item, CompletedCellsInTAI_EUTRA_Item_sequence);
return offset;
}
static const per_sequence_t CompletedCellsInTAI_EUTRA_sequence_of[1] = {
{ &hf_ngap_CompletedCellsInTAI_EUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CompletedCellsInTAI_EUTRA_Item },
};
static int
dissect_ngap_CompletedCellsInTAI_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_ngap_CompletedCellsInTAI_EUTRA, CompletedCellsInTAI_EUTRA_sequence_of,
1, maxnoofCellinTAI, FALSE);
return offset;
}
static const per_sequence_t TAIBroadcastEUTRA_Item_sequence[] = {
{ &hf_ngap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_completedCellsInTAI_EUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CompletedCellsInTAI_EUTRA },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TAIBroadcastEUTRA_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_ngap_TAIBroadcastEUTRA_Item, TAIBroadcastEUTRA_Item_sequence);
return offset;
}
static const per_sequence_t TAIBroadcastEUTRA_sequence_of[1] = {
{ &hf_ngap_TAIBroadcastEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAIBroadcastEUTRA_Item },
};
static int
dissect_ngap_TAIBroadcastEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_TAIBroadcastEUTRA, TAIBroadcastEUTRA_sequence_of,
1, maxnoofTAIforWarning, FALSE);
return offset;
}
static const per_sequence_t CompletedCellsInEAI_EUTRA_Item_sequence[] = {
{ &hf_ngap_eUTRA_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CompletedCellsInEAI_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_ngap_CompletedCellsInEAI_EUTRA_Item, CompletedCellsInEAI_EUTRA_Item_sequence);
return offset;
}
static const per_sequence_t CompletedCellsInEAI_EUTRA_sequence_of[1] = {
{ &hf_ngap_CompletedCellsInEAI_EUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CompletedCellsInEAI_EUTRA_Item },
};
static int
dissect_ngap_CompletedCellsInEAI_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_ngap_CompletedCellsInEAI_EUTRA, CompletedCellsInEAI_EUTRA_sequence_of,
1, maxnoofCellinEAI, FALSE);
return offset;
}
static const per_sequence_t EmergencyAreaIDBroadcastEUTRA_Item_sequence[] = {
{ &hf_ngap_emergencyAreaID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyAreaID },
{ &hf_ngap_completedCellsInEAI_EUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CompletedCellsInEAI_EUTRA },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_EmergencyAreaIDBroadcastEUTRA_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_ngap_EmergencyAreaIDBroadcastEUTRA_Item, EmergencyAreaIDBroadcastEUTRA_Item_sequence);
return offset;
}
static const per_sequence_t EmergencyAreaIDBroadcastEUTRA_sequence_of[1] = {
{ &hf_ngap_EmergencyAreaIDBroadcastEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyAreaIDBroadcastEUTRA_Item },
};
static int
dissect_ngap_EmergencyAreaIDBroadcastEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_EmergencyAreaIDBroadcastEUTRA, EmergencyAreaIDBroadcastEUTRA_sequence_of,
1, maxnoofEmergencyAreaID, FALSE);
return offset;
}
static const per_sequence_t CellIDBroadcastNR_Item_sequence[] = {
{ &hf_ngap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CellIDBroadcastNR_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_ngap_CellIDBroadcastNR_Item, CellIDBroadcastNR_Item_sequence);
return offset;
}
static const per_sequence_t CellIDBroadcastNR_sequence_of[1] = {
{ &hf_ngap_CellIDBroadcastNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CellIDBroadcastNR_Item },
};
static int
dissect_ngap_CellIDBroadcastNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_CellIDBroadcastNR, CellIDBroadcastNR_sequence_of,
1, maxnoofCellIDforWarning, FALSE);
return offset;
}
static const per_sequence_t CompletedCellsInTAI_NR_Item_sequence[] = {
{ &hf_ngap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CompletedCellsInTAI_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_ngap_CompletedCellsInTAI_NR_Item, CompletedCellsInTAI_NR_Item_sequence);
return offset;
}
static const per_sequence_t CompletedCellsInTAI_NR_sequence_of[1] = {
{ &hf_ngap_CompletedCellsInTAI_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CompletedCellsInTAI_NR_Item },
};
static int
dissect_ngap_CompletedCellsInTAI_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_ngap_CompletedCellsInTAI_NR, CompletedCellsInTAI_NR_sequence_of,
1, maxnoofCellinTAI, FALSE);
return offset;
}
static const per_sequence_t TAIBroadcastNR_Item_sequence[] = {
{ &hf_ngap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_completedCellsInTAI_NR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CompletedCellsInTAI_NR },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TAIBroadcastNR_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_ngap_TAIBroadcastNR_Item, TAIBroadcastNR_Item_sequence);
return offset;
}
static const per_sequence_t TAIBroadcastNR_sequence_of[1] = {
{ &hf_ngap_TAIBroadcastNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAIBroadcastNR_Item },
};
static int
dissect_ngap_TAIBroadcastNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_TAIBroadcastNR, TAIBroadcastNR_sequence_of,
1, maxnoofTAIforWarning, FALSE);
return offset;
}
static const per_sequence_t CompletedCellsInEAI_NR_Item_sequence[] = {
{ &hf_ngap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CompletedCellsInEAI_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_ngap_CompletedCellsInEAI_NR_Item, CompletedCellsInEAI_NR_Item_sequence);
return offset;
}
static const per_sequence_t CompletedCellsInEAI_NR_sequence_of[1] = {
{ &hf_ngap_CompletedCellsInEAI_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CompletedCellsInEAI_NR_Item },
};
static int
dissect_ngap_CompletedCellsInEAI_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_ngap_CompletedCellsInEAI_NR, CompletedCellsInEAI_NR_sequence_of,
1, maxnoofCellinEAI, FALSE);
return offset;
}
static const per_sequence_t EmergencyAreaIDBroadcastNR_Item_sequence[] = {
{ &hf_ngap_emergencyAreaID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyAreaID },
{ &hf_ngap_completedCellsInEAI_NR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CompletedCellsInEAI_NR },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_EmergencyAreaIDBroadcastNR_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_ngap_EmergencyAreaIDBroadcastNR_Item, EmergencyAreaIDBroadcastNR_Item_sequence);
return offset;
}
static const per_sequence_t EmergencyAreaIDBroadcastNR_sequence_of[1] = {
{ &hf_ngap_EmergencyAreaIDBroadcastNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyAreaIDBroadcastNR_Item },
};
static int
dissect_ngap_EmergencyAreaIDBroadcastNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_EmergencyAreaIDBroadcastNR, EmergencyAreaIDBroadcastNR_sequence_of,
1, maxnoofEmergencyAreaID, FALSE);
return offset;
}
static const value_string ngap_BroadcastCompletedAreaList_vals[] = {
{ 0, "cellIDBroadcastEUTRA" },
{ 1, "tAIBroadcastEUTRA" },
{ 2, "emergencyAreaIDBroadcastEUTRA" },
{ 3, "cellIDBroadcastNR" },
{ 4, "tAIBroadcastNR" },
{ 5, "emergencyAreaIDBroadcastNR" },
{ 6, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t BroadcastCompletedAreaList_choice[] = {
{ 0, &hf_ngap_cellIDBroadcastEUTRA, ASN1_NO_EXTENSIONS , dissect_ngap_CellIDBroadcastEUTRA },
{ 1, &hf_ngap_tAIBroadcastEUTRA, ASN1_NO_EXTENSIONS , dissect_ngap_TAIBroadcastEUTRA },
{ 2, &hf_ngap_emergencyAreaIDBroadcastEUTRA, ASN1_NO_EXTENSIONS , dissect_ngap_EmergencyAreaIDBroadcastEUTRA },
{ 3, &hf_ngap_cellIDBroadcastNR, ASN1_NO_EXTENSIONS , dissect_ngap_CellIDBroadcastNR },
{ 4, &hf_ngap_tAIBroadcastNR , ASN1_NO_EXTENSIONS , dissect_ngap_TAIBroadcastNR },
{ 5, &hf_ngap_emergencyAreaIDBroadcastNR, ASN1_NO_EXTENSIONS , dissect_ngap_EmergencyAreaIDBroadcastNR },
{ 6, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_BroadcastCompletedAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_BroadcastCompletedAreaList, BroadcastCompletedAreaList_choice,
NULL);
return offset;
}
static const per_sequence_t SliceSupportItem_sequence[] = {
{ &hf_ngap_s_NSSAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_S_NSSAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SliceSupportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SliceSupportItem, SliceSupportItem_sequence);
return offset;
}
static const per_sequence_t SliceSupportList_sequence_of[1] = {
{ &hf_ngap_SliceSupportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_SliceSupportItem },
};
static int
dissect_ngap_SliceSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_SliceSupportList, SliceSupportList_sequence_of,
1, maxnoofSliceItems, FALSE);
return offset;
}
static const per_sequence_t BroadcastPLMNItem_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_tAISliceSupportList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SliceSupportList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_BroadcastPLMNItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_BroadcastPLMNItem, BroadcastPLMNItem_sequence);
return offset;
}
static const per_sequence_t BroadcastPLMNList_sequence_of[1] = {
{ &hf_ngap_BroadcastPLMNList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_BroadcastPLMNItem },
};
static int
dissect_ngap_BroadcastPLMNList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_BroadcastPLMNList, BroadcastPLMNList_sequence_of,
1, maxnoofBPLMNs, FALSE);
return offset;
}
static const value_string ngap_BluetoothMeasConfig_vals[] = {
{ 0, "setup" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_BluetoothName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 980 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
1, 248, FALSE, &parameter_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 BluetoothMeasConfigNameItem_sequence[] = {
{ &hf_ngap_bluetoothName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BluetoothName },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_BluetoothMeasConfigNameItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_BluetoothMeasConfigNameItem, BluetoothMeasConfigNameItem_sequence);
return offset;
}
static const per_sequence_t BluetoothMeasConfigNameList_sequence_of[1] = {
{ &hf_ngap_BluetoothMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_BluetoothMeasConfigNameItem },
};
static int
dissect_ngap_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_ngap_BluetoothMeasConfigNameList, BluetoothMeasConfigNameList_sequence_of,
1, maxnoofBluetoothName, FALSE);
return offset;
}
static const value_string ngap_T_bt_rssi_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_bluetoothMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BluetoothMeasConfig },
{ &hf_ngap_bluetoothMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BluetoothMeasConfigNameList },
{ &hf_ngap_bt_rssi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_T_bt_rssi },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_BluetoothMeasurementConfiguration, BluetoothMeasurementConfiguration_sequence);
return offset;
}
static int
dissect_ngap_BurstArrivalTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 986 "./asn1/ngap/ngap.cnf"
tvbuff_t *burst_arrival_time_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &burst_arrival_time_tvb);
if (burst_arrival_time_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_BurstArrivalTime);
dissect_nr_rrc_ReferenceTime_r16_PDU(burst_arrival_time_tvb, actx->pinfo, subtree, NULL);
}
return offset;
}
static const value_string ngap_CancelAllWarningMessages_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_CancelAllWarningMessages(tvbuff_t *tvb _U_, int offset _U_, asn1_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 CandidateCellID_sequence[] = {
{ &hf_ngap_candidateCellID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CandidateCellID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_CandidateCellID, CandidateCellID_sequence);
return offset;
}
static int
dissect_ngap_INTEGER_0_1007_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 1007U, NULL, TRUE);
return offset;
}
static int
dissect_ngap_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 const per_sequence_t CandidatePCI_sequence[] = {
{ &hf_ngap_candidatePCI_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_INTEGER_0_1007_ },
{ &hf_ngap_candidateNRARFCN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_INTEGER_0_3279165 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CandidatePCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_CandidatePCI, CandidatePCI_sequence);
return offset;
}
static const value_string ngap_CandidateCell_vals[] = {
{ 0, "candidateCGI" },
{ 1, "candidatePCI" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t CandidateCell_choice[] = {
{ 0, &hf_ngap_candidateCGI , ASN1_NO_EXTENSIONS , dissect_ngap_CandidateCellID },
{ 1, &hf_ngap_candidatePCI , ASN1_NO_EXTENSIONS , dissect_ngap_CandidatePCI },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_CandidateCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_CandidateCell, CandidateCell_choice,
NULL);
return offset;
}
static const per_sequence_t CandidateCellItem_sequence[] = {
{ &hf_ngap_candidateCell , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CandidateCell },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CandidateCellItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_CandidateCellItem, CandidateCellItem_sequence);
return offset;
}
static const per_sequence_t CandidateCellList_sequence_of[1] = {
{ &hf_ngap_CandidateCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CandidateCellItem },
};
static int
dissect_ngap_CandidateCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_CandidateCellList, CandidateCellList_sequence_of,
1, maxnoofCandidateCells, FALSE);
return offset;
}
static const value_string ngap_CauseRadioNetwork_vals[] = {
{ 0, "unspecified" },
{ 1, "txnrelocoverall-expiry" },
{ 2, "successful-handover" },
{ 3, "release-due-to-ngran-generated-reason" },
{ 4, "release-due-to-5gc-generated-reason" },
{ 5, "handover-cancelled" },
{ 6, "partial-handover" },
{ 7, "ho-failure-in-target-5GC-ngran-node-or-target-system" },
{ 8, "ho-target-not-allowed" },
{ 9, "tngrelocoverall-expiry" },
{ 10, "tngrelocprep-expiry" },
{ 11, "cell-not-available" },
{ 12, "unknown-targetID" },
{ 13, "no-radio-resources-available-in-target-cell" },
{ 14, "unknown-local-UE-NGAP-ID" },
{ 15, "inconsistent-remote-UE-NGAP-ID" },
{ 16, "handover-desirable-for-radio-reason" },
{ 17, "time-critical-handover" },
{ 18, "resource-optimisation-handover" },
{ 19, "reduce-load-in-serving-cell" },
{ 20, "user-inactivity" },
{ 21, "radio-connection-with-ue-lost" },
{ 22, "radio-resources-not-available" },
{ 23, "invalid-qos-combination" },
{ 24, "failure-in-radio-interface-procedure" },
{ 25, "interaction-with-other-procedure" },
{ 26, "unknown-PDU-session-ID" },
{ 27, "unkown-qos-flow-ID" },
{ 28, "multiple-PDU-session-ID-instances" },
{ 29, "multiple-qos-flow-ID-instances" },
{ 30, "encryption-and-or-integrity-protection-algorithms-not-supported" },
{ 31, "ng-intra-system-handover-triggered" },
{ 32, "ng-inter-system-handover-triggered" },
{ 33, "xn-handover-triggered" },
{ 34, "not-supported-5QI-value" },
{ 35, "ue-context-transfer" },
{ 36, "ims-voice-eps-fallback-or-rat-fallback-triggered" },
{ 37, "up-integrity-protection-not-possible" },
{ 38, "up-confidentiality-protection-not-possible" },
{ 39, "slice-not-supported" },
{ 40, "ue-in-rrc-inactive-state-not-reachable" },
{ 41, "redirection" },
{ 42, "resources-not-available-for-the-slice" },
{ 43, "ue-max-integrity-protected-data-rate-reason" },
{ 44, "release-due-to-cn-detected-mobility" },
{ 45, "n26-interface-not-available" },
{ 46, "release-due-to-pre-emption" },
{ 47, "multiple-location-reporting-reference-ID-instances" },
{ 48, "rsn-not-available-for-the-up" },
{ 49, "npn-access-denied" },
{ 50, "cag-only-access-denied" },
{ 51, "insufficient-ue-capabilities" },
{ 0, NULL }
};
static value_string_ext ngap_CauseRadioNetwork_vals_ext = VALUE_STRING_EXT_INIT(ngap_CauseRadioNetwork_vals);
static int
dissect_ngap_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,
45, NULL, TRUE, 7, NULL);
return offset;
}
static const value_string ngap_CauseTransport_vals[] = {
{ 0, "transport-resource-unavailable" },
{ 1, "unspecified" },
{ 0, NULL }
};
static int
dissect_ngap_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 ngap_CauseNas_vals[] = {
{ 0, "normal-release" },
{ 1, "authentication-failure" },
{ 2, "deregister" },
{ 3, "unspecified" },
{ 0, NULL }
};
static int
dissect_ngap_CauseNas(tvbuff_t *tvb _U_, int offset _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 ngap_CauseProtocol_vals[] = {
{ 0, "transfer-syntax-error" },
{ 1, "abstract-syntax-error-reject" },
{ 2, "abstract-syntax-error-ignore-and-notify" },
{ 3, "message-not-compatible-with-receiver-state" },
{ 4, "semantic-error" },
{ 5, "abstract-syntax-error-falsely-constructed-message" },
{ 6, "unspecified" },
{ 0, NULL }
};
static int
dissect_ngap_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 ngap_CauseMisc_vals[] = {
{ 0, "control-processing-overload" },
{ 1, "not-enough-user-plane-processing-resources" },
{ 2, "hardware-failure" },
{ 3, "om-intervention" },
{ 4, "unknown-PLMN-or-SNPN" },
{ 5, "unspecified" },
{ 0, NULL }
};
static int
dissect_ngap_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,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_Cause_vals[] = {
{ 0, "radioNetwork" },
{ 1, "transport" },
{ 2, "nas" },
{ 3, "protocol" },
{ 4, "misc" },
{ 5, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t Cause_choice[] = {
{ 0, &hf_ngap_radioNetwork , ASN1_NO_EXTENSIONS , dissect_ngap_CauseRadioNetwork },
{ 1, &hf_ngap_transport , ASN1_NO_EXTENSIONS , dissect_ngap_CauseTransport },
{ 2, &hf_ngap_nas , ASN1_NO_EXTENSIONS , dissect_ngap_CauseNas },
{ 3, &hf_ngap_protocol , ASN1_NO_EXTENSIONS , dissect_ngap_CauseProtocol },
{ 4, &hf_ngap_misc , ASN1_NO_EXTENSIONS , dissect_ngap_CauseMisc },
{ 5, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_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_ngap_Cause, Cause_choice,
NULL);
return offset;
}
static const per_sequence_t CellCAGList_sequence_of[1] = {
{ &hf_ngap_CellCAGList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CAG_ID },
};
static int
dissect_ngap_CellCAGList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_CellCAGList, CellCAGList_sequence_of,
1, maxnoofCAGSperCell, FALSE);
return offset;
}
static const per_sequence_t Cell_CAGInformation_sequence[] = {
{ &hf_ngap_nGRAN_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
{ &hf_ngap_cellCAGList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CellCAGList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_Cell_CAGInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_Cell_CAGInformation, Cell_CAGInformation_sequence);
return offset;
}
static const per_sequence_t EUTRA_CGIList_sequence_of[1] = {
{ &hf_ngap_EUTRA_CGIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
};
static int
dissect_ngap_EUTRA_CGIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_EUTRA_CGIList, EUTRA_CGIList_sequence_of,
1, maxnoofCellsinngeNB, FALSE);
return offset;
}
static const per_sequence_t NR_CGIList_sequence_of[1] = {
{ &hf_ngap_NR_CGIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
};
static int
dissect_ngap_NR_CGIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_NR_CGIList, NR_CGIList_sequence_of,
1, maxnoofCellsingNB, FALSE);
return offset;
}
static const value_string ngap_CellIDListForRestart_vals[] = {
{ 0, "eUTRA-CGIListforRestart" },
{ 1, "nR-CGIListforRestart" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t CellIDListForRestart_choice[] = {
{ 0, &hf_ngap_eUTRA_CGIListforRestart, ASN1_NO_EXTENSIONS , dissect_ngap_EUTRA_CGIList },
{ 1, &hf_ngap_nR_CGIListforRestart, ASN1_NO_EXTENSIONS , dissect_ngap_NR_CGIList },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_CellIDListForRestart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_CellIDListForRestart, CellIDListForRestart_choice,
NULL);
return offset;
}
static const value_string ngap_CellSize_vals[] = {
{ 0, "verysmall" },
{ 1, "small" },
{ 2, "medium" },
{ 3, "large" },
{ 0, NULL }
};
static int
dissect_ngap_CellSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t CellType_sequence[] = {
{ &hf_ngap_cellSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CellSize },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_CellType, CellType_sequence);
return offset;
}
static const value_string ngap_CEmodeBSupport_Indicator_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_ngap_CEmodeBSupport_Indicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_CEmodeBrestricted_vals[] = {
{ 0, "restricted" },
{ 1, "not-restricted" },
{ 0, NULL }
};
static int
dissect_ngap_CEmodeBrestricted(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_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_ngap_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 ngap_SourceOfUEActivityBehaviourInformation_vals[] = {
{ 0, "subscription-information" },
{ 1, "statistics" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_expectedActivityPeriod, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExpectedActivityPeriod },
{ &hf_ngap_expectedIdlePeriod, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExpectedIdlePeriod },
{ &hf_ngap_sourceOfUEActivityBehaviourInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_SourceOfUEActivityBehaviourInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_ExpectedUEActivityBehaviour, ExpectedUEActivityBehaviour_sequence);
return offset;
}
static const value_string ngap_ExpectedHOInterval_vals[] = {
{ 0, "sec15" },
{ 1, "sec30" },
{ 2, "sec60" },
{ 3, "sec90" },
{ 4, "sec120" },
{ 5, "sec180" },
{ 6, "long-time" },
{ 0, NULL }
};
static int
dissect_ngap_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 value_string ngap_ExpectedUEMobility_vals[] = {
{ 0, "stationary" },
{ 1, "mobile" },
{ 0, NULL }
};
static int
dissect_ngap_ExpectedUEMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ExpectedUEMovingTrajectoryItem_sequence[] = {
{ &hf_ngap_nGRAN_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
{ &hf_ngap_timeStayedInCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_INTEGER_0_4095 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_ExpectedUEMovingTrajectoryItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_ExpectedUEMovingTrajectoryItem, ExpectedUEMovingTrajectoryItem_sequence);
return offset;
}
static const per_sequence_t ExpectedUEMovingTrajectory_sequence_of[1] = {
{ &hf_ngap_ExpectedUEMovingTrajectory_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ExpectedUEMovingTrajectoryItem },
};
static int
dissect_ngap_ExpectedUEMovingTrajectory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_ExpectedUEMovingTrajectory, ExpectedUEMovingTrajectory_sequence_of,
1, maxnoofCellsUEMovingTrajectory, FALSE);
return offset;
}
static const per_sequence_t ExpectedUEBehaviour_sequence[] = {
{ &hf_ngap_expectedUEActivityBehaviour, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExpectedUEActivityBehaviour },
{ &hf_ngap_expectedHOInterval, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExpectedHOInterval },
{ &hf_ngap_expectedUEMobility, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExpectedUEMobility },
{ &hf_ngap_expectedUEMovingTrajectory, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExpectedUEMovingTrajectory },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_ExpectedUEBehaviour, ExpectedUEBehaviour_sequence);
return offset;
}
static const per_sequence_t CNAssistedRANTuning_sequence[] = {
{ &hf_ngap_expectedUEBehaviour, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExpectedUEBehaviour },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CNAssistedRANTuning(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_CNAssistedRANTuning, CNAssistedRANTuning_sequence);
return offset;
}
static const value_string ngap_T_cn_Type_vals[] = {
{ 0, "epc-forbidden" },
{ 1, "fiveGC-forbidden" },
{ 0, NULL }
};
static int
dissect_ngap_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,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t CNTypeRestrictionsForEquivalentItem_sequence[] = {
{ &hf_ngap_plmnIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_cn_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_cn_Type },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CNTypeRestrictionsForEquivalentItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_CNTypeRestrictionsForEquivalentItem, CNTypeRestrictionsForEquivalentItem_sequence);
return offset;
}
static const per_sequence_t CNTypeRestrictionsForEquivalent_sequence_of[1] = {
{ &hf_ngap_CNTypeRestrictionsForEquivalent_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CNTypeRestrictionsForEquivalentItem },
};
static int
dissect_ngap_CNTypeRestrictionsForEquivalent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_CNTypeRestrictionsForEquivalent, CNTypeRestrictionsForEquivalent_sequence_of,
1, maxnoofEPLMNs, FALSE);
return offset;
}
static const value_string ngap_CNTypeRestrictionsForServing_vals[] = {
{ 0, "epc-forbidden" },
{ 0, NULL }
};
static int
dissect_ngap_CNTypeRestrictionsForServing(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_CommonNetworkInstance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, NULL);
return offset;
}
static const value_string ngap_ConcurrentWarningMessageInd_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_ConcurrentWarningMessageInd(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_ConfidentialityProtectionIndication_vals[] = {
{ 0, "required" },
{ 1, "preferred" },
{ 2, "not-needed" },
{ 0, NULL }
};
static int
dissect_ngap_ConfidentialityProtectionIndication(tvbuff_t *tvb _U_, int offset _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 ngap_ConfidentialityProtectionResult_vals[] = {
{ 0, "performed" },
{ 1, "not-performed" },
{ 0, NULL }
};
static int
dissect_ngap_ConfidentialityProtectionResult(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_ConfiguredTACIndication_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_ConfiguredTACIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
10, 10, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const value_string ngap_UEIdentityIndexValue_vals[] = {
{ 0, "indexLength10" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t UEIdentityIndexValue_choice[] = {
{ 0, &hf_ngap_indexLength10 , ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_10 },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_UEIdentityIndexValue, UEIdentityIndexValue_choice,
NULL);
return offset;
}
static const value_string ngap_PagingDRX_vals[] = {
{ 0, "v32" },
{ 1, "v64" },
{ 2, "v128" },
{ 3, "v256" },
{ 0, NULL }
};
static int
dissect_ngap_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ngap_PeriodicRegistrationUpdateTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 914 "./asn1/ngap/ngap.cnf"
tvbuff_t *val_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
8, 8, FALSE, NULL, 0, &val_tvb, NULL);
if (val_tvb) {
guint32 val = tvb_get_guint8(val_tvb, 0);
actx->created_item = proto_tree_add_uint(tree, hf_index, val_tvb, 0, 1, val);
}
return offset;
}
static const value_string ngap_MICOModeIndication_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_MICOModeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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 TAIListForInactiveItem_sequence[] = {
{ &hf_ngap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TAIListForInactiveItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TAIListForInactiveItem, TAIListForInactiveItem_sequence);
return offset;
}
static const per_sequence_t TAIListForInactive_sequence_of[1] = {
{ &hf_ngap_TAIListForInactive_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAIListForInactiveItem },
};
static int
dissect_ngap_TAIListForInactive(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_TAIListForInactive, TAIListForInactive_sequence_of,
1, maxnoofTAIforInactive, FALSE);
return offset;
}
static const per_sequence_t CoreNetworkAssistanceInformationForInactive_sequence[] = {
{ &hf_ngap_uEIdentityIndexValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UEIdentityIndexValue },
{ &hf_ngap_uESpecificDRX , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PagingDRX },
{ &hf_ngap_periodicRegistrationUpdateTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PeriodicRegistrationUpdateTimer },
{ &hf_ngap_mICOModeIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_MICOModeIndication },
{ &hf_ngap_tAIListForInactive, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAIListForInactive },
{ &hf_ngap_expectedUEBehaviour, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExpectedUEBehaviour },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CoreNetworkAssistanceInformationForInactive(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_CoreNetworkAssistanceInformationForInactive, CoreNetworkAssistanceInformationForInactive_sequence);
return offset;
}
static int
dissect_ngap_INTEGER_0_1048575(tvbuff_t *tvb _U_, int offset _U_, asn1_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 COUNTValueForPDCP_SN12_sequence[] = {
{ &hf_ngap_pDCP_SN12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_INTEGER_0_4095 },
{ &hf_ngap_hFN_PDCP_SN12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_INTEGER_0_1048575 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_COUNTValueForPDCP_SN12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_COUNTValueForPDCP_SN12, COUNTValueForPDCP_SN12_sequence);
return offset;
}
static int
dissect_ngap_INTEGER_0_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 16383U, NULL, FALSE);
return offset;
}
static const per_sequence_t COUNTValueForPDCP_SN18_sequence[] = {
{ &hf_ngap_pDCP_SN18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_INTEGER_0_262143 },
{ &hf_ngap_hFN_PDCP_SN18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_INTEGER_0_16383 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_COUNTValueForPDCP_SN18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_COUNTValueForPDCP_SN18, COUNTValueForPDCP_SN18_sequence);
return offset;
}
static int
dissect_ngap_CoverageEnhancementLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 994 "./asn1/ngap/ngap.cnf"
tvbuff_t *cov_enh_level_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &cov_enh_level_tvb);
if (cov_enh_level_tvb && ngap_dissect_container) {
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_CoverageEnhancementLevel);
if ((ngap_is_nbiot_ue(actx->pinfo) && (ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_AUTOMATIC)) ||
(ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_NBIOT)) {
TRY {
dissect_lte_rrc_UEPagingCoverageInformation_NB_PDU(cov_enh_level_tvb, actx->pinfo, subtree, NULL);
}
CATCH_BOUNDS_ERRORS {
show_exception(cov_enh_level_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
}
ENDTRY;
} else {
TRY {
dissect_lte_rrc_UEPagingCoverageInformation_PDU(cov_enh_level_tvb, actx->pinfo, subtree, NULL);
}
CATCH_BOUNDS_ERRORS {
show_exception(cov_enh_level_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
}
ENDTRY;
}
}
return offset;
}
static const value_string ngap_TypeOfError_vals[] = {
{ 0, "not-understood" },
{ 1, "missing" },
{ 0, NULL }
};
static int
dissect_ngap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t CriticalityDiagnostics_IE_Item_sequence[] = {
{ &hf_ngap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Criticality },
{ &hf_ngap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_ID },
{ &hf_ngap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TypeOfError },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CriticalityDiagnostics_IE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_CriticalityDiagnostics_IE_Item, CriticalityDiagnostics_IE_Item_sequence);
return offset;
}
static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
{ &hf_ngap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CriticalityDiagnostics_IE_Item },
};
static int
dissect_ngap_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_ngap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
1, maxnoofErrors, FALSE);
return offset;
}
static const per_sequence_t CriticalityDiagnostics_sequence[] = {
{ &hf_ngap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProcedureCode },
{ &hf_ngap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TriggeringMessage },
{ &hf_ngap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_Criticality },
{ &hf_ngap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_CriticalityDiagnostics_IE_List },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
return offset;
}
static int
dissect_ngap_DataCodingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 414 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_DataCodingScheme);
ngap_data->data_coding_scheme = dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
}
return offset;
}
static const value_string ngap_DataForwardingNotPossible_vals[] = {
{ 0, "data-forwarding-not-possible" },
{ 0, NULL }
};
static int
dissect_ngap_DataForwardingNotPossible(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_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, TRUE);
return offset;
}
static const per_sequence_t DataForwardingResponseDRBItem_sequence[] = {
{ &hf_ngap_dRB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRB_ID },
{ &hf_ngap_dLForwardingUP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_uLForwardingUP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DataForwardingResponseDRBItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DataForwardingResponseDRBItem, DataForwardingResponseDRBItem_sequence);
return offset;
}
static const per_sequence_t DataForwardingResponseDRBList_sequence_of[1] = {
{ &hf_ngap_DataForwardingResponseDRBList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_DataForwardingResponseDRBItem },
};
static int
dissect_ngap_DataForwardingResponseDRBList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_DataForwardingResponseDRBList, DataForwardingResponseDRBList_sequence_of,
1, maxnoofDRBs, FALSE);
return offset;
}
static const value_string ngap_T_dAPSIndicator_vals[] = {
{ 0, "daps-ho-required" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_dAPSIndicator , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_dAPSIndicator },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_DAPSRequestInfo, DAPSRequestInfo_sequence);
return offset;
}
static const value_string ngap_T_dapsresponseindicator_vals[] = {
{ 0, "daps-ho-accepted" },
{ 1, "daps-ho-not-accepted" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_dapsresponseindicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_dapsresponseindicator },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_DAPSResponseInfo, DAPSResponseInfo_sequence);
return offset;
}
static const per_sequence_t DAPSResponseInfoItem_sequence[] = {
{ &hf_ngap_dRB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRB_ID },
{ &hf_ngap_dAPSResponseInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DAPSResponseInfo },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DAPSResponseInfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DAPSResponseInfoItem, DAPSResponseInfoItem_sequence);
return offset;
}
static const per_sequence_t DAPSResponseInfoList_sequence_of[1] = {
{ &hf_ngap_DAPSResponseInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_DAPSResponseInfoItem },
};
static int
dissect_ngap_DAPSResponseInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_DAPSResponseInfoList, DAPSResponseInfoList_sequence_of,
1, maxnoofDRBs, FALSE);
return offset;
}
static int
dissect_ngap_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 per_sequence_t DataForwardingResponseERABListItem_sequence[] = {
{ &hf_ngap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_E_RAB_ID },
{ &hf_ngap_dLForwardingUP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DataForwardingResponseERABListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DataForwardingResponseERABListItem, DataForwardingResponseERABListItem_sequence);
return offset;
}
static const per_sequence_t DataForwardingResponseERABList_sequence_of[1] = {
{ &hf_ngap_DataForwardingResponseERABList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_DataForwardingResponseERABListItem },
};
static int
dissect_ngap_DataForwardingResponseERABList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_DataForwardingResponseERABList, DataForwardingResponseERABList_sequence_of,
1, maxnoofE_RABs, FALSE);
return offset;
}
static const value_string ngap_DelayCritical_vals[] = {
{ 0, "delay-critical" },
{ 1, "non-delay-critical" },
{ 0, NULL }
};
static int
dissect_ngap_DelayCritical(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ngap_DL_NAS_MAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t DL_CP_SecurityInformation_sequence[] = {
{ &hf_ngap_dl_NAS_MAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DL_NAS_MAC },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DL_CP_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_ngap_DL_CP_SecurityInformation, DL_CP_SecurityInformation_sequence);
return offset;
}
static const value_string ngap_DLForwarding_vals[] = {
{ 0, "dl-forwarding-proposed" },
{ 0, NULL }
};
static int
dissect_ngap_DLForwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_DL_NGU_TNLInformationReused_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_DL_NGU_TNLInformationReused(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_DirectForwardingPathAvailability_vals[] = {
{ 0, "direct-path-available" },
{ 0, NULL }
};
static int
dissect_ngap_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 int
dissect_ngap_BIT_STRING_SIZE_1_2048(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, 2048, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t DRBStatusUL12_sequence[] = {
{ &hf_ngap_uL_COUNTValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_COUNTValueForPDCP_SN12 },
{ &hf_ngap_receiveStatusOfUL_PDCP_SDUs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BIT_STRING_SIZE_1_2048 },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DRBStatusUL12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DRBStatusUL12, DRBStatusUL12_sequence);
return offset;
}
static int
dissect_ngap_BIT_STRING_SIZE_1_131072(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 per_sequence_t DRBStatusUL18_sequence[] = {
{ &hf_ngap_uL_COUNTValue_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_COUNTValueForPDCP_SN18 },
{ &hf_ngap_receiveStatusOfUL_PDCP_SDUs_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BIT_STRING_SIZE_1_131072 },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DRBStatusUL18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DRBStatusUL18, DRBStatusUL18_sequence);
return offset;
}
static const value_string ngap_DRBStatusUL_vals[] = {
{ 0, "dRBStatusUL12" },
{ 1, "dRBStatusUL18" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t DRBStatusUL_choice[] = {
{ 0, &hf_ngap_dRBStatusUL12 , ASN1_NO_EXTENSIONS , dissect_ngap_DRBStatusUL12 },
{ 1, &hf_ngap_dRBStatusUL18 , ASN1_NO_EXTENSIONS , dissect_ngap_DRBStatusUL18 },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_DRBStatusUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_DRBStatusUL, DRBStatusUL_choice,
NULL);
return offset;
}
static const per_sequence_t DRBStatusDL12_sequence[] = {
{ &hf_ngap_dL_COUNTValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_COUNTValueForPDCP_SN12 },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DRBStatusDL12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DRBStatusDL12, DRBStatusDL12_sequence);
return offset;
}
static const per_sequence_t DRBStatusDL18_sequence[] = {
{ &hf_ngap_dL_COUNTValue_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_COUNTValueForPDCP_SN18 },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DRBStatusDL18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DRBStatusDL18, DRBStatusDL18_sequence);
return offset;
}
static const value_string ngap_DRBStatusDL_vals[] = {
{ 0, "dRBStatusDL12" },
{ 1, "dRBStatusDL18" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t DRBStatusDL_choice[] = {
{ 0, &hf_ngap_dRBStatusDL12 , ASN1_NO_EXTENSIONS , dissect_ngap_DRBStatusDL12 },
{ 1, &hf_ngap_dRBStatusDL18 , ASN1_NO_EXTENSIONS , dissect_ngap_DRBStatusDL18 },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_DRBStatusDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_DRBStatusDL, DRBStatusDL_choice,
NULL);
return offset;
}
static const per_sequence_t DRBsSubjectToStatusTransferItem_sequence[] = {
{ &hf_ngap_dRB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRB_ID },
{ &hf_ngap_dRBStatusUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRBStatusUL },
{ &hf_ngap_dRBStatusDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRBStatusDL },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DRBsSubjectToStatusTransferItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DRBsSubjectToStatusTransferItem, DRBsSubjectToStatusTransferItem_sequence);
return offset;
}
static const per_sequence_t DRBsSubjectToStatusTransferList_sequence_of[1] = {
{ &hf_ngap_DRBsSubjectToStatusTransferList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_DRBsSubjectToStatusTransferItem },
};
static int
dissect_ngap_DRBsSubjectToStatusTransferList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_DRBsSubjectToStatusTransferList, DRBsSubjectToStatusTransferList_sequence_of,
1, maxnoofDRBs, FALSE);
return offset;
}
static const per_sequence_t DRBsToQosFlowsMappingItem_sequence[] = {
{ &hf_ngap_dRB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRB_ID },
{ &hf_ngap_associatedQosFlowList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AssociatedQosFlowList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DRBsToQosFlowsMappingItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DRBsToQosFlowsMappingItem, DRBsToQosFlowsMappingItem_sequence);
return offset;
}
static const per_sequence_t DRBsToQosFlowsMappingList_sequence_of[1] = {
{ &hf_ngap_DRBsToQosFlowsMappingList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_DRBsToQosFlowsMappingItem },
};
static int
dissect_ngap_DRBsToQosFlowsMappingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_DRBsToQosFlowsMappingList, DRBsToQosFlowsMappingList_sequence_of,
1, maxnoofDRBs, FALSE);
return offset;
}
static int
dissect_ngap_PriorityLevelQos(tvbuff_t *tvb _U_, int offset _U_, 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, 127U, NULL, TRUE);
return offset;
}
static int
dissect_ngap_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 int
dissect_ngap_MaximumDataBurstVolume(tvbuff_t *tvb _U_, int offset _U_, asn1_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 Dynamic5QIDescriptor_sequence[] = {
{ &hf_ngap_priorityLevelQos, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PriorityLevelQos },
{ &hf_ngap_packetDelayBudget, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PacketDelayBudget },
{ &hf_ngap_packetErrorRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PacketErrorRate },
{ &hf_ngap_fiveQI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_FiveQI },
{ &hf_ngap_delayCritical , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DelayCritical },
{ &hf_ngap_averagingWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AveragingWindow },
{ &hf_ngap_maximumDataBurstVolume, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_MaximumDataBurstVolume },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_Dynamic5QIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_Dynamic5QIDescriptor, Dynamic5QIDescriptor_sequence);
return offset;
}
static const per_sequence_t DRBsSubjectToEarlyStatusTransfer_Item_sequence[] = {
{ &hf_ngap_dRB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRB_ID },
{ &hf_ngap_firstDLCOUNT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRBStatusDL },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DRBsSubjectToEarlyStatusTransfer_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_ngap_DRBsSubjectToEarlyStatusTransfer_Item, DRBsSubjectToEarlyStatusTransfer_Item_sequence);
return offset;
}
static const per_sequence_t DRBsSubjectToEarlyStatusTransfer_List_sequence_of[1] = {
{ &hf_ngap_DRBsSubjectToEarlyStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_DRBsSubjectToEarlyStatusTransfer_Item },
};
static int
dissect_ngap_DRBsSubjectToEarlyStatusTransfer_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_ngap_DRBsSubjectToEarlyStatusTransfer_List, DRBsSubjectToEarlyStatusTransfer_List_sequence_of,
1, maxnoofDRBs, FALSE);
return offset;
}
static const per_sequence_t FirstDLCount_sequence[] = {
{ &hf_ngap_dRBsSubjectToEarlyStatusTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRBsSubjectToEarlyStatusTransfer_List },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_FirstDLCount, FirstDLCount_sequence);
return offset;
}
static const value_string ngap_ProcedureStageChoice_vals[] = {
{ 0, "first-dl-count" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t ProcedureStageChoice_choice[] = {
{ 0, &hf_ngap_first_dl_count , ASN1_NO_EXTENSIONS , dissect_ngap_FirstDLCount },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_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_ngap_ProcedureStageChoice, ProcedureStageChoice_choice,
NULL);
return offset;
}
static const per_sequence_t EarlyStatusTransfer_TransparentContainer_sequence[] = {
{ &hf_ngap_procedureStage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProcedureStageChoice },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_EarlyStatusTransfer_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_EarlyStatusTransfer_TransparentContainer, EarlyStatusTransfer_TransparentContainer_sequence);
return offset;
}
static const value_string ngap_EDT_Session_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_EDT_Session(tvbuff_t *tvb _U_, int offset _U_, asn1_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 EmergencyAreaIDList_sequence_of[1] = {
{ &hf_ngap_EmergencyAreaIDList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyAreaID },
};
static int
dissect_ngap_EmergencyAreaIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_EmergencyAreaIDList, EmergencyAreaIDList_sequence_of,
1, maxnoofEmergencyAreaID, FALSE);
return offset;
}
static const per_sequence_t EmergencyAreaIDListForRestart_sequence_of[1] = {
{ &hf_ngap_EmergencyAreaIDListForRestart_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyAreaID },
};
static int
dissect_ngap_EmergencyAreaIDListForRestart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_EmergencyAreaIDListForRestart, EmergencyAreaIDListForRestart_sequence_of,
1, maxnoofEAIforRestart, FALSE);
return offset;
}
static const value_string ngap_EmergencyFallbackRequestIndicator_vals[] = {
{ 0, "emergency-fallback-requested" },
{ 0, NULL }
};
static int
dissect_ngap_EmergencyFallbackRequestIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_EmergencyServiceTargetCN_vals[] = {
{ 0, "fiveGC" },
{ 1, "epc" },
{ 0, NULL }
};
static int
dissect_ngap_EmergencyServiceTargetCN(tvbuff_t *tvb _U_, int offset _U_, asn1_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 EmergencyFallbackIndicator_sequence[] = {
{ &hf_ngap_emergencyFallbackRequestIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EmergencyFallbackRequestIndicator },
{ &hf_ngap_emergencyServiceTargetCN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_EmergencyServiceTargetCN },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_EmergencyFallbackIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_EmergencyFallbackIndicator, EmergencyFallbackIndicator_sequence);
return offset;
}
static int
dissect_ngap_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 const value_string ngap_ENB_ID_vals[] = {
{ 0, "macroENB-ID" },
{ 1, "homeENB-ID" },
{ 2, "short-macroENB-ID" },
{ 3, "long-macroENB-ID" },
{ 4, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t ENB_ID_choice[] = {
{ 0, &hf_ngap_macroENB_ID , ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_20 },
{ 1, &hf_ngap_homeENB_ID , ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_28 },
{ 2, &hf_ngap_short_macroENB_ID, ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_18 },
{ 3, &hf_ngap_long_macroENB_ID, ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_21 },
{ 4, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_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_ngap_ENB_ID, ENB_ID_choice,
NULL);
return offset;
}
static const value_string ngap_Enhanced_CoverageRestriction_vals[] = {
{ 0, "restricted" },
{ 0, NULL }
};
static int
dissect_ngap_Enhanced_CoverageRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_Extended_ConnectedTime(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_EN_DCSONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 936 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_EN_DCSONConfigurationTransfer);
dissect_s1ap_EN_DCSONConfigurationTransfer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
}
return offset;
}
static int
dissect_ngap_PortNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 650 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &parameter_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 EndpointIPAddressAndPort_sequence[] = {
{ &hf_ngap_endpointIPAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TransportLayerAddress },
{ &hf_ngap_portNumber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PortNumber },
{ &hf_ngap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_EndpointIPAddressAndPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_EndpointIPAddressAndPort, EndpointIPAddressAndPort_sequence);
return offset;
}
static const value_string ngap_EndIndication_vals[] = {
{ 0, "no-further-data" },
{ 1, "further-data-exists" },
{ 0, NULL }
};
static int
dissect_ngap_EndIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_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 EquivalentPLMNs_sequence_of[1] = {
{ &hf_ngap_EquivalentPLMNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
};
static int
dissect_ngap_EquivalentPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_EquivalentPLMNs, EquivalentPLMNs_sequence_of,
1, maxnoofEPLMNs, FALSE);
return offset;
}
static int
dissect_ngap_EPS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 442 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &parameter_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 EPS_TAI_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_ePS_TAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EPS_TAC },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_EPS_TAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 435 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->number_type = E212_TAI;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_EPS_TAI, EPS_TAI_sequence);
return offset;
}
static const per_sequence_t E_RABInformationItem_sequence[] = {
{ &hf_ngap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_E_RAB_ID },
{ &hf_ngap_dLForwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DLForwarding },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_E_RABInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_E_RABInformationItem, E_RABInformationItem_sequence);
return offset;
}
static const per_sequence_t E_RABInformationList_sequence_of[1] = {
{ &hf_ngap_E_RABInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_E_RABInformationItem },
};
static int
dissect_ngap_E_RABInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_E_RABInformationList, E_RABInformationList_sequence_of,
1, maxnoofE_RABs, FALSE);
return offset;
}
static const per_sequence_t EUTRA_CGIListForWarning_sequence_of[1] = {
{ &hf_ngap_EUTRA_CGIListForWarning_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
};
static int
dissect_ngap_EUTRA_CGIListForWarning(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_EUTRA_CGIListForWarning, EUTRA_CGIListForWarning_sequence_of,
1, maxnoofCellIDforWarning, FALSE);
return offset;
}
static int
dissect_ngap_EUTRAencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 839 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, TRUE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_EUTRAencryptionAlgorithms_eea1,
&hf_ngap_EUTRAencryptionAlgorithms_eea2,
&hf_ngap_EUTRAencryptionAlgorithms_eea3,
&hf_ngap_EUTRAencryptionAlgorithms_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_EUTRAencryptionAlgorithms);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static int
dissect_ngap_EUTRAintegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 854 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, TRUE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_EUTRAintegrityProtectionAlgorithms_eia1,
&hf_ngap_EUTRAintegrityProtectionAlgorithms_eia2,
&hf_ngap_EUTRAintegrityProtectionAlgorithms_eia3,
&hf_ngap_EUTRAintegrityProtectionAlgorithms_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_EUTRAintegrityProtectionAlgorithms);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static const value_string ngap_EventType_vals[] = {
{ 0, "direct" },
{ 1, "change-of-serve-cell" },
{ 2, "ue-presence-in-area-of-interest" },
{ 3, "stop-change-of-serve-cell" },
{ 4, "stop-ue-presence-in-area-of-interest" },
{ 5, "cancel-location-reporting-for-the-ue" },
{ 0, NULL }
};
static int
dissect_ngap_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,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t Extended_AMFName_sequence[] = {
{ &hf_ngap_aMFNameVisibleString, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AMFNameVisibleString },
{ &hf_ngap_aMFNameUTF8String, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AMFNameUTF8String },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_Extended_AMFName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_Extended_AMFName, Extended_AMFName_sequence);
return offset;
}
static int
dissect_ngap_ExtendedPacketDelayBudget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 65535U, NULL, TRUE);
return offset;
}
static int
dissect_ngap_RANNodeNameVisibleString(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,
1, 150, TRUE);
return offset;
}
static int
dissect_ngap_RANNodeNameUTF8String(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_UTF8String(tvb, offset, actx, tree, hf_index,
1, 150, TRUE);
return offset;
}
static const per_sequence_t Extended_RANNodeName_sequence[] = {
{ &hf_ngap_rANNodeNameVisibleString, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_RANNodeNameVisibleString },
{ &hf_ngap_rANNodeNameUTF8String, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_RANNodeNameUTF8String },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_Extended_RANNodeName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_Extended_RANNodeName, Extended_RANNodeName_sequence);
return offset;
}
static int
dissect_ngap_T_primaryRATRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1026 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, TRUE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_primaryRATRestriction_e_UTRA,
&hf_ngap_primaryRATRestriction_nR,
&hf_ngap_primaryRATRestriction_nR_unlicensed,
&hf_ngap_primaryRATRestriction_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_primaryRATRestriction);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static int
dissect_ngap_T_secondaryRATRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1041 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, TRUE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_secondaryRATRestriction_e_UTRA,
&hf_ngap_secondaryRATRestriction_nR,
&hf_ngap_secondaryRATRestriction_e_UTRA_unlicensed,
&hf_ngap_secondaryRATRestriction_nR_unlicensed,
&hf_ngap_secondaryRATRestriction_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_secondaryRATRestriction);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static const per_sequence_t ExtendedRATRestrictionInformation_sequence[] = {
{ &hf_ngap_primaryRATRestriction, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_primaryRATRestriction },
{ &hf_ngap_secondaryRATRestriction, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_secondaryRATRestriction },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_ExtendedRATRestrictionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_ExtendedRATRestrictionInformation, ExtendedRATRestrictionInformation_sequence);
return offset;
}
static int
dissect_ngap_ExtendedRNC_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,
4096U, 65535U, NULL, FALSE);
return offset;
}
static const per_sequence_t ExtendedSliceSupportList_sequence_of[1] = {
{ &hf_ngap_ExtendedSliceSupportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_SliceSupportItem },
};
static int
dissect_ngap_ExtendedSliceSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_ExtendedSliceSupportList, ExtendedSliceSupportList_sequence_of,
1, maxnoofExtSliceItems, FALSE);
return offset;
}
static int
dissect_ngap_ExtendedUEIdentityIndexValue(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 ngap_T_outOfCoverage_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_T_outOfCoverage(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_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, 127U, NULL, FALSE);
return offset;
}
static int
dissect_ngap_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, 127U, NULL, FALSE);
return offset;
}
static const value_string ngap_MeasurementThresholdL1LoggedMDT_vals[] = {
{ 0, "threshold-RSRP" },
{ 1, "threshold-RSRQ" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t MeasurementThresholdL1LoggedMDT_choice[] = {
{ 0, &hf_ngap_threshold_RSRP , ASN1_NO_EXTENSIONS , dissect_ngap_Threshold_RSRP },
{ 1, &hf_ngap_threshold_RSRQ , ASN1_NO_EXTENSIONS , dissect_ngap_Threshold_RSRQ },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_MeasurementThresholdL1LoggedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_MeasurementThresholdL1LoggedMDT, MeasurementThresholdL1LoggedMDT_choice,
NULL);
return offset;
}
static int
dissect_ngap_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 30U, NULL, FALSE);
return offset;
}
static const value_string ngap_TimeToTrigger_vals[] = {
{ 0, "ms0" },
{ 1, "ms40" },
{ 2, "ms64" },
{ 3, "ms80" },
{ 4, "ms100" },
{ 5, "ms128" },
{ 6, "ms160" },
{ 7, "ms256" },
{ 8, "ms320" },
{ 9, "ms480" },
{ 10, "ms512" },
{ 11, "ms640" },
{ 12, "ms1024" },
{ 13, "ms1280" },
{ 14, "ms2560" },
{ 15, "ms5120" },
{ 0, NULL }
};
static int
dissect_ngap_TimeToTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
16, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t EventL1LoggedMDTConfig_sequence[] = {
{ &hf_ngap_l1Threshold , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_MeasurementThresholdL1LoggedMDT },
{ &hf_ngap_hysteresis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Hysteresis },
{ &hf_ngap_timeToTrigger , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TimeToTrigger },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_EventL1LoggedMDTConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_EventL1LoggedMDTConfig, EventL1LoggedMDTConfig_sequence);
return offset;
}
static const value_string ngap_EventTrigger_vals[] = {
{ 0, "outOfCoverage" },
{ 1, "eventL1LoggedMDTConfig" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t EventTrigger_choice[] = {
{ 0, &hf_ngap_outOfCoverage , ASN1_NO_EXTENSIONS , dissect_ngap_T_outOfCoverage },
{ 1, &hf_ngap_eventL1LoggedMDTConfig, ASN1_NO_EXTENSIONS , dissect_ngap_EventL1LoggedMDTConfig },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_EventTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_EventTrigger, EventTrigger_choice,
NULL);
return offset;
}
static int
dissect_ngap_NRUERLFReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1127 "./asn1/ngap/ngap.cnf"
tvbuff_t *nr_ue_rlc_report_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &nr_ue_rlc_report_tvb);
if (nr_ue_rlc_report_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NRUERLFReportContainer);
dissect_nr_rrc_nr_RLF_Report_r16_PDU(nr_ue_rlc_report_tvb, actx->pinfo, subtree, NULL);
}
return offset;
}
static int
dissect_ngap_LTEUERLFReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1119 "./asn1/ngap/ngap.cnf"
tvbuff_t *lte_ue_rlf_report_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &lte_ue_rlf_report_tvb);
if (lte_ue_rlf_report_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_LTEUERLFReportContainer);
dissect_lte_rrc_RLF_Report_r9_PDU(lte_ue_rlf_report_tvb, actx->pinfo, subtree, NULL);
}
return offset;
}
static const value_string ngap_UERLFReportContainer_vals[] = {
{ 0, "nR" },
{ 1, "lTE" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t UERLFReportContainer_choice[] = {
{ 0, &hf_ngap_nR_01 , ASN1_NO_EXTENSIONS , dissect_ngap_NRUERLFReportContainer },
{ 1, &hf_ngap_lTE , ASN1_NO_EXTENSIONS , dissect_ngap_LTEUERLFReportContainer },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_UERLFReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_UERLFReportContainer, UERLFReportContainer_choice,
NULL);
return offset;
}
static const per_sequence_t FailureIndication_sequence[] = {
{ &hf_ngap_uERLFReportContainer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UERLFReportContainer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_FailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_FailureIndication, FailureIndication_sequence);
return offset;
}
static int
dissect_ngap_FiveG_TMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1157 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
proto_item *ti;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
4, 4, FALSE, &parameter_tvb);
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
ti = proto_tree_add_item(tree, hf_3gpp_tmsi, tvb, 0, 4, ENC_BIG_ENDIAN);
proto_item_set_hidden(ti);
}
return offset;
}
static const per_sequence_t FiveG_S_TMSI_sequence[] = {
{ &hf_ngap_aMFSetID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AMFSetID },
{ &hf_ngap_aMFPointer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AMFPointer },
{ &hf_ngap_fiveG_TMSI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_FiveG_TMSI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_FiveG_S_TMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_FiveG_S_TMSI, FiveG_S_TMSI_sequence);
return offset;
}
static const per_sequence_t ForbiddenTACs_sequence_of[1] = {
{ &hf_ngap_ForbiddenTACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAC },
};
static int
dissect_ngap_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_ngap_ForbiddenTACs, ForbiddenTACs_sequence_of,
1, maxnoofForbTACs, FALSE);
return offset;
}
static const per_sequence_t ForbiddenAreaInformation_Item_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_forbiddenTACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ForbiddenTACs },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_ForbiddenAreaInformation_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_ngap_ForbiddenAreaInformation_Item, ForbiddenAreaInformation_Item_sequence);
return offset;
}
static const per_sequence_t ForbiddenAreaInformation_sequence_of[1] = {
{ &hf_ngap_ForbiddenAreaInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ForbiddenAreaInformation_Item },
};
static int
dissect_ngap_ForbiddenAreaInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_ForbiddenAreaInformation, ForbiddenAreaInformation_sequence_of,
1, maxnoofEPLMNsPlusOne, FALSE);
return offset;
}
static const per_sequence_t GlobalENB_ID_sequence[] = {
{ &hf_ngap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ENB_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_GlobalENB_ID, GlobalENB_ID_sequence);
return offset;
}
static const per_sequence_t IntersystemSONeNBID_sequence[] = {
{ &hf_ngap_globaleNBID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GlobalENB_ID },
{ &hf_ngap_selectedEPSTAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EPS_TAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_IntersystemSONeNBID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_IntersystemSONeNBID, IntersystemSONeNBID_sequence);
return offset;
}
static const per_sequence_t IntersystemSONNGRANnodeID_sequence[] = {
{ &hf_ngap_globalRANNodeID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GlobalRANNodeID },
{ &hf_ngap_selectedTAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_IntersystemSONNGRANnodeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_IntersystemSONNGRANnodeID, IntersystemSONNGRANnodeID_sequence);
return offset;
}
static const per_sequence_t FromEUTRANtoNGRAN_sequence[] = {
{ &hf_ngap_sourceeNBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_IntersystemSONeNBID },
{ &hf_ngap_targetNGRANnodeID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_IntersystemSONNGRANnodeID },
{ &hf_ngap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_FromEUTRANtoNGRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_FromEUTRANtoNGRAN, FromEUTRANtoNGRAN_sequence);
return offset;
}
static const per_sequence_t FromNGRANtoEUTRAN_sequence[] = {
{ &hf_ngap_sourceNGRANnodeID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_IntersystemSONNGRANnodeID },
{ &hf_ngap_targeteNBID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_IntersystemSONeNBID },
{ &hf_ngap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_FromNGRANtoEUTRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_FromNGRANtoEUTRAN, FromNGRANtoEUTRAN_sequence);
return offset;
}
static const value_string ngap_NotificationControl_vals[] = {
{ 0, "notification-requested" },
{ 0, NULL }
};
static int
dissect_ngap_NotificationControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ngap_PacketLossRate(tvbuff_t *tvb _U_, int offset _U_, asn1_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, TRUE);
return offset;
}
static const per_sequence_t GBR_QosInformation_sequence[] = {
{ &hf_ngap_maximumFlowBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_maximumFlowBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_guaranteedFlowBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_guaranteedFlowBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_notificationControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_NotificationControl },
{ &hf_ngap_maximumPacketLossRateDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PacketLossRate },
{ &hf_ngap_maximumPacketLossRateUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PacketLossRate },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_GBR_QosInformation, GBR_QosInformation_sequence);
return offset;
}
static int
dissect_ngap_GlobalCable_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1167 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_GlobalCable_ID);
proto_tree_add_item(subtree, hf_ngap_GlobalCable_ID_str, parameter_tvb, 0, -1, ENC_UTF_8 | ENC_NA);
}
return offset;
}
static int
dissect_ngap_GlobalLineIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, NULL);
return offset;
}
static const value_string ngap_LineType_vals[] = {
{ 0, "dsl" },
{ 1, "pon" },
{ 0, NULL }
};
static int
dissect_ngap_LineType(tvbuff_t *tvb _U_, int offset _U_, asn1_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 GlobalLine_ID_sequence[] = {
{ &hf_ngap_globalLineIdentity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GlobalLineIdentity },
{ &hf_ngap_lineType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_LineType },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_GlobalLine_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_ngap_GlobalLine_ID, GlobalLine_ID_sequence);
return offset;
}
static int
dissect_ngap_BIT_STRING_SIZE_32_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
32, 32, TRUE, NULL, 0, NULL, NULL);
return offset;
}
static const value_string ngap_TNGF_ID_vals[] = {
{ 0, "tNGF-ID" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t TNGF_ID_choice[] = {
{ 0, &hf_ngap_tNGF_ID , ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_32_ },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_TNGF_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_ngap_TNGF_ID, TNGF_ID_choice,
NULL);
return offset;
}
static const per_sequence_t GlobalTNGF_ID_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_globalTNGF_ID_tNGF_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TNGF_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_GlobalTNGF_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_ngap_GlobalTNGF_ID, GlobalTNGF_ID_sequence);
return offset;
}
static const value_string ngap_TWIF_ID_vals[] = {
{ 0, "tWIF-ID" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t TWIF_ID_choice[] = {
{ 0, &hf_ngap_tWIF_ID , ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_32_ },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_TWIF_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_ngap_TWIF_ID, TWIF_ID_choice,
NULL);
return offset;
}
static const per_sequence_t GlobalTWIF_ID_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_globalTWIF_ID_tWIF_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TWIF_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_GlobalTWIF_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_ngap_GlobalTWIF_ID, GlobalTWIF_ID_sequence);
return offset;
}
static int
dissect_ngap_BIT_STRING_SIZE_16_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, TRUE, NULL, 0, NULL, NULL);
return offset;
}
static const value_string ngap_W_AGF_ID_vals[] = {
{ 0, "w-AGF-ID" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t W_AGF_ID_choice[] = {
{ 0, &hf_ngap_w_AGF_ID , ASN1_NO_EXTENSIONS , dissect_ngap_BIT_STRING_SIZE_16_ },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_W_AGF_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_ngap_W_AGF_ID, W_AGF_ID_choice,
NULL);
return offset;
}
static const per_sequence_t GlobalW_AGF_ID_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_globalW_AGF_ID_w_AGF_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_W_AGF_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_GlobalW_AGF_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_ngap_GlobalW_AGF_ID, GlobalW_AGF_ID_sequence);
return offset;
}
static const per_sequence_t GUAMI_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_aMFRegionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AMFRegionID },
{ &hf_ngap_aMFSetID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AMFSetID },
{ &hf_ngap_aMFPointer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AMFPointer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_GUAMI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 507 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->number_type = E212_GUAMI;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_GUAMI, GUAMI_sequence);
return offset;
}
static const value_string ngap_GUAMIType_vals[] = {
{ 0, "native" },
{ 1, "mapped" },
{ 0, NULL }
};
static int
dissect_ngap_GUAMIType(tvbuff_t *tvb _U_, int offset _U_, asn1_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 QosFlowToBeForwardedItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowToBeForwardedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowToBeForwardedItem, QosFlowToBeForwardedItem_sequence);
return offset;
}
static const per_sequence_t QosFlowToBeForwardedList_sequence_of[1] = {
{ &hf_ngap_QosFlowToBeForwardedList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowToBeForwardedItem },
};
static int
dissect_ngap_QosFlowToBeForwardedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowToBeForwardedList, QosFlowToBeForwardedList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const per_sequence_t HandoverCommandTransfer_sequence[] = {
{ &hf_ngap_dLForwardingUP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_qosFlowToBeForwardedList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowToBeForwardedList },
{ &hf_ngap_dataForwardingResponseDRBList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DataForwardingResponseDRBList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverCommandTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverCommandTransfer, HandoverCommandTransfer_sequence);
return offset;
}
static const value_string ngap_HandoverFlag_vals[] = {
{ 0, "handover-preparation" },
{ 0, NULL }
};
static int
dissect_ngap_HandoverFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_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 HandoverPreparationUnsuccessfulTransfer_sequence[] = {
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverPreparationUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverPreparationUnsuccessfulTransfer, HandoverPreparationUnsuccessfulTransfer_sequence);
return offset;
}
static const value_string ngap_IntegrityProtectionResult_vals[] = {
{ 0, "performed" },
{ 1, "not-performed" },
{ 0, NULL }
};
static int
dissect_ngap_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 const per_sequence_t SecurityResult_sequence[] = {
{ &hf_ngap_integrityProtectionResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_IntegrityProtectionResult },
{ &hf_ngap_confidentialityProtectionResult, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ConfidentialityProtectionResult },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_SecurityResult, SecurityResult_sequence);
return offset;
}
static const per_sequence_t QosFlowWithCauseItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowWithCauseItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowWithCauseItem, QosFlowWithCauseItem_sequence);
return offset;
}
static const per_sequence_t QosFlowListWithCause_sequence_of[1] = {
{ &hf_ngap_QosFlowListWithCause_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowWithCauseItem },
};
static int
dissect_ngap_QosFlowListWithCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowListWithCause, QosFlowListWithCause_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const per_sequence_t HandoverRequestAcknowledgeTransfer_sequence[] = {
{ &hf_ngap_dL_NGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_dLForwardingUP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_securityResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_SecurityResult },
{ &hf_ngap_qosFlowSetupResponseList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowListWithDataForwarding },
{ &hf_ngap_qosFlowFailedToSetupList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowListWithCause },
{ &hf_ngap_dataForwardingResponseDRBList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DataForwardingResponseDRBList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverRequestAcknowledgeTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverRequestAcknowledgeTransfer, HandoverRequestAcknowledgeTransfer_sequence);
return offset;
}
static const per_sequence_t HandoverRequiredTransfer_sequence[] = {
{ &hf_ngap_directForwardingPathAvailability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DirectForwardingPathAvailability },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverRequiredTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverRequiredTransfer, HandoverRequiredTransfer_sequence);
return offset;
}
static const per_sequence_t HandoverResourceAllocationUnsuccessfulTransfer_sequence[] = {
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_criticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_CriticalityDiagnostics },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverResourceAllocationUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverResourceAllocationUnsuccessfulTransfer, HandoverResourceAllocationUnsuccessfulTransfer_sequence);
return offset;
}
static const value_string ngap_HandoverType_vals[] = {
{ intra5gs, "intra5gs" },
{ fivegs_to_eps, "fivegs-to-eps" },
{ eps_to_5gs, "eps-to-5gs" },
{ fivegs_to_utran, "fivegs-to-utran" },
{ 0, NULL }
};
static int
dissect_ngap_HandoverType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 282 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, &ngap_data->handover_type_value, TRUE, 1, NULL);
return offset;
}
static int
dissect_ngap_HFCNode_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,
NO_BOUND, NO_BOUND, FALSE, NULL);
return offset;
}
static const value_string ngap_T_handoverReportType_vals[] = {
{ 0, "ho-too-early" },
{ 1, "ho-to-wrong-cell" },
{ 2, "intersystem-ping-pong" },
{ 0, NULL }
};
static int
dissect_ngap_T_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,
3, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ngap_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,
16, 16, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t HOReport_sequence[] = {
{ &hf_ngap_handoverReportType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_handoverReportType },
{ &hf_ngap_handoverCause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_sourcecellCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
{ &hf_ngap_targetcellCGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
{ &hf_ngap_reestablishmentcellCGI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_NGRAN_CGI },
{ &hf_ngap_sourcecellC_RNTI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BIT_STRING_SIZE_16 },
{ &hf_ngap_targetcellinE_UTRAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_EUTRA_CGI },
{ &hf_ngap_mobilityInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_MobilityInformation },
{ &hf_ngap_uERLFReportContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UERLFReportContainer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HOReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HOReport, HOReport_sequence);
return offset;
}
static const value_string ngap_IAB_Authorized_vals[] = {
{ 0, "authorized" },
{ 1, "not-authorized" },
{ 0, NULL }
};
static int
dissect_ngap_IAB_Authorized(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_IAB_Supported_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_IAB_Supported(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_IABNodeIndication_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_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 ngap_IMSVoiceSupportIndicator_vals[] = {
{ 0, "supported" },
{ 1, "not-supported" },
{ 0, NULL }
};
static int
dissect_ngap_IMSVoiceSupportIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_IndexToRFSP(tvbuff_t *tvb _U_, int offset _U_, 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 per_sequence_t RecommendedRANNodeItem_sequence[] = {
{ &hf_ngap_aMFPagingTarget, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AMFPagingTarget },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RecommendedRANNodeItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RecommendedRANNodeItem, RecommendedRANNodeItem_sequence);
return offset;
}
static const per_sequence_t RecommendedRANNodeList_sequence_of[1] = {
{ &hf_ngap_RecommendedRANNodeList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_RecommendedRANNodeItem },
};
static int
dissect_ngap_RecommendedRANNodeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_RecommendedRANNodeList, RecommendedRANNodeList_sequence_of,
1, maxnoofRecommendedRANNodes, FALSE);
return offset;
}
static const per_sequence_t RecommendedRANNodesForPaging_sequence[] = {
{ &hf_ngap_recommendedRANNodeList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RecommendedRANNodeList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RecommendedRANNodesForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RecommendedRANNodesForPaging, RecommendedRANNodesForPaging_sequence);
return offset;
}
static const per_sequence_t InfoOnRecommendedCellsAndRANNodesForPaging_sequence[] = {
{ &hf_ngap_recommendedCellsForPaging, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RecommendedCellsForPaging },
{ &hf_ngap_recommendRANNodesForPaging, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RecommendedRANNodesForPaging },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_InfoOnRecommendedCellsAndRANNodesForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_InfoOnRecommendedCellsAndRANNodesForPaging, InfoOnRecommendedCellsAndRANNodesForPaging_sequence);
return offset;
}
static const value_string ngap_IntegrityProtectionIndication_vals[] = {
{ 0, "required" },
{ 1, "preferred" },
{ 2, "not-needed" },
{ 0, NULL }
};
static int
dissect_ngap_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 int
dissect_ngap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 630 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_InterfacesToTrace_NG_C,
&hf_ngap_InterfacesToTrace_Xn_C,
&hf_ngap_InterfacesToTrace_Uu,
&hf_ngap_InterfacesToTrace_F1_C,
&hf_ngap_InterfacesToTrace_E1,
&hf_ngap_InterfacesToTrace_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_InterfacesToTrace);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static int
dissect_ngap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1079 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_MeasurementsToActivate_M1,
&hf_ngap_MeasurementsToActivate_M2,
&hf_ngap_MeasurementsToActivate_M4,
&hf_ngap_MeasurementsToActivate_M5,
&hf_ngap_MeasurementsToActivate_M6,
&hf_ngap_MeasurementsToActivate_M7,
&hf_ngap_MeasurementsToActivate_M1_from_event,
&hf_ngap_MeasurementsToActivate_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_MeasurementsToActivate);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static const value_string ngap_M1ReportingTrigger_vals[] = {
{ 0, "periodic" },
{ 1, "a2eventtriggered" },
{ 2, "a2eventtriggered-periodic" },
{ 0, NULL }
};
static int
dissect_ngap_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,
3, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ngap_Threshold_SINR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 127U, NULL, FALSE);
return offset;
}
static const value_string ngap_M1ThresholdType_vals[] = {
{ 0, "threshold-RSRP" },
{ 1, "threshold-RSRQ" },
{ 2, "threshold-SINR" },
{ 3, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t M1ThresholdType_choice[] = {
{ 0, &hf_ngap_threshold_RSRP , ASN1_NO_EXTENSIONS , dissect_ngap_Threshold_RSRP },
{ 1, &hf_ngap_threshold_RSRQ , ASN1_NO_EXTENSIONS , dissect_ngap_Threshold_RSRQ },
{ 2, &hf_ngap_threshold_SINR , ASN1_NO_EXTENSIONS , dissect_ngap_Threshold_SINR },
{ 3, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_M1ThresholdType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_M1ThresholdType, M1ThresholdType_choice,
NULL);
return offset;
}
static const per_sequence_t M1ThresholdEventA2_sequence[] = {
{ &hf_ngap_m1ThresholdType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_M1ThresholdType },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_M1ThresholdEventA2, M1ThresholdEventA2_sequence);
return offset;
}
static const value_string ngap_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_ngap_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 ngap_ReportAmountMDT_vals[] = {
{ 0, "r1" },
{ 1, "r2" },
{ 2, "r4" },
{ 3, "r8" },
{ 4, "r16" },
{ 5, "r32" },
{ 6, "r64" },
{ 7, "rinfinity" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_reportInterval , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ReportIntervalMDT },
{ &hf_ngap_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ReportAmountMDT },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_M1PeriodicReporting, M1PeriodicReporting_sequence);
return offset;
}
static const per_sequence_t M1Configuration_sequence[] = {
{ &hf_ngap_m1reportingTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_M1ReportingTrigger },
{ &hf_ngap_m1thresholdEventA2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_M1ThresholdEventA2 },
{ &hf_ngap_m1periodicReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_M1PeriodicReporting },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_M1Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_M1Configuration, M1Configuration_sequence);
return offset;
}
static const value_string ngap_M4period_vals[] = {
{ 0, "ms1024" },
{ 1, "ms2048" },
{ 2, "ms5120" },
{ 3, "ms10240" },
{ 4, "min1" },
{ 0, NULL }
};
static int
dissect_ngap_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 value_string ngap_Links_to_log_vals[] = {
{ 0, "uplink" },
{ 1, "downlink" },
{ 2, "both-uplink-and-downlink" },
{ 0, NULL }
};
static int
dissect_ngap_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 M4Configuration_sequence[] = {
{ &hf_ngap_m4period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_M4period },
{ &hf_ngap_m4_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Links_to_log },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_M4Configuration, M4Configuration_sequence);
return offset;
}
static const value_string ngap_M5period_vals[] = {
{ 0, "ms1024" },
{ 1, "ms2048" },
{ 2, "ms5120" },
{ 3, "ms10240" },
{ 4, "min1" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_m5period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_M5period },
{ &hf_ngap_m5_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Links_to_log },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_M5Configuration, M5Configuration_sequence);
return offset;
}
static const value_string ngap_M6report_Interval_vals[] = {
{ 0, "ms120" },
{ 1, "ms240" },
{ 2, "ms480" },
{ 3, "ms640" },
{ 4, "ms1024" },
{ 5, "ms2048" },
{ 6, "ms5120" },
{ 7, "ms10240" },
{ 8, "ms20480" },
{ 9, "ms40960" },
{ 10, "min1" },
{ 11, "min6" },
{ 12, "min12" },
{ 13, "min30" },
{ 0, NULL }
};
static int
dissect_ngap_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,
14, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t M6Configuration_sequence[] = {
{ &hf_ngap_m6report_Interval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_M6report_Interval },
{ &hf_ngap_m6_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Links_to_log },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_M6Configuration, M6Configuration_sequence);
return offset;
}
static int
dissect_ngap_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_ngap_m7period , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_M7period },
{ &hf_ngap_m7_links_to_log, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Links_to_log },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_M7Configuration, M7Configuration_sequence);
return offset;
}
static const value_string ngap_WLANMeasConfig_vals[] = {
{ 0, "setup" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_WLANName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1149 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
1, 32, FALSE, &parameter_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 WLANMeasConfigNameItem_sequence[] = {
{ &hf_ngap_wLANName , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_WLANName },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_WLANMeasConfigNameItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_WLANMeasConfigNameItem, WLANMeasConfigNameItem_sequence);
return offset;
}
static const per_sequence_t WLANMeasConfigNameList_sequence_of[1] = {
{ &hf_ngap_WLANMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_WLANMeasConfigNameItem },
};
static int
dissect_ngap_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_ngap_WLANMeasConfigNameList, WLANMeasConfigNameList_sequence_of,
1, maxnoofWLANName, FALSE);
return offset;
}
static const value_string ngap_T_wlan_rssi_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_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 ngap_T_wlan_rtt_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_wlanMeasConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_WLANMeasConfig },
{ &hf_ngap_wlanMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_WLANMeasConfigNameList },
{ &hf_ngap_wlan_rssi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_T_wlan_rssi },
{ &hf_ngap_wlan_rtt , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_T_wlan_rtt },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_WLANMeasurementConfiguration, WLANMeasurementConfiguration_sequence);
return offset;
}
static int
dissect_ngap_MDT_Location_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1098 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_MDT_Location_Information_GNSS,
&hf_ngap_MDT_Location_Information_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_MDT_Location_Information);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static const per_sequence_t MDT_Location_Info_sequence[] = {
{ &hf_ngap_mDT_Location_Information, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_MDT_Location_Information },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_MDT_Location_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_ngap_MDT_Location_Info, MDT_Location_Info_sequence);
return offset;
}
static const value_string ngap_SensorMeasConfig_vals[] = {
{ 0, "setup" },
{ 0, NULL }
};
static int
dissect_ngap_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 ngap_T_uncompensatedBarometricConfig_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_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 ngap_T_ueSpeedConfig_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_T_ueSpeedConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_T_ueOrientationConfig_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_T_ueOrientationConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_SensorNameConfig_vals[] = {
{ 0, "uncompensatedBarometricConfig" },
{ 1, "ueSpeedConfig" },
{ 2, "ueOrientationConfig" },
{ 3, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t SensorNameConfig_choice[] = {
{ 0, &hf_ngap_uncompensatedBarometricConfig, ASN1_NO_EXTENSIONS , dissect_ngap_T_uncompensatedBarometricConfig },
{ 1, &hf_ngap_ueSpeedConfig , ASN1_NO_EXTENSIONS , dissect_ngap_T_ueSpeedConfig },
{ 2, &hf_ngap_ueOrientationConfig, ASN1_NO_EXTENSIONS , dissect_ngap_T_ueOrientationConfig },
{ 3, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_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_ngap_SensorNameConfig, SensorNameConfig_choice,
NULL);
return offset;
}
static const per_sequence_t SensorMeasConfigNameItem_sequence[] = {
{ &hf_ngap_sensorNameConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SensorNameConfig },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_SensorMeasConfigNameItem, SensorMeasConfigNameItem_sequence);
return offset;
}
static const per_sequence_t SensorMeasConfigNameList_sequence_of[1] = {
{ &hf_ngap_SensorMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_SensorMeasConfigNameItem },
};
static int
dissect_ngap_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_ngap_SensorMeasConfigNameList, SensorMeasConfigNameList_sequence_of,
1, maxnoofSensorName, FALSE);
return offset;
}
static const per_sequence_t SensorMeasurementConfiguration_sequence[] = {
{ &hf_ngap_sensorMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SensorMeasConfig },
{ &hf_ngap_sensorMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_SensorMeasConfigNameList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_SensorMeasurementConfiguration, SensorMeasurementConfiguration_sequence);
return offset;
}
static const per_sequence_t ImmediateMDTNr_sequence[] = {
{ &hf_ngap_measurementsToActivate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_MeasurementsToActivate },
{ &hf_ngap_m1Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_M1Configuration },
{ &hf_ngap_m4Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_M4Configuration },
{ &hf_ngap_m5Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_M5Configuration },
{ &hf_ngap_m6Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_M6Configuration },
{ &hf_ngap_m7Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_M7Configuration },
{ &hf_ngap_bluetoothMeasurementConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BluetoothMeasurementConfiguration },
{ &hf_ngap_wLANMeasurementConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_WLANMeasurementConfiguration },
{ &hf_ngap_mDT_Location_Info, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_MDT_Location_Info },
{ &hf_ngap_sensorMeasurementConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_SensorMeasurementConfiguration },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_ImmediateMDTNr(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_ImmediateMDTNr, ImmediateMDTNr_sequence);
return offset;
}
static const per_sequence_t InterSystemFailureIndication_sequence[] = {
{ &hf_ngap_uERLFReportContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UERLFReportContainer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_InterSystemFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_InterSystemFailureIndication, InterSystemFailureIndication_sequence);
return offset;
}
static const value_string ngap_IntersystemSONTransferType_vals[] = {
{ 0, "fromEUTRANtoNGRAN" },
{ 1, "fromNGRANtoEUTRAN" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t IntersystemSONTransferType_choice[] = {
{ 0, &hf_ngap_fromEUTRANtoNGRAN, ASN1_NO_EXTENSIONS , dissect_ngap_FromEUTRANtoNGRAN },
{ 1, &hf_ngap_fromNGRANtoEUTRAN, ASN1_NO_EXTENSIONS , dissect_ngap_FromNGRANtoEUTRAN },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_IntersystemSONTransferType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_IntersystemSONTransferType, IntersystemSONTransferType_choice,
NULL);
return offset;
}
static const per_sequence_t TooearlyIntersystemHO_sequence[] = {
{ &hf_ngap_sourcecellID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
{ &hf_ngap_failurecellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
{ &hf_ngap_uERLFReportContainer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UERLFReportContainer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TooearlyIntersystemHO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TooearlyIntersystemHO, TooearlyIntersystemHO_sequence);
return offset;
}
static const value_string ngap_T_earlyIRATHO_vals[] = {
{ 0, "true" },
{ 1, "false" },
{ 0, NULL }
};
static int
dissect_ngap_T_earlyIRATHO(tvbuff_t *tvb _U_, int offset _U_, asn1_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 IntersystemUnnecessaryHO_sequence[] = {
{ &hf_ngap_sourcecellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
{ &hf_ngap_targetcellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
{ &hf_ngap_earlyIRATHO , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_earlyIRATHO },
{ &hf_ngap_candidateCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CandidateCellList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_IntersystemUnnecessaryHO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_IntersystemUnnecessaryHO, IntersystemUnnecessaryHO_sequence);
return offset;
}
static const value_string ngap_InterSystemHandoverReportType_vals[] = {
{ 0, "tooearlyIntersystemHO" },
{ 1, "intersystemUnnecessaryHO" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t InterSystemHandoverReportType_choice[] = {
{ 0, &hf_ngap_tooearlyIntersystemHO, ASN1_NO_EXTENSIONS , dissect_ngap_TooearlyIntersystemHO },
{ 1, &hf_ngap_intersystemUnnecessaryHO, ASN1_NO_EXTENSIONS , dissect_ngap_IntersystemUnnecessaryHO },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_InterSystemHandoverReportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_InterSystemHandoverReportType, InterSystemHandoverReportType_choice,
NULL);
return offset;
}
static const per_sequence_t InterSystemHOReport_sequence[] = {
{ &hf_ngap_handoverReportType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_InterSystemHandoverReportType },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_InterSystemHOReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_InterSystemHOReport, InterSystemHOReport_sequence);
return offset;
}
static const value_string ngap_IntersystemSONInformationReport_vals[] = {
{ 0, "hOReportInformation" },
{ 1, "failureIndicationInformation" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t IntersystemSONInformationReport_choice[] = {
{ 0, &hf_ngap_hOReportInformation, ASN1_NO_EXTENSIONS , dissect_ngap_InterSystemHOReport },
{ 1, &hf_ngap_failureIndicationInformation, ASN1_NO_EXTENSIONS , dissect_ngap_InterSystemFailureIndication },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_IntersystemSONInformationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_IntersystemSONInformationReport, IntersystemSONInformationReport_choice,
NULL);
return offset;
}
static const value_string ngap_IntersystemSONInformation_vals[] = {
{ 0, "intersystemSONInformationReport" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t IntersystemSONInformation_choice[] = {
{ 0, &hf_ngap_intersystemSONInformationReport, ASN1_NO_EXTENSIONS , dissect_ngap_IntersystemSONInformationReport },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_IntersystemSONInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_IntersystemSONInformation, IntersystemSONInformation_choice,
NULL);
return offset;
}
static const per_sequence_t IntersystemSONConfigurationTransfer_sequence[] = {
{ &hf_ngap_transferType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_IntersystemSONTransferType },
{ &hf_ngap_intersystemSONInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_IntersystemSONInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_IntersystemSONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_IntersystemSONConfigurationTransfer, IntersystemSONConfigurationTransfer_sequence);
return offset;
}
static int
dissect_ngap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1064 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &parameter_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 LAI_sequence[] = {
{ &hf_ngap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_lAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_LAC },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_LAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1057 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->number_type = E212_LAI;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_LAI, LAI_sequence);
return offset;
}
static int
dissect_ngap_TimeUEStayedInCell(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_TimeUEStayedInCellEnhancedGranularity(tvbuff_t *tvb _U_, int offset _U_, asn1_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 per_sequence_t LastVisitedNGRANCellInformation_sequence[] = {
{ &hf_ngap_globalCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
{ &hf_ngap_cellType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CellType },
{ &hf_ngap_timeUEStayedInCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TimeUEStayedInCell },
{ &hf_ngap_timeUEStayedInCellEnhancedGranularity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TimeUEStayedInCellEnhancedGranularity },
{ &hf_ngap_hOCauseValue , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_LastVisitedNGRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_LastVisitedNGRANCellInformation, LastVisitedNGRANCellInformation_sequence);
return offset;
}
static int
dissect_ngap_LastVisitedEUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 872 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_LastVisitedEUTRANCellInformation);
dissect_s1ap_LastVisitedEUTRANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
}
return offset;
}
static int
dissect_ngap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 881 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_LastVisitedUTRANCellInformation);
dissect_ranap_LastVisitedUTRANCell_Item_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
}
return offset;
}
static int
dissect_ngap_LastVisitedGERANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 890 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_LastVisitedGERANCellInformation);
dissect_s1ap_LastVisitedGERANCellInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
}
return offset;
}
static const value_string ngap_LastVisitedCellInformation_vals[] = {
{ 0, "nGRANCell" },
{ 1, "eUTRANCell" },
{ 2, "uTRANCell" },
{ 3, "gERANCell" },
{ 4, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t LastVisitedCellInformation_choice[] = {
{ 0, &hf_ngap_nGRANCell , ASN1_NO_EXTENSIONS , dissect_ngap_LastVisitedNGRANCellInformation },
{ 1, &hf_ngap_eUTRANCell , ASN1_NO_EXTENSIONS , dissect_ngap_LastVisitedEUTRANCellInformation },
{ 2, &hf_ngap_uTRANCell , ASN1_NO_EXTENSIONS , dissect_ngap_LastVisitedUTRANCellInformation },
{ 3, &hf_ngap_gERANCell , ASN1_NO_EXTENSIONS , dissect_ngap_LastVisitedGERANCellInformation },
{ 4, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_LastVisitedCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_LastVisitedCellInformation, LastVisitedCellInformation_choice,
NULL);
return offset;
}
static const per_sequence_t LastVisitedCellItem_sequence[] = {
{ &hf_ngap_lastVisitedCellInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_LastVisitedCellInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_LastVisitedCellItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_LastVisitedCellItem, LastVisitedCellItem_sequence);
return offset;
}
static const value_string ngap_LocationReportingAdditionalInfo_vals[] = {
{ 0, "includePSCell" },
{ 0, NULL }
};
static int
dissect_ngap_LocationReportingAdditionalInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_ReportArea_vals[] = {
{ 0, "cell" },
{ 0, NULL }
};
static int
dissect_ngap_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 LocationReportingRequestType_sequence[] = {
{ &hf_ngap_eventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EventType },
{ &hf_ngap_reportArea , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ReportArea },
{ &hf_ngap_areaOfInterestList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AreaOfInterestList },
{ &hf_ngap_locationReportingReferenceIDToBeCancelled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_LocationReportingReferenceID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_LocationReportingRequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_LocationReportingRequestType, LocationReportingRequestType_sequence);
return offset;
}
static const value_string ngap_LoggingInterval_vals[] = {
{ 0, "ms320" },
{ 1, "ms640" },
{ 2, "ms1280" },
{ 3, "ms2560" },
{ 4, "ms5120" },
{ 5, "ms10240" },
{ 6, "ms20480" },
{ 7, "ms30720" },
{ 8, "ms40960" },
{ 9, "ms61440" },
{ 10, "infinity" },
{ 0, NULL }
};
static int
dissect_ngap_LoggingInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
11, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_LoggingDuration_vals[] = {
{ 0, "m10" },
{ 1, "m20" },
{ 2, "m40" },
{ 3, "m60" },
{ 4, "m90" },
{ 5, "m120" },
{ 0, NULL }
};
static int
dissect_ngap_LoggingDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_LoggedMDTTrigger_vals[] = {
{ 0, "periodical" },
{ 1, "eventTrigger" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t LoggedMDTTrigger_choice[] = {
{ 0, &hf_ngap_periodical , ASN1_NO_EXTENSIONS , dissect_ngap_NULL },
{ 1, &hf_ngap_eventTrigger , ASN1_NO_EXTENSIONS , dissect_ngap_EventTrigger },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_LoggedMDTTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_LoggedMDTTrigger, LoggedMDTTrigger_choice,
NULL);
return offset;
}
static const per_sequence_t LoggedMDTNr_sequence[] = {
{ &hf_ngap_loggingInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_LoggingInterval },
{ &hf_ngap_loggingDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_LoggingDuration },
{ &hf_ngap_loggedMDTTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_LoggedMDTTrigger },
{ &hf_ngap_bluetoothMeasurementConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BluetoothMeasurementConfiguration },
{ &hf_ngap_wLANMeasurementConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_WLANMeasurementConfiguration },
{ &hf_ngap_sensorMeasurementConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_SensorMeasurementConfiguration },
{ &hf_ngap_areaScopeOfNeighCellsList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AreaScopeOfNeighCellsList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_LoggedMDTNr(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_LoggedMDTNr, LoggedMDTNr_sequence);
return offset;
}
static const value_string ngap_LTEM_Indication_vals[] = {
{ 0, "lte-m" },
{ 0, NULL }
};
static int
dissect_ngap_LTEM_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 ngap_VehicleUE_vals[] = {
{ 0, "authorized" },
{ 1, "not-authorized" },
{ 0, NULL }
};
static int
dissect_ngap_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 ngap_PedestrianUE_vals[] = {
{ 0, "authorized" },
{ 1, "not-authorized" },
{ 0, NULL }
};
static int
dissect_ngap_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 LTEV2XServicesAuthorized_sequence[] = {
{ &hf_ngap_vehicleUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_VehicleUE },
{ &hf_ngap_pedestrianUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PedestrianUE },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_LTEV2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_LTEV2XServicesAuthorized, LTEV2XServicesAuthorized_sequence);
return offset;
}
static const per_sequence_t LTEUESidelinkAggregateMaximumBitrate_sequence[] = {
{ &hf_ngap_uESidelinkAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_LTEUESidelinkAggregateMaximumBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_LTEUESidelinkAggregateMaximumBitrate, LTEUESidelinkAggregateMaximumBitrate_sequence);
return offset;
}
static int
dissect_ngap_MaskedIMEISV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
64, 64, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static int
dissect_ngap_MessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 384 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
16, 16, FALSE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
}
return offset;
}
static const value_string ngap_MaximumIntegrityProtectedDataRate_vals[] = {
{ 0, "bitrate64kbs" },
{ 1, "maximum-UE-rate" },
{ 0, NULL }
};
static int
dissect_ngap_MaximumIntegrityProtectedDataRate(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_MicoAllPLMN_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_MicoAllPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_RATRestrictionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 794 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, TRUE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_RATRestrictionInformation_e_UTRA,
&hf_ngap_RATRestrictionInformation_nR,
&hf_ngap_RATRestrictionInformation_nR_unlicensed,
&hf_ngap_RATRestrictionInformation_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_RATRestrictionInformation);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static const per_sequence_t RATRestrictions_Item_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_rATRestrictionInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RATRestrictionInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RATRestrictions_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_ngap_RATRestrictions_Item, RATRestrictions_Item_sequence);
return offset;
}
static const per_sequence_t RATRestrictions_sequence_of[1] = {
{ &hf_ngap_RATRestrictions_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_RATRestrictions_Item },
};
static int
dissect_ngap_RATRestrictions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_RATRestrictions, RATRestrictions_sequence_of,
1, maxnoofEPLMNsPlusOne, FALSE);
return offset;
}
static const per_sequence_t NotAllowedTACs_sequence_of[1] = {
{ &hf_ngap_NotAllowedTACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAC },
};
static int
dissect_ngap_NotAllowedTACs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_NotAllowedTACs, NotAllowedTACs_sequence_of,
1, maxnoofAllowedAreas, FALSE);
return offset;
}
static const per_sequence_t ServiceAreaInformation_Item_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_allowedTACs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AllowedTACs },
{ &hf_ngap_notAllowedTACs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_NotAllowedTACs },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_ServiceAreaInformation_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_ngap_ServiceAreaInformation_Item, ServiceAreaInformation_Item_sequence);
return offset;
}
static const per_sequence_t ServiceAreaInformation_sequence_of[1] = {
{ &hf_ngap_ServiceAreaInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ServiceAreaInformation_Item },
};
static int
dissect_ngap_ServiceAreaInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_ServiceAreaInformation, ServiceAreaInformation_sequence_of,
1, maxnoofEPLMNsPlusOne, FALSE);
return offset;
}
static const per_sequence_t MobilityRestrictionList_sequence[] = {
{ &hf_ngap_servingPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_equivalentPLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_EquivalentPLMNs },
{ &hf_ngap_rATRestrictions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_RATRestrictions },
{ &hf_ngap_forbiddenAreaInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ForbiddenAreaInformation },
{ &hf_ngap_serviceAreaInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ServiceAreaInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_MobilityRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_MobilityRestrictionList, MobilityRestrictionList_sequence);
return offset;
}
static const per_sequence_t MDTPLMNList_sequence_of[1] = {
{ &hf_ngap_MDTPLMNList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
};
static int
dissect_ngap_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_ngap_MDTPLMNList, MDTPLMNList_sequence_of,
1, maxnoofMDTPLMNs, FALSE);
return offset;
}
static const value_string ngap_MDT_Activation_vals[] = {
{ 0, "immediate-MDT-only" },
{ 1, "logged-MDT-only" },
{ 2, "immediate-MDT-and-Trace" },
{ 0, NULL }
};
static int
dissect_ngap_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,
3, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_MDTModeNr_vals[] = {
{ 0, "immediateMDTNr" },
{ 1, "loggedMDTNr" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t MDTModeNr_choice[] = {
{ 0, &hf_ngap_immediateMDTNr , ASN1_NO_EXTENSIONS , dissect_ngap_ImmediateMDTNr },
{ 1, &hf_ngap_loggedMDTNr , ASN1_NO_EXTENSIONS , dissect_ngap_LoggedMDTNr },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_MDTModeNr(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_MDTModeNr, MDTModeNr_choice,
NULL);
return offset;
}
static const per_sequence_t MDT_Configuration_NR_sequence[] = {
{ &hf_ngap_mdt_Activation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_MDT_Activation },
{ &hf_ngap_areaScopeOfMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AreaScopeOfMDT_NR },
{ &hf_ngap_mDTModeNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_MDTModeNr },
{ &hf_ngap_signallingBasedMDTPLMNList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_MDTPLMNList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_MDT_Configuration_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_MDT_Configuration_NR, MDT_Configuration_NR_sequence);
return offset;
}
static int
dissect_ngap_MDTModeEutra(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1071 "./asn1/ngap/ngap.cnf"
tvbuff_t *mdt_mode_eutra_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &mdt_mode_eutra_tvb);
if (mdt_mode_eutra_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_MDTModeEutra);
dissect_s1ap_MDTMode_PDU(mdt_mode_eutra_tvb, actx->pinfo, subtree, NULL);
}
return offset;
}
static const per_sequence_t MDT_Configuration_EUTRA_sequence[] = {
{ &hf_ngap_mdt_Activation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_MDT_Activation },
{ &hf_ngap_areaScopeOfMDT_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AreaScopeOfMDT_EUTRA },
{ &hf_ngap_mDTMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_MDTModeEutra },
{ &hf_ngap_signallingBasedMDTPLMNList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_MDTPLMNList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_MDT_Configuration_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_MDT_Configuration_EUTRA, MDT_Configuration_EUTRA_sequence);
return offset;
}
static const per_sequence_t MDT_Configuration_sequence[] = {
{ &hf_ngap_mdt_Config_NR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_MDT_Configuration_NR },
{ &hf_ngap_mdt_Config_EUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_MDT_Configuration_EUTRA },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_MDT_Configuration, MDT_Configuration_sequence);
return offset;
}
static int
dissect_ngap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 234 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb=NULL;
guint tvb_len;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
tvb_len = tvb_reported_length(parameter_tvb);
if (tvb_len > 0) {
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
if (ngap_data->protocol_ie_id == id_NASC) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NASC);
/* use an heuristic based on the payload length to identify the Intra N1 mode
NAS transparent container or the S1 mode to N1 mode NAS transparent container */
if (tvb_len == 8)
de_nas_5gs_s1_mode_to_n1_mode_nas_transparent_cont(parameter_tvb, subtree, actx->pinfo);
else
de_nas_5gs_intra_n1_mode_nas_transparent_cont(parameter_tvb, subtree, actx->pinfo);
} else {
if (nas_5gs_handle) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NAS_PDU);
TRY {
call_dissector(nas_5gs_handle, parameter_tvb, actx->pinfo, subtree);
}
CATCH_BOUNDS_ERRORS {
show_exception(tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
}
ENDTRY;
}
}
}
return offset;
}
static int
dissect_ngap_NASSecurityParametersFromNGRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 925 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NASSecurityParametersFromNGRAN);
de_nas_5gs_n1_mode_to_s1_mode_nas_transparent_cont(parameter_tvb, subtree, actx->pinfo);
}
return offset;
}
static const value_string ngap_NB_IoT_DefaultPagingDRX_vals[] = {
{ 0, "rf128" },
{ 1, "rf256" },
{ 2, "rf512" },
{ 3, "rf1024" },
{ 0, NULL }
};
static int
dissect_ngap_NB_IoT_DefaultPagingDRX(tvbuff_t *tvb _U_, int offset _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 ngap_NB_IoT_PagingDRX_vals[] = {
{ 0, "rf32" },
{ 1, "rf64" },
{ 2, "rf128" },
{ 3, "rf256" },
{ 4, "rf512" },
{ 5, "rf1024" },
{ 0, NULL }
};
static int
dissect_ngap_NB_IoT_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_NB_IoT_Paging_eDRXCycle_vals[] = {
{ 0, "hf2" },
{ 1, "hf4" },
{ 2, "hf6" },
{ 3, "hf8" },
{ 4, "hf10" },
{ 5, "hf12" },
{ 6, "hf14" },
{ 7, "hf16" },
{ 8, "hf32" },
{ 9, "hf64" },
{ 10, "hf128" },
{ 11, "hf256" },
{ 12, "hf512" },
{ 13, "hf1024" },
{ 0, NULL }
};
static int
dissect_ngap_NB_IoT_Paging_eDRXCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
14, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_NB_IoT_Paging_TimeWindow_vals[] = {
{ 0, "s1" },
{ 1, "s2" },
{ 2, "s3" },
{ 3, "s4" },
{ 4, "s5" },
{ 5, "s6" },
{ 6, "s7" },
{ 7, "s8" },
{ 8, "s9" },
{ 9, "s10" },
{ 10, "s11" },
{ 11, "s12" },
{ 12, "s13" },
{ 13, "s14" },
{ 14, "s15" },
{ 15, "s16" },
{ 0, NULL }
};
static int
dissect_ngap_NB_IoT_Paging_TimeWindow(tvbuff_t *tvb _U_, int offset _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 NB_IoT_Paging_eDRXInfo_sequence[] = {
{ &hf_ngap_nB_IoT_Paging_eDRXCycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NB_IoT_Paging_eDRXCycle },
{ &hf_ngap_nB_IoT_Paging_TimeWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_NB_IoT_Paging_TimeWindow },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NB_IoT_Paging_eDRXInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NB_IoT_Paging_eDRXInfo, NB_IoT_Paging_eDRXInfo_sequence);
return offset;
}
static int
dissect_ngap_NB_IoT_UEPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_NetworkInstance(tvbuff_t *tvb _U_, int offset _U_, 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 ngap_NewSecurityContextInd_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_NewSecurityContextInd(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_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 value_string ngap_NotifySourceNGRANNode_vals[] = {
{ 0, "notifySource" },
{ 0, NULL }
};
static int
dissect_ngap_NotifySourceNGRANNode(tvbuff_t *tvb _U_, int offset _U_, asn1_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 NGRAN_TNLAssociationToRemoveItem_sequence[] = {
{ &hf_ngap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_CPTransportLayerInformation },
{ &hf_ngap_tNLAssociationTransportLayerAddressAMF, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ngap_CPTransportLayerInformation },
{ &hf_ngap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NGRAN_TNLAssociationToRemoveItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NGRAN_TNLAssociationToRemoveItem, NGRAN_TNLAssociationToRemoveItem_sequence);
return offset;
}
static const per_sequence_t NGRAN_TNLAssociationToRemoveList_sequence_of[1] = {
{ &hf_ngap_NGRAN_TNLAssociationToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_TNLAssociationToRemoveItem },
};
static int
dissect_ngap_NGRAN_TNLAssociationToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_NGRAN_TNLAssociationToRemoveList, NGRAN_TNLAssociationToRemoveList_sequence_of,
1, maxnoofTNLAssociations, FALSE);
return offset;
}
static int
dissect_ngap_NGRANTraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 575 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &parameter_tvb);
if (!parameter_tvb)
return offset;
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NGRANTraceID);
dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
proto_tree_add_item(subtree, hf_ngap_NGRANTraceID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ngap_NGRANTraceID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);
return offset;
}
static int
dissect_ngap_NID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
44, 44, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t NonDynamic5QIDescriptor_sequence[] = {
{ &hf_ngap_fiveQI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_FiveQI },
{ &hf_ngap_priorityLevelQos, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PriorityLevelQos },
{ &hf_ngap_averagingWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AveragingWindow },
{ &hf_ngap_maximumDataBurstVolume, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_MaximumDataBurstVolume },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NonDynamic5QIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NonDynamic5QIDescriptor, NonDynamic5QIDescriptor_sequence);
return offset;
}
static const value_string ngap_NotificationCause_vals[] = {
{ 0, "fulfilled" },
{ 1, "not-fulfilled" },
{ 0, NULL }
};
static int
dissect_ngap_NotificationCause(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_NPN_AccessInformation_vals[] = {
{ 0, "pNI-NPN-Access-Information" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t NPN_AccessInformation_choice[] = {
{ 0, &hf_ngap_pNI_NPN_Access_Information, ASN1_NO_EXTENSIONS , dissect_ngap_CellCAGList },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_NPN_AccessInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_NPN_AccessInformation, NPN_AccessInformation_choice,
NULL);
return offset;
}
static const per_sequence_t SNPN_MobilityInformation_sequence[] = {
{ &hf_ngap_serving_NID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SNPN_MobilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SNPN_MobilityInformation, SNPN_MobilityInformation_sequence);
return offset;
}
static const per_sequence_t PNI_NPN_MobilityInformation_sequence[] = {
{ &hf_ngap_allowed_PNI_NPI_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Allowed_PNI_NPN_List },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PNI_NPN_MobilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PNI_NPN_MobilityInformation, PNI_NPN_MobilityInformation_sequence);
return offset;
}
static const value_string ngap_NPN_MobilityInformation_vals[] = {
{ 0, "sNPN-MobilityInformation" },
{ 1, "pNI-NPN-MobilityInformation" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t NPN_MobilityInformation_choice[] = {
{ 0, &hf_ngap_sNPN_MobilityInformation, ASN1_NO_EXTENSIONS , dissect_ngap_SNPN_MobilityInformation },
{ 1, &hf_ngap_pNI_NPN_MobilityInformation, ASN1_NO_EXTENSIONS , dissect_ngap_PNI_NPN_MobilityInformation },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_NPN_MobilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_NPN_MobilityInformation, NPN_MobilityInformation_choice,
NULL);
return offset;
}
static const value_string ngap_NPN_PagingAssistanceInformation_vals[] = {
{ 0, "pNI-NPN-PagingAssistance" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t NPN_PagingAssistanceInformation_choice[] = {
{ 0, &hf_ngap_pNI_NPN_PagingAssistance, ASN1_NO_EXTENSIONS , dissect_ngap_Allowed_PNI_NPN_List },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_NPN_PagingAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_NPN_PagingAssistanceInformation, NPN_PagingAssistanceInformation_choice,
NULL);
return offset;
}
static const value_string ngap_NPN_Support_vals[] = {
{ 0, "sNPN" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t NPN_Support_choice[] = {
{ 0, &hf_ngap_sNPN , ASN1_NO_EXTENSIONS , dissect_ngap_NID },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_NPN_Support(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_NPN_Support, NPN_Support_choice,
NULL);
return offset;
}
static const per_sequence_t NR_CGIListForWarning_sequence_of[1] = {
{ &hf_ngap_NR_CGIListForWarning_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
};
static int
dissect_ngap_NR_CGIListForWarning(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_NR_CGIListForWarning, NR_CGIListForWarning_sequence_of,
1, maxnoofCellIDforWarning, FALSE);
return offset;
}
static int
dissect_ngap_NRencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 809 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, TRUE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_NrencryptionAlgorithms_nea1,
&hf_ngap_NrencryptionAlgorithms_nea2,
&hf_ngap_NrencryptionAlgorithms_nea3,
&hf_ngap_NrencryptionAlgorithms_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NrencryptionAlgorithms);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static int
dissect_ngap_NRintegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 824 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, TRUE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_NrintegrityProtectionAlgorithms_nia1,
&hf_ngap_NrintegrityProtectionAlgorithms_nia2,
&hf_ngap_NrintegrityProtectionAlgorithms_nia3,
&hf_ngap_NrintegrityProtectionAlgorithms_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NrintegrityProtectionAlgorithms);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static int
dissect_ngap_NRMobilityHistoryReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1111 "./asn1/ngap/ngap.cnf"
tvbuff_t *nr_mob_hist_report_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &nr_mob_hist_report_tvb);
if (nr_mob_hist_report_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NRMobilityHistoryReport);
dissect_nr_rrc_VisitedCellInfoList_r16_PDU(nr_mob_hist_report_tvb, actx->pinfo, subtree, NULL);
}
return offset;
}
static int
dissect_ngap_NRPPa_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 963 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if ((tvb_reported_length(parameter_tvb)>0)&&(nrppa_handle))
call_dissector(nrppa_handle, parameter_tvb, actx->pinfo, tree);
return offset;
}
static int
dissect_ngap_NumberOfBroadcastsRequested(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, NULL, FALSE);
return offset;
}
static const per_sequence_t NRV2XServicesAuthorized_sequence[] = {
{ &hf_ngap_vehicleUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_VehicleUE },
{ &hf_ngap_pedestrianUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PedestrianUE },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_NRV2XServicesAuthorized, NRV2XServicesAuthorized_sequence);
return offset;
}
static const per_sequence_t NRUESidelinkAggregateMaximumBitrate_sequence[] = {
{ &hf_ngap_uESidelinkAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_NRUESidelinkAggregateMaximumBitrate, NRUESidelinkAggregateMaximumBitrate_sequence);
return offset;
}
static const value_string ngap_OverloadAction_vals[] = {
{ 0, "reject-non-emergency-mo-dt" },
{ 1, "reject-rrc-cr-signalling" },
{ 2, "permit-emergency-sessions-and-mobile-terminated-services-only" },
{ 3, "permit-high-priority-sessions-and-mobile-terminated-services-only" },
{ 0, NULL }
};
static int
dissect_ngap_OverloadAction(tvbuff_t *tvb _U_, int offset _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 ngap_OverloadResponse_vals[] = {
{ 0, "overloadAction" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t OverloadResponse_choice[] = {
{ 0, &hf_ngap_overloadAction , ASN1_NO_EXTENSIONS , dissect_ngap_OverloadAction },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_OverloadResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_OverloadResponse, OverloadResponse_choice,
NULL);
return offset;
}
static const per_sequence_t SliceOverloadItem_sequence[] = {
{ &hf_ngap_s_NSSAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_S_NSSAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SliceOverloadItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SliceOverloadItem, SliceOverloadItem_sequence);
return offset;
}
static const per_sequence_t SliceOverloadList_sequence_of[1] = {
{ &hf_ngap_SliceOverloadList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_SliceOverloadItem },
};
static int
dissect_ngap_SliceOverloadList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_SliceOverloadList, SliceOverloadList_sequence_of,
1, maxnoofSliceItems, FALSE);
return offset;
}
static int
dissect_ngap_TrafficLoadReductionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 99U, NULL, FALSE);
return offset;
}
static const per_sequence_t OverloadStartNSSAIItem_sequence[] = {
{ &hf_ngap_sliceOverloadList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SliceOverloadList },
{ &hf_ngap_sliceOverloadResponse, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_OverloadResponse },
{ &hf_ngap_sliceTrafficLoadReductionIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TrafficLoadReductionIndication },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_OverloadStartNSSAIItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_OverloadStartNSSAIItem, OverloadStartNSSAIItem_sequence);
return offset;
}
static const per_sequence_t OverloadStartNSSAIList_sequence_of[1] = {
{ &hf_ngap_OverloadStartNSSAIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_OverloadStartNSSAIItem },
};
static int
dissect_ngap_OverloadStartNSSAIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_OverloadStartNSSAIList, OverloadStartNSSAIList_sequence_of,
1, maxnoofSliceItems, FALSE);
return offset;
}
static const per_sequence_t PagingAssisDataforCEcapabUE_sequence[] = {
{ &hf_ngap_eUTRA_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
{ &hf_ngap_coverageEnhancementLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CoverageEnhancementLevel },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PagingAssisDataforCEcapabUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PagingAssisDataforCEcapabUE, PagingAssisDataforCEcapabUE_sequence);
return offset;
}
static const value_string ngap_PagingOrigin_vals[] = {
{ 0, "non-3gpp" },
{ 0, NULL }
};
static int
dissect_ngap_PagingOrigin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_PagingPriority_vals[] = {
{ 0, "priolevel1" },
{ 1, "priolevel2" },
{ 2, "priolevel3" },
{ 3, "priolevel4" },
{ 4, "priolevel5" },
{ 5, "priolevel6" },
{ 6, "priolevel7" },
{ 7, "priolevel8" },
{ 0, NULL }
};
static int
dissect_ngap_PagingPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_Paging_eDRX_Cycle_vals[] = {
{ 0, "hfhalf" },
{ 1, "hf1" },
{ 2, "hf2" },
{ 3, "hf4" },
{ 4, "hf6" },
{ 5, "hf8" },
{ 6, "hf10" },
{ 7, "hf12" },
{ 8, "hf14" },
{ 9, "hf16" },
{ 10, "hf32" },
{ 11, "hf64" },
{ 12, "hf128" },
{ 13, "hf256" },
{ 0, NULL }
};
static int
dissect_ngap_Paging_eDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
14, NULL, TRUE, 0, NULL);
return offset;
}
static const value_string ngap_Paging_Time_Window_vals[] = {
{ 0, "s1" },
{ 1, "s2" },
{ 2, "s3" },
{ 3, "s4" },
{ 4, "s5" },
{ 5, "s6" },
{ 6, "s7" },
{ 7, "s8" },
{ 8, "s9" },
{ 9, "s10" },
{ 10, "s11" },
{ 11, "s12" },
{ 12, "s13" },
{ 13, "s14" },
{ 14, "s15" },
{ 15, "s16" },
{ 0, NULL }
};
static int
dissect_ngap_Paging_Time_Window(tvbuff_t *tvb _U_, int offset _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 PagingeDRXInformation_sequence[] = {
{ &hf_ngap_paging_eDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Paging_eDRX_Cycle },
{ &hf_ngap_paging_Time_Window, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_Paging_Time_Window },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PagingeDRXInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PagingeDRXInformation, PagingeDRXInformation_sequence);
return offset;
}
static const value_string ngap_PagingProbabilityInformation_vals[] = {
{ 0, "p00" },
{ 1, "p05" },
{ 2, "p10" },
{ 3, "p15" },
{ 4, "p20" },
{ 5, "p25" },
{ 6, "p30" },
{ 7, "p35" },
{ 8, "p40" },
{ 9, "p45" },
{ 10, "p50" },
{ 11, "p55" },
{ 12, "p60" },
{ 13, "p65" },
{ 14, "p70" },
{ 15, "p75" },
{ 16, "p80" },
{ 17, "p85" },
{ 18, "p90" },
{ 19, "p95" },
{ 20, "p100" },
{ 0, NULL }
};
static int
dissect_ngap_PagingProbabilityInformation(tvbuff_t *tvb _U_, int offset _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, 0, NULL);
return offset;
}
static const per_sequence_t SecurityIndication_sequence[] = {
{ &hf_ngap_integrityProtectionIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_IntegrityProtectionIndication },
{ &hf_ngap_confidentialityProtectionIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ConfidentialityProtectionIndication },
{ &hf_ngap_maximumIntegrityProtectedDataRate_UL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_MaximumIntegrityProtectedDataRate },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_SecurityIndication, SecurityIndication_sequence);
return offset;
}
static const per_sequence_t PathSwitchRequestAcknowledgeTransfer_sequence[] = {
{ &hf_ngap_uL_NGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_securityIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_SecurityIndication },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PathSwitchRequestAcknowledgeTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PathSwitchRequestAcknowledgeTransfer, PathSwitchRequestAcknowledgeTransfer_sequence);
return offset;
}
static const per_sequence_t PathSwitchRequestSetupFailedTransfer_sequence[] = {
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PathSwitchRequestSetupFailedTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PathSwitchRequestSetupFailedTransfer, PathSwitchRequestSetupFailedTransfer_sequence);
return offset;
}
static const per_sequence_t UserPlaneSecurityInformation_sequence[] = {
{ &hf_ngap_securityResult , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SecurityResult },
{ &hf_ngap_securityIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SecurityIndication },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UserPlaneSecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UserPlaneSecurityInformation, UserPlaneSecurityInformation_sequence);
return offset;
}
static const per_sequence_t QosFlowAcceptedItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowAcceptedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowAcceptedItem, QosFlowAcceptedItem_sequence);
return offset;
}
static const per_sequence_t QosFlowAcceptedList_sequence_of[1] = {
{ &hf_ngap_QosFlowAcceptedList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowAcceptedItem },
};
static int
dissect_ngap_QosFlowAcceptedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowAcceptedList, QosFlowAcceptedList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const per_sequence_t PathSwitchRequestTransfer_sequence[] = {
{ &hf_ngap_dL_NGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_dL_NGU_TNLInformationReused, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DL_NGU_TNLInformationReused },
{ &hf_ngap_userPlaneSecurityInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UserPlaneSecurityInformation },
{ &hf_ngap_qosFlowAcceptedList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowAcceptedList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PathSwitchRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PathSwitchRequestTransfer, PathSwitchRequestTransfer_sequence);
return offset;
}
static const per_sequence_t PathSwitchRequestUnsuccessfulTransfer_sequence[] = {
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PathSwitchRequestUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PathSwitchRequestUnsuccessfulTransfer, PathSwitchRequestUnsuccessfulTransfer_sequence);
return offset;
}
static const per_sequence_t PC5FlowBitRates_sequence[] = {
{ &hf_ngap_guaranteedFlowBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_maximumFlowBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_PC5FlowBitRates, PC5FlowBitRates_sequence);
return offset;
}
static const value_string ngap_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_ngap_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_ngap_pQI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_FiveQI },
{ &hf_ngap_pc5FlowBitRates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PC5FlowBitRates },
{ &hf_ngap_range , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_Range },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_PC5QoSFlowItem, PC5QoSFlowItem_sequence);
return offset;
}
static const per_sequence_t PC5QoSFlowList_sequence_of[1] = {
{ &hf_ngap_PC5QoSFlowList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PC5QoSFlowItem },
};
static int
dissect_ngap_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_ngap_PC5QoSFlowList, PC5QoSFlowList_sequence_of,
1, maxnoofPC5QoSFlows, FALSE);
return offset;
}
static const per_sequence_t PC5QoSParameters_sequence[] = {
{ &hf_ngap_pc5QoSFlowList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PC5QoSFlowList },
{ &hf_ngap_pc5LinkAggregateBitRates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BitRate },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_PC5QoSParameters, PC5QoSParameters_sequence);
return offset;
}
static const value_string ngap_PrivacyIndicator_vals[] = {
{ 0, "immediate-MDT" },
{ 1, "logged-MDT" },
{ 0, NULL }
};
static int
dissect_ngap_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 per_sequence_t PDUSessionAggregateMaximumBitRate_sequence[] = {
{ &hf_ngap_pDUSessionAggregateMaximumBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_pDUSessionAggregateMaximumBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionAggregateMaximumBitRate, PDUSessionAggregateMaximumBitRate_sequence);
return offset;
}
static int
dissect_ngap_PDUSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, NULL, FALSE);
return offset;
}
static int
dissect_ngap_T_handoverRequestAcknowledgeTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_HandoverRequestAcknowledgeTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceAdmittedItem_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_handoverRequestAcknowledgeTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_handoverRequestAcknowledgeTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceAdmittedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceAdmittedItem, PDUSessionResourceAdmittedItem_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceAdmittedList_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceAdmittedList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceAdmittedItem },
};
static int
dissect_ngap_PDUSessionResourceAdmittedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceAdmittedList, PDUSessionResourceAdmittedList_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceModifyIndicationUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceModifyIndicationUnsuccessfulTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToModifyItemModCfm_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceModifyIndicationUnsuccessfulTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceModifyIndicationUnsuccessfulTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceFailedToModifyItemModCfm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToModifyItemModCfm, PDUSessionResourceFailedToModifyItemModCfm_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToModifyListModCfm_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceFailedToModifyListModCfm_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceFailedToModifyItemModCfm },
};
static int
dissect_ngap_PDUSessionResourceFailedToModifyListModCfm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToModifyListModCfm, PDUSessionResourceFailedToModifyListModCfm_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceModifyUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceModifyUnsuccessfulTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToModifyItemModRes_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceModifyUnsuccessfulTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceModifyUnsuccessfulTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceFailedToModifyItemModRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToModifyItemModRes, PDUSessionResourceFailedToModifyItemModRes_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToModifyListModRes_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceFailedToModifyListModRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceFailedToModifyItemModRes },
};
static int
dissect_ngap_PDUSessionResourceFailedToModifyListModRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToModifyListModRes, PDUSessionResourceFailedToModifyListModRes_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToResumeItemRESReq_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceFailedToResumeItemRESReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToResumeItemRESReq, PDUSessionResourceFailedToResumeItemRESReq_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToResumeListRESReq_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceFailedToResumeListRESReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceFailedToResumeItemRESReq },
};
static int
dissect_ngap_PDUSessionResourceFailedToResumeListRESReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToResumeListRESReq, PDUSessionResourceFailedToResumeListRESReq_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToResumeItemRESRes_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceFailedToResumeItemRESRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToResumeItemRESRes, PDUSessionResourceFailedToResumeItemRESRes_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToResumeListRESRes_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceFailedToResumeListRESRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceFailedToResumeItemRESRes },
};
static int
dissect_ngap_PDUSessionResourceFailedToResumeListRESRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToResumeListRESRes, PDUSessionResourceFailedToResumeListRESRes_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceSetupUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceSetupUnsuccessfulTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToSetupItemCxtFail_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceSetupUnsuccessfulTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceSetupUnsuccessfulTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceFailedToSetupItemCxtFail(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToSetupItemCxtFail, PDUSessionResourceFailedToSetupItemCxtFail_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToSetupListCxtFail_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceFailedToSetupListCxtFail_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceFailedToSetupItemCxtFail },
};
static int
dissect_ngap_PDUSessionResourceFailedToSetupListCxtFail(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToSetupListCxtFail, PDUSessionResourceFailedToSetupListCxtFail_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceSetupUnsuccessfulTransfer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceSetupUnsuccessfulTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToSetupItemCxtRes_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceSetupUnsuccessfulTransfer_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceSetupUnsuccessfulTransfer_01 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceFailedToSetupItemCxtRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToSetupItemCxtRes, PDUSessionResourceFailedToSetupItemCxtRes_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToSetupListCxtRes_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceFailedToSetupListCxtRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceFailedToSetupItemCxtRes },
};
static int
dissect_ngap_PDUSessionResourceFailedToSetupListCxtRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToSetupListCxtRes, PDUSessionResourceFailedToSetupListCxtRes_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_handoverResourceAllocationUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_HandoverResourceAllocationUnsuccessfulTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToSetupItemHOAck_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_handoverResourceAllocationUnsuccessfulTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_handoverResourceAllocationUnsuccessfulTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceFailedToSetupItemHOAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToSetupItemHOAck, PDUSessionResourceFailedToSetupItemHOAck_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToSetupListHOAck_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceFailedToSetupListHOAck_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceFailedToSetupItemHOAck },
};
static int
dissect_ngap_PDUSessionResourceFailedToSetupListHOAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToSetupListHOAck, PDUSessionResourceFailedToSetupListHOAck_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pathSwitchRequestSetupFailedTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PathSwitchRequestSetupFailedTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToSetupItemPSReq_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pathSwitchRequestSetupFailedTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pathSwitchRequestSetupFailedTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceFailedToSetupItemPSReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToSetupItemPSReq, PDUSessionResourceFailedToSetupItemPSReq_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToSetupListPSReq_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceFailedToSetupListPSReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceFailedToSetupItemPSReq },
};
static int
dissect_ngap_PDUSessionResourceFailedToSetupListPSReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToSetupListPSReq, PDUSessionResourceFailedToSetupListPSReq_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceSetupUnsuccessfulTransfer_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceSetupUnsuccessfulTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToSetupItemSURes_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceSetupUnsuccessfulTransfer_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceSetupUnsuccessfulTransfer_02 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceFailedToSetupItemSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToSetupItemSURes, PDUSessionResourceFailedToSetupItemSURes_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceFailedToSetupListSURes_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceFailedToSetupListSURes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceFailedToSetupItemSURes },
};
static int
dissect_ngap_PDUSessionResourceFailedToSetupListSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceFailedToSetupListSURes, PDUSessionResourceFailedToSetupListSURes_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_handoverCommandTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_HandoverCommandTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceHandoverItem_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_handoverCommandTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_handoverCommandTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceHandoverItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceHandoverItem, PDUSessionResourceHandoverItem_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceHandoverList_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceHandoverList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceHandoverItem },
};
static int
dissect_ngap_PDUSessionResourceHandoverList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceHandoverList, PDUSessionResourceHandoverList_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static const per_sequence_t QosFlowInformationItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_dLForwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DLForwarding },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowInformationItem, QosFlowInformationItem_sequence);
return offset;
}
static const per_sequence_t QosFlowInformationList_sequence_of[1] = {
{ &hf_ngap_QosFlowInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowInformationItem },
};
static int
dissect_ngap_QosFlowInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowInformationList, QosFlowInformationList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceInformationItem_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_qosFlowInformationList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowInformationList },
{ &hf_ngap_dRBsToQosFlowsMappingList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DRBsToQosFlowsMappingList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceInformationItem, PDUSessionResourceInformationItem_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceInformationList_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceInformationItem },
};
static int
dissect_ngap_PDUSessionResourceInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceInformationList, PDUSessionResourceInformationList_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceItemCxtRelCpl_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceItemCxtRelCpl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceItemCxtRelCpl, PDUSessionResourceItemCxtRelCpl_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceListCxtRelCpl_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceListCxtRelCpl_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceItemCxtRelCpl },
};
static int
dissect_ngap_PDUSessionResourceListCxtRelCpl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceListCxtRelCpl, PDUSessionResourceListCxtRelCpl_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_PDUSessionResourceReleaseResponseTransfer_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceReleaseResponseTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceItemCxtRelReq_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceItemCxtRelReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceItemCxtRelReq, PDUSessionResourceItemCxtRelReq_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceListCxtRelReq_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceListCxtRelReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceItemCxtRelReq },
};
static int
dissect_ngap_PDUSessionResourceListCxtRelReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceListCxtRelReq, PDUSessionResourceListCxtRelReq_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_handoverRequiredTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_HandoverRequiredTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceItemHORqd_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_handoverRequiredTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_handoverRequiredTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceItemHORqd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceItemHORqd, PDUSessionResourceItemHORqd_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceListHORqd_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceListHORqd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceItemHORqd },
};
static int
dissect_ngap_PDUSessionResourceListHORqd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceListHORqd, PDUSessionResourceListHORqd_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static const per_sequence_t QosFlowModifyConfirmItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowModifyConfirmItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowModifyConfirmItem, QosFlowModifyConfirmItem_sequence);
return offset;
}
static const per_sequence_t QosFlowModifyConfirmList_sequence_of[1] = {
{ &hf_ngap_QosFlowModifyConfirmList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowModifyConfirmItem },
};
static int
dissect_ngap_QosFlowModifyConfirmList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowModifyConfirmList, QosFlowModifyConfirmList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const per_sequence_t UPTransportLayerInformationPairItem_sequence[] = {
{ &hf_ngap_uL_NGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_dL_NGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UPTransportLayerInformationPairItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UPTransportLayerInformationPairItem, UPTransportLayerInformationPairItem_sequence);
return offset;
}
static const per_sequence_t UPTransportLayerInformationPairList_sequence_of[1] = {
{ &hf_ngap_UPTransportLayerInformationPairList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformationPairItem },
};
static int
dissect_ngap_UPTransportLayerInformationPairList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_UPTransportLayerInformationPairList, UPTransportLayerInformationPairList_sequence_of,
1, maxnoofMultiConnectivityMinusOne, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyConfirmTransfer_sequence[] = {
{ &hf_ngap_qosFlowModifyConfirmList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowModifyConfirmList },
{ &hf_ngap_uLNGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_additionalNG_UUPTNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UPTransportLayerInformationPairList },
{ &hf_ngap_qosFlowFailedToModifyList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowListWithCause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyConfirmTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyConfirmTransfer, PDUSessionResourceModifyConfirmTransfer_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyIndicationUnsuccessfulTransfer_sequence[] = {
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyIndicationUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyIndicationUnsuccessfulTransfer, PDUSessionResourceModifyIndicationUnsuccessfulTransfer_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyRequestTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyRequestTransfer, PDUSessionResourceModifyRequestTransfer_sequence);
return offset;
}
static const per_sequence_t QosFlowAddOrModifyResponseItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowAddOrModifyResponseItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowAddOrModifyResponseItem, QosFlowAddOrModifyResponseItem_sequence);
return offset;
}
static const per_sequence_t QosFlowAddOrModifyResponseList_sequence_of[1] = {
{ &hf_ngap_QosFlowAddOrModifyResponseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowAddOrModifyResponseItem },
};
static int
dissect_ngap_QosFlowAddOrModifyResponseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowAddOrModifyResponseList, QosFlowAddOrModifyResponseList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const per_sequence_t QosFlowPerTNLInformation_sequence[] = {
{ &hf_ngap_uPTransportLayerInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_associatedQosFlowList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AssociatedQosFlowList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowPerTNLInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowPerTNLInformation, QosFlowPerTNLInformation_sequence);
return offset;
}
static const per_sequence_t QosFlowPerTNLInformationItem_sequence[] = {
{ &hf_ngap_qosFlowPerTNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowPerTNLInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowPerTNLInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowPerTNLInformationItem, QosFlowPerTNLInformationItem_sequence);
return offset;
}
static const per_sequence_t QosFlowPerTNLInformationList_sequence_of[1] = {
{ &hf_ngap_QosFlowPerTNLInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowPerTNLInformationItem },
};
static int
dissect_ngap_QosFlowPerTNLInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowPerTNLInformationList, QosFlowPerTNLInformationList_sequence_of,
1, maxnoofMultiConnectivityMinusOne, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyResponseTransfer_sequence[] = {
{ &hf_ngap_dL_NGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_uL_NGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_qosFlowAddOrModifyResponseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowAddOrModifyResponseList },
{ &hf_ngap_additionalDLQosFlowPerTNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowPerTNLInformationList },
{ &hf_ngap_qosFlowFailedToAddOrModifyList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowListWithCause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyResponseTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyResponseTransfer, PDUSessionResourceModifyResponseTransfer_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyIndicationTransfer_sequence[] = {
{ &hf_ngap_dLQosFlowPerTNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowPerTNLInformation },
{ &hf_ngap_additionalDLQosFlowPerTNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowPerTNLInformationList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyIndicationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyIndicationTransfer, PDUSessionResourceModifyIndicationTransfer_sequence);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceModifyConfirmTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceModifyConfirmTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyItemModCfm_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceModifyConfirmTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceModifyConfirmTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyItemModCfm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyItemModCfm, PDUSessionResourceModifyItemModCfm_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyListModCfm_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceModifyListModCfm_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceModifyItemModCfm },
};
static int
dissect_ngap_PDUSessionResourceModifyListModCfm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyListModCfm, PDUSessionResourceModifyListModCfm_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceModifyIndicationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceModifyIndicationTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyItemModInd_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceModifyIndicationTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceModifyIndicationTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyItemModInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyItemModInd, PDUSessionResourceModifyItemModInd_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyListModInd_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceModifyListModInd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceModifyItemModInd },
};
static int
dissect_ngap_PDUSessionResourceModifyListModInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyListModInd, PDUSessionResourceModifyListModInd_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceModifyRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceModifyRequestTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyItemModReq_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_nAS_PDU , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_NAS_PDU },
{ &hf_ngap_pDUSessionResourceModifyRequestTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceModifyRequestTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyItemModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyItemModReq, PDUSessionResourceModifyItemModReq_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyListModReq_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceModifyListModReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceModifyItemModReq },
};
static int
dissect_ngap_PDUSessionResourceModifyListModReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyListModReq, PDUSessionResourceModifyListModReq_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceModifyResponseTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceModifyResponseTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyItemModRes_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceModifyResponseTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceModifyResponseTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyItemModRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyItemModRes, PDUSessionResourceModifyItemModRes_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyListModRes_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceModifyListModRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceModifyItemModRes },
};
static int
dissect_ngap_PDUSessionResourceModifyListModRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyListModRes, PDUSessionResourceModifyListModRes_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyUnsuccessfulTransfer_sequence[] = {
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_criticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_CriticalityDiagnostics },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyUnsuccessfulTransfer, PDUSessionResourceModifyUnsuccessfulTransfer_sequence);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceNotifyTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceNotifyTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceNotifyItem_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceNotifyTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceNotifyTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceNotifyItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceNotifyItem, PDUSessionResourceNotifyItem_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceNotifyList_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceNotifyList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceNotifyItem },
};
static int
dissect_ngap_PDUSessionResourceNotifyList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceNotifyList, PDUSessionResourceNotifyList_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceNotifyReleasedTransfer_sequence[] = {
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceNotifyReleasedTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceNotifyReleasedTransfer, PDUSessionResourceNotifyReleasedTransfer_sequence);
return offset;
}
static const per_sequence_t QosFlowNotifyItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_notificationCause, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NotificationCause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowNotifyItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowNotifyItem, QosFlowNotifyItem_sequence);
return offset;
}
static const per_sequence_t QosFlowNotifyList_sequence_of[1] = {
{ &hf_ngap_QosFlowNotifyList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowNotifyItem },
};
static int
dissect_ngap_QosFlowNotifyList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowNotifyList, QosFlowNotifyList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceNotifyTransfer_sequence[] = {
{ &hf_ngap_qosFlowNotifyList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowNotifyList },
{ &hf_ngap_qosFlowReleasedList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowListWithCause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceNotifyTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceNotifyTransfer, PDUSessionResourceNotifyTransfer_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceReleaseCommandTransfer_sequence[] = {
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceReleaseCommandTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleaseCommandTransfer, PDUSessionResourceReleaseCommandTransfer_sequence);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceNotifyReleasedTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceNotifyReleasedTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceReleasedItemNot_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceNotifyReleasedTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceNotifyReleasedTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceReleasedItemNot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleasedItemNot, PDUSessionResourceReleasedItemNot_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceReleasedListNot_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceReleasedListNot_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceReleasedItemNot },
};
static int
dissect_ngap_PDUSessionResourceReleasedListNot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleasedListNot, PDUSessionResourceReleasedListNot_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pathSwitchRequestUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PathSwitchRequestUnsuccessfulTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceReleasedItemPSAck_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pathSwitchRequestUnsuccessfulTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pathSwitchRequestUnsuccessfulTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceReleasedItemPSAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleasedItemPSAck, PDUSessionResourceReleasedItemPSAck_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceReleasedListPSAck_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceReleasedListPSAck_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceReleasedItemPSAck },
};
static int
dissect_ngap_PDUSessionResourceReleasedListPSAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleasedListPSAck, PDUSessionResourceReleasedListPSAck_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pathSwitchRequestUnsuccessfulTransfer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PathSwitchRequestUnsuccessfulTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceReleasedItemPSFail_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pathSwitchRequestUnsuccessfulTransfer_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pathSwitchRequestUnsuccessfulTransfer_01 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceReleasedItemPSFail(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleasedItemPSFail, PDUSessionResourceReleasedItemPSFail_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceReleasedListPSFail_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceReleasedListPSFail_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceReleasedItemPSFail },
};
static int
dissect_ngap_PDUSessionResourceReleasedListPSFail(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleasedListPSFail, PDUSessionResourceReleasedListPSFail_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceReleaseResponseTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceReleaseResponseTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceReleasedItemRelRes_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceReleaseResponseTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceReleaseResponseTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceReleasedItemRelRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleasedItemRelRes, PDUSessionResourceReleasedItemRelRes_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceReleasedListRelRes_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceReleasedListRelRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceReleasedItemRelRes },
};
static int
dissect_ngap_PDUSessionResourceReleasedListRelRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleasedListRelRes, PDUSessionResourceReleasedListRelRes_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceReleaseResponseTransfer_sequence[] = {
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceReleaseResponseTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleaseResponseTransfer, PDUSessionResourceReleaseResponseTransfer_sequence);
return offset;
}
static int
dissect_ngap_T_uEContextResumeRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_UEContextResumeRequestTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceResumeItemRESReq_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_uEContextResumeRequestTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_uEContextResumeRequestTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceResumeItemRESReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceResumeItemRESReq, PDUSessionResourceResumeItemRESReq_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceResumeListRESReq_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceResumeListRESReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceResumeItemRESReq },
};
static int
dissect_ngap_PDUSessionResourceResumeListRESReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceResumeListRESReq, PDUSessionResourceResumeListRESReq_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_uEContextResumeResponseTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_UEContextResumeResponseTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceResumeItemRESRes_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_uEContextResumeResponseTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_uEContextResumeResponseTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceResumeItemRESRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceResumeItemRESRes, PDUSessionResourceResumeItemRESRes_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceResumeListRESRes_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceResumeListRESRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceResumeItemRESRes },
};
static int
dissect_ngap_PDUSessionResourceResumeListRESRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceResumeListRESRes, PDUSessionResourceResumeListRESRes_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_secondaryRATDataUsageReportTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_SecondaryRATDataUsageReportTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceSecondaryRATUsageItem_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_secondaryRATDataUsageReportTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_secondaryRATDataUsageReportTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSecondaryRATUsageItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSecondaryRATUsageItem, PDUSessionResourceSecondaryRATUsageItem_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSecondaryRATUsageList_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceSecondaryRATUsageList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceSecondaryRATUsageItem },
};
static int
dissect_ngap_PDUSessionResourceSecondaryRATUsageList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSecondaryRATUsageList, PDUSessionResourceSecondaryRATUsageList_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceSetupRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceSetupRequestTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupItemCxtReq_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_nAS_PDU , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_NAS_PDU },
{ &hf_ngap_s_NSSAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_S_NSSAI },
{ &hf_ngap_pDUSessionResourceSetupRequestTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceSetupRequestTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSetupItemCxtReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupItemCxtReq, PDUSessionResourceSetupItemCxtReq_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupListCxtReq_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceSetupListCxtReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceSetupItemCxtReq },
};
static int
dissect_ngap_PDUSessionResourceSetupListCxtReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupListCxtReq, PDUSessionResourceSetupListCxtReq_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceSetupResponseTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceSetupResponseTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupItemCxtRes_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceSetupResponseTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceSetupResponseTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSetupItemCxtRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupItemCxtRes, PDUSessionResourceSetupItemCxtRes_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupListCxtRes_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceSetupListCxtRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceSetupItemCxtRes },
};
static int
dissect_ngap_PDUSessionResourceSetupListCxtRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupListCxtRes, PDUSessionResourceSetupListCxtRes_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_handoverRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceSetupRequestTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupItemHOReq_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_s_NSSAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_S_NSSAI },
{ &hf_ngap_handoverRequestTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_handoverRequestTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSetupItemHOReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupItemHOReq, PDUSessionResourceSetupItemHOReq_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupListHOReq_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceSetupListHOReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceSetupItemHOReq },
};
static int
dissect_ngap_PDUSessionResourceSetupListHOReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupListHOReq, PDUSessionResourceSetupListHOReq_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceSetupRequestTransfer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceSetupRequestTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupItemSUReq_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionNAS_PDU, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_NAS_PDU },
{ &hf_ngap_s_NSSAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_S_NSSAI },
{ &hf_ngap_pDUSessionResourceSetupRequestTransfer_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceSetupRequestTransfer_01 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSetupItemSUReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupItemSUReq, PDUSessionResourceSetupItemSUReq_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupListSUReq_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceSetupListSUReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceSetupItemSUReq },
};
static int
dissect_ngap_PDUSessionResourceSetupListSUReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupListSUReq, PDUSessionResourceSetupListSUReq_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceSetupResponseTransfer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceSetupResponseTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupItemSURes_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceSetupResponseTransfer_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceSetupResponseTransfer_01 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSetupItemSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupItemSURes, PDUSessionResourceSetupItemSURes_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupListSURes_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceSetupListSURes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceSetupItemSURes },
};
static int
dissect_ngap_PDUSessionResourceSetupListSURes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupListSURes, PDUSessionResourceSetupListSURes_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupRequestTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSetupRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1192 "./asn1/ngap/ngap.cnf"
volatile guint32 _offset;
_offset = offset;
TRY {
_offset = dissect_per_sequence(tvb, _offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupRequestTransfer, PDUSessionResourceSetupRequestTransfer_sequence);
}
CATCH_BOUNDS_ERRORS {
show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
}
ENDTRY;
offset = _offset;
return offset;
}
static const per_sequence_t PDUSessionResourceSetupResponseTransfer_sequence[] = {
{ &hf_ngap_dLQosFlowPerTNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowPerTNLInformation },
{ &hf_ngap_additionalDLQosFlowPerTNLInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowPerTNLInformationList },
{ &hf_ngap_securityResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_SecurityResult },
{ &hf_ngap_qosFlowFailedToSetupList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowListWithCause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSetupResponseTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupResponseTransfer, PDUSessionResourceSetupResponseTransfer_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupUnsuccessfulTransfer_sequence[] = {
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_criticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_CriticalityDiagnostics },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSetupUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupUnsuccessfulTransfer, PDUSessionResourceSetupUnsuccessfulTransfer_sequence);
return offset;
}
static int
dissect_ngap_T_uEContextSuspendRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_UEContextSuspendRequestTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceSuspendItemSUSReq_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_uEContextSuspendRequestTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_uEContextSuspendRequestTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSuspendItemSUSReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSuspendItemSUSReq, PDUSessionResourceSuspendItemSUSReq_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSuspendListSUSReq_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceSuspendListSUSReq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceSuspendItemSUSReq },
};
static int
dissect_ngap_PDUSessionResourceSuspendListSUSReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSuspendListSUSReq, PDUSessionResourceSuspendListSUSReq_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pathSwitchRequestAcknowledgeTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PathSwitchRequestAcknowledgeTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceSwitchedItem_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pathSwitchRequestAcknowledgeTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pathSwitchRequestAcknowledgeTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSwitchedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSwitchedItem, PDUSessionResourceSwitchedItem_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSwitchedList_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceSwitchedList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceSwitchedItem },
};
static int
dissect_ngap_PDUSessionResourceSwitchedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSwitchedList, PDUSessionResourceSwitchedList_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pathSwitchRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PathSwitchRequestTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceToBeSwitchedDLItem_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pathSwitchRequestTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pathSwitchRequestTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceToBeSwitchedDLItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceToBeSwitchedDLItem, PDUSessionResourceToBeSwitchedDLItem_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceToBeSwitchedDLList_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceToBeSwitchedDLList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceToBeSwitchedDLItem },
};
static int
dissect_ngap_PDUSessionResourceToBeSwitchedDLList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceToBeSwitchedDLList, PDUSessionResourceToBeSwitchedDLList_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_handoverPreparationUnsuccessfulTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_HandoverPreparationUnsuccessfulTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceToReleaseItemHOCmd_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_handoverPreparationUnsuccessfulTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_handoverPreparationUnsuccessfulTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceToReleaseItemHOCmd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceToReleaseItemHOCmd, PDUSessionResourceToReleaseItemHOCmd_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceToReleaseListHOCmd_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceToReleaseListHOCmd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceToReleaseItemHOCmd },
};
static int
dissect_ngap_PDUSessionResourceToReleaseListHOCmd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceToReleaseListHOCmd, PDUSessionResourceToReleaseListHOCmd_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static int
dissect_ngap_T_pDUSessionResourceReleaseCommandTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, dissect_PDUSessionResourceReleaseCommandTransfer_PDU);
return offset;
}
static const per_sequence_t PDUSessionResourceToReleaseItemRelCmd_sequence[] = {
{ &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
{ &hf_ngap_pDUSessionResourceReleaseCommandTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_pDUSessionResourceReleaseCommandTransfer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceToReleaseItemRelCmd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceToReleaseItemRelCmd, PDUSessionResourceToReleaseItemRelCmd_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceToReleaseListRelCmd_sequence_of[1] = {
{ &hf_ngap_PDUSessionResourceToReleaseListRelCmd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceToReleaseItemRelCmd },
};
static int
dissect_ngap_PDUSessionResourceToReleaseListRelCmd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceToReleaseListRelCmd, PDUSessionResourceToReleaseListRelCmd_sequence_of,
1, maxnoofPDUSessions, FALSE);
return offset;
}
static const value_string ngap_PDUSessionType_vals[] = {
{ 0, "ipv4" },
{ 1, "ipv6" },
{ 2, "ipv4v6" },
{ 3, "ethernet" },
{ 4, "unstructured" },
{ 0, NULL }
};
static int
dissect_ngap_PDUSessionType(tvbuff_t *tvb _U_, int offset _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 ngap_T_rATType_vals[] = {
{ 0, "nr" },
{ 1, "eutra" },
{ 2, "nr-unlicensed" },
{ 3, "e-utra-unlicensed" },
{ 0, NULL }
};
static int
dissect_ngap_T_rATType(tvbuff_t *tvb _U_, int offset _U_, asn1_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 int
dissect_ngap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 945 "./asn1/ngap/ngap.cnf"
tvbuff_t *timestamp_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &timestamp_tvb);
#line 949 "./asn1/ngap/ngap.cnf"
if (timestamp_tvb) {
proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
}
return offset;
}
static int
dissect_ngap_T_endTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 954 "./asn1/ngap/ngap.cnf"
tvbuff_t *timestamp_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &timestamp_tvb);
#line 958 "./asn1/ngap/ngap.cnf"
if (timestamp_tvb) {
proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
}
return offset;
}
static int
dissect_ngap_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 VolumeTimedReport_Item_sequence[] = {
{ &hf_ngap_startTimeStamp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_startTimeStamp },
{ &hf_ngap_endTimeStamp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_endTimeStamp },
{ &hf_ngap_usageCountUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_INTEGER_0_18446744073709551615 },
{ &hf_ngap_usageCountDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_INTEGER_0_18446744073709551615 },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_VolumeTimedReport_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_ngap_VolumeTimedReport_Item, VolumeTimedReport_Item_sequence);
return offset;
}
static const per_sequence_t VolumeTimedReportList_sequence_of[1] = {
{ &hf_ngap_VolumeTimedReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_VolumeTimedReport_Item },
};
static int
dissect_ngap_VolumeTimedReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_VolumeTimedReportList, VolumeTimedReportList_sequence_of,
1, maxnoofTimePeriods, FALSE);
return offset;
}
static const per_sequence_t PDUSessionUsageReport_sequence[] = {
{ &hf_ngap_rATType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_rATType },
{ &hf_ngap_pDUSessionTimedReportList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_VolumeTimedReportList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionUsageReport, PDUSessionUsageReport_sequence);
return offset;
}
static int
dissect_ngap_Periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 640000U, NULL, TRUE);
return offset;
}
static const per_sequence_t PLMNSupportItem_sequence[] = {
{ &hf_ngap_pLMNIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNIdentity },
{ &hf_ngap_sliceSupportList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SliceSupportList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PLMNSupportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PLMNSupportItem, PLMNSupportItem_sequence);
return offset;
}
static const per_sequence_t PLMNSupportList_sequence_of[1] = {
{ &hf_ngap_PLMNSupportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PLMNSupportItem },
};
static int
dissect_ngap_PLMNSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_PLMNSupportList, PLMNSupportList_sequence_of,
1, maxnoofPLMNs, FALSE);
return offset;
}
static const value_string ngap_PWSFailedCellIDList_vals[] = {
{ 0, "eUTRA-CGI-PWSFailedList" },
{ 1, "nR-CGI-PWSFailedList" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t PWSFailedCellIDList_choice[] = {
{ 0, &hf_ngap_eUTRA_CGI_PWSFailedList, ASN1_NO_EXTENSIONS , dissect_ngap_EUTRA_CGIList },
{ 1, &hf_ngap_nR_CGI_PWSFailedList, ASN1_NO_EXTENSIONS , dissect_ngap_NR_CGIList },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_PWSFailedCellIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_PWSFailedCellIDList, PWSFailedCellIDList_choice,
NULL);
return offset;
}
static const value_string ngap_QosCharacteristics_vals[] = {
{ 0, "nonDynamic5QI" },
{ 1, "dynamic5QI" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t QosCharacteristics_choice[] = {
{ 0, &hf_ngap_nonDynamic5QI , ASN1_NO_EXTENSIONS , dissect_ngap_NonDynamic5QIDescriptor },
{ 1, &hf_ngap_dynamic5QI , ASN1_NO_EXTENSIONS , dissect_ngap_Dynamic5QIDescriptor },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_QosCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_QosCharacteristics, QosCharacteristics_choice,
NULL);
return offset;
}
static const value_string ngap_ReflectiveQosAttribute_vals[] = {
{ 0, "subject-to" },
{ 0, NULL }
};
static int
dissect_ngap_ReflectiveQosAttribute(tvbuff_t *tvb _U_, int offset _U_, asn1_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 QosFlowLevelQosParameters_sequence[] = {
{ &hf_ngap_qosCharacteristics, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosCharacteristics },
{ &hf_ngap_allocationAndRetentionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AllocationAndRetentionPriority },
{ &hf_ngap_gBR_QosInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_GBR_QosInformation },
{ &hf_ngap_reflectiveQosAttribute, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ReflectiveQosAttribute },
{ &hf_ngap_additionalQosFlowInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AdditionalQosFlowInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowLevelQosParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowLevelQosParameters, QosFlowLevelQosParameters_sequence);
return offset;
}
static const per_sequence_t QosFlowAddOrModifyRequestItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_qosFlowLevelQosParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowLevelQosParameters },
{ &hf_ngap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_E_RAB_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowAddOrModifyRequestItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowAddOrModifyRequestItem, QosFlowAddOrModifyRequestItem_sequence);
return offset;
}
static const per_sequence_t QosFlowAddOrModifyRequestList_sequence_of[1] = {
{ &hf_ngap_QosFlowAddOrModifyRequestList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowAddOrModifyRequestItem },
};
static int
dissect_ngap_QosFlowAddOrModifyRequestList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowAddOrModifyRequestList, QosFlowAddOrModifyRequestList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static int
dissect_ngap_UpdateFeedback(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1178 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, TRUE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
static int * const fields[] = {
&hf_ngap_UpdateFeedback_CN_PDB_DL,
&hf_ngap_UpdateFeedback_CN_PDB_UL,
&hf_ngap_UpdateFeedback_reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_UpdateFeedback);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
}
return offset;
}
static const per_sequence_t QosFlowFeedbackItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_updateFeedback , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UpdateFeedback },
{ &hf_ngap_cNpacketDelayBudgetDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExtendedPacketDelayBudget },
{ &hf_ngap_cNpacketDelayBudgetUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExtendedPacketDelayBudget },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowFeedbackItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowFeedbackItem, QosFlowFeedbackItem_sequence);
return offset;
}
static const per_sequence_t QosFlowFeedbackList_sequence_of[1] = {
{ &hf_ngap_QosFlowFeedbackList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowFeedbackItem },
};
static int
dissect_ngap_QosFlowFeedbackList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowFeedbackList, QosFlowFeedbackList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const value_string ngap_QosMonitoringRequest_vals[] = {
{ 0, "ul" },
{ 1, "dl" },
{ 2, "both" },
{ 3, "stop" },
{ 0, NULL }
};
static int
dissect_ngap_QosMonitoringRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 1, NULL);
return offset;
}
static int
dissect_ngap_QosMonitoringReportingFrequency(tvbuff_t *tvb _U_, int offset _U_, 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, 1800U, NULL, TRUE);
return offset;
}
static const per_sequence_t QosFlowParametersItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_alternativeQoSParaSetList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AlternativeQoSParaSetList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowParametersItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowParametersItem, QosFlowParametersItem_sequence);
return offset;
}
static const per_sequence_t QosFlowParametersList_sequence_of[1] = {
{ &hf_ngap_QosFlowParametersList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowParametersItem },
};
static int
dissect_ngap_QosFlowParametersList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowParametersList, QosFlowParametersList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const per_sequence_t QosFlowSetupRequestItem_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_qosFlowLevelQosParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowLevelQosParameters },
{ &hf_ngap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_E_RAB_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QosFlowSetupRequestItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowSetupRequestItem, QosFlowSetupRequestItem_sequence);
return offset;
}
static const per_sequence_t QosFlowSetupRequestList_sequence_of[1] = {
{ &hf_ngap_QosFlowSetupRequestList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowSetupRequestItem },
};
static int
dissect_ngap_QosFlowSetupRequestList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QosFlowSetupRequestList, QosFlowSetupRequestList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static const value_string ngap_T_rATType_01_vals[] = {
{ 0, "nr" },
{ 1, "eutra" },
{ 2, "nr-unlicensed" },
{ 3, "e-utra-unlicensed" },
{ 0, NULL }
};
static int
dissect_ngap_T_rATType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 2, NULL);
return offset;
}
static const per_sequence_t QoSFlowsUsageReport_Item_sequence[] = {
{ &hf_ngap_qosFlowIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIdentifier },
{ &hf_ngap_rATType_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_rATType_01 },
{ &hf_ngap_qoSFlowsTimedReportList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_VolumeTimedReportList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_QoSFlowsUsageReport_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_ngap_QoSFlowsUsageReport_Item, QoSFlowsUsageReport_Item_sequence);
return offset;
}
static const per_sequence_t QoSFlowsUsageReportList_sequence_of[1] = {
{ &hf_ngap_QoSFlowsUsageReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QoSFlowsUsageReport_Item },
};
static int
dissect_ngap_QoSFlowsUsageReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_QoSFlowsUsageReportList, QoSFlowsUsageReportList_sequence_of,
1, maxnoofQosFlows, FALSE);
return offset;
}
static int
dissect_ngap_RANNodeName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
1, 150, TRUE);
return offset;
}
static int
dissect_ngap_RANPagingPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 256U, NULL, FALSE);
return offset;
}
static const per_sequence_t RANStatusTransfer_TransparentContainer_sequence[] = {
{ &hf_ngap_dRBsSubjectToStatusTransferList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRBsSubjectToStatusTransferList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RANStatusTransfer_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RANStatusTransfer_TransparentContainer, RANStatusTransfer_TransparentContainer_sequence);
return offset;
}
static int
dissect_ngap_RAN_UE_NGAP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 228 "./asn1/ngap/ngap.cnf"
guint32 ran_ue_ngap_id;
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4294967295U, &ran_ue_ngap_id, FALSE);
ngap_data->ran_ue_ngap_id = ran_ue_ngap_id;
return offset;
}
static const value_string ngap_RAT_Information_vals[] = {
{ unlicensed, "unlicensed" },
{ nb_IoT, "nb-IoT" },
{ 0, NULL }
};
static int
dissect_ngap_RAT_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 526 "./asn1/ngap/ngap.cnf"
guint32 rat_info = 0xffffffff;
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, &rat_info, TRUE, 0, NULL);
if (ngap_data->ngap_conv && ngap_data->supported_ta && (rat_info == nb_IoT)) {
guint64 *key;
guint i;
for (i = 0; i < wmem_array_get_count(ngap_data->supported_ta->plmn); i++) {
key = wmem_new(wmem_file_scope(), guint64);
*key = ((*(guint32*)wmem_array_index(ngap_data->supported_ta->plmn, i)) << 24) | ngap_data->supported_ta->tac;
wmem_map_insert(ngap_data->ngap_conv->nbiot_ta, key, GUINT_TO_POINTER(1));
}
}
return offset;
}
static const value_string ngap_RedirectionVoiceFallback_vals[] = {
{ 0, "possible" },
{ 1, "not-possible" },
{ 0, NULL }
};
static int
dissect_ngap_RedirectionVoiceFallback(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_RSN_vals[] = {
{ 0, "v1" },
{ 1, "v2" },
{ 0, NULL }
};
static int
dissect_ngap_RSN(tvbuff_t *tvb _U_, int offset _U_, asn1_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 RedundantPDUSessionInformation_sequence[] = {
{ &hf_ngap_rSN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RSN },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RedundantPDUSessionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RedundantPDUSessionInformation, RedundantPDUSessionInformation_sequence);
return offset;
}
static const value_string ngap_RedundantQosFlowIndicator_vals[] = {
{ 0, "true" },
{ 1, "false" },
{ 0, NULL }
};
static int
dissect_ngap_RedundantQosFlowIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_RelativeAMFCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_RepetitionPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 131071U, NULL, FALSE);
return offset;
}
static const value_string ngap_ResetAll_vals[] = {
{ 0, "reset-all" },
{ 0, NULL }
};
static int
dissect_ngap_ResetAll(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t UE_associatedLogicalNG_connectionItem_sequence[] = {
{ &hf_ngap_aMF_UE_NGAP_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AMF_UE_NGAP_ID },
{ &hf_ngap_rAN_UE_NGAP_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_RAN_UE_NGAP_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UE_associatedLogicalNG_connectionItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UE_associatedLogicalNG_connectionItem, UE_associatedLogicalNG_connectionItem_sequence);
return offset;
}
static const per_sequence_t UE_associatedLogicalNG_connectionList_sequence_of[1] = {
{ &hf_ngap_UE_associatedLogicalNG_connectionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_UE_associatedLogicalNG_connectionItem },
};
static int
dissect_ngap_UE_associatedLogicalNG_connectionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_UE_associatedLogicalNG_connectionList, UE_associatedLogicalNG_connectionList_sequence_of,
1, maxnoofNGConnectionsToReset, FALSE);
return offset;
}
static const value_string ngap_ResetType_vals[] = {
{ 0, "nG-Interface" },
{ 1, "partOfNG-Interface" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t ResetType_choice[] = {
{ 0, &hf_ngap_nG_Interface , ASN1_NO_EXTENSIONS , dissect_ngap_ResetAll },
{ 1, &hf_ngap_partOfNG_Interface, ASN1_NO_EXTENSIONS , dissect_ngap_UE_associatedLogicalNG_connectionList },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_ResetType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_ResetType, ResetType_choice,
NULL);
return offset;
}
static int
dissect_ngap_RGLevelWirelineAccessCharacteristics(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_ngap_RNC_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_ngap_RoutingID(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_ngap_RRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 683 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb) {
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
proto_tree *subtree;
GlobalRANNodeID_enum ranmode_id;
if (ngap_data->transparent_container_type == SOURCE_TO_TARGET_TRANSPARENT_CONTAINER ||
ngap_data->transparent_container_type == TARGET_TO_SOURCE_TRANSPARENT_CONTAINER) {
if (actx->pinfo->destport == gbl_ngapSctpPort)
ranmode_id = ngap_get_ranmode_id(&actx->pinfo->src, actx->pinfo->srcport, actx->pinfo);
else
ranmode_id = ngap_get_ranmode_id(&actx->pinfo->dst, actx->pinfo->destport, actx->pinfo);
} else {
ranmode_id = (GlobalRANNodeID_enum)-1;
}
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_RRCContainer);
if ((ngap_dissect_target_ng_ran_container_as == NGAP_NG_RAN_CONTAINER_AUTOMATIC &&
ranmode_id == globalGNB_ID) ||
(ngap_dissect_target_ng_ran_container_as == NGAP_NG_RAN_CONTAINER_GNB)) {
if (ngap_data->transparent_container_type == SOURCE_TO_TARGET_TRANSPARENT_CONTAINER) {
dissect_nr_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
} else if (ngap_data->transparent_container_type == TARGET_TO_SOURCE_TRANSPARENT_CONTAINER) {
dissect_nr_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
}
} else if ((ngap_dissect_target_ng_ran_container_as == NGAP_NG_RAN_CONTAINER_AUTOMATIC &&
ranmode_id == globalNgENB_ID) ||
(ngap_dissect_target_ng_ran_container_as == NGAP_NG_RAN_CONTAINER_NG_ENB)) {
if (ngap_data->transparent_container_type == SOURCE_TO_TARGET_TRANSPARENT_CONTAINER) {
dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
} else if (ngap_data->transparent_container_type == TARGET_TO_SOURCE_TRANSPARENT_CONTAINER) {
dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
}
}
}
return offset;
}
static const value_string ngap_RRCEstablishmentCause_vals[] = {
{ 0, "emergency" },
{ 1, "highPriorityAccess" },
{ 2, "mt-Access" },
{ 3, "mo-Signalling" },
{ 4, "mo-Data" },
{ 5, "mo-VoiceCall" },
{ 6, "mo-VideoCall" },
{ 7, "mo-SMS" },
{ 8, "mps-PriorityAccess" },
{ 9, "mcs-PriorityAccess" },
{ 10, "notAvailable" },
{ 11, "mo-ExceptionData" },
{ 0, NULL }
};
static int
dissect_ngap_RRCEstablishmentCause(tvbuff_t *tvb _U_, int offset _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, 2, NULL);
return offset;
}
static const value_string ngap_RRCInactiveTransitionReportRequest_vals[] = {
{ 0, "subsequent-state-transition-report" },
{ 1, "single-rrc-connected-state-report" },
{ 2, "cancel-report" },
{ 0, NULL }
};
static int
dissect_ngap_RRCInactiveTransitionReportRequest(tvbuff_t *tvb _U_, int offset _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 ngap_RRCState_vals[] = {
{ 0, "inactive" },
{ 1, "connected" },
{ 0, NULL }
};
static int
dissect_ngap_RRCState(tvbuff_t *tvb _U_, int offset _U_, asn1_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 TargetRANNodeID_sequence[] = {
{ &hf_ngap_globalRANNodeID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GlobalRANNodeID },
{ &hf_ngap_selectedTAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TargetRANNodeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TargetRANNodeID, TargetRANNodeID_sequence);
return offset;
}
static const per_sequence_t SourceRANNodeID_sequence[] = {
{ &hf_ngap_globalRANNodeID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GlobalRANNodeID },
{ &hf_ngap_selectedTAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SourceRANNodeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SourceRANNodeID, SourceRANNodeID_sequence);
return offset;
}
static int
dissect_ngap_GNBSetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
22, 22, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const value_string ngap_T_rIM_RSDetection_vals[] = {
{ 0, "rs-detected" },
{ 1, "rs-disappeared" },
{ 0, NULL }
};
static int
dissect_ngap_T_rIM_RSDetection(tvbuff_t *tvb _U_, int offset _U_, asn1_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 RIMInformation_sequence[] = {
{ &hf_ngap_targetgNBSetID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GNBSetID },
{ &hf_ngap_rIM_RSDetection, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_T_rIM_RSDetection },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RIMInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RIMInformation, RIMInformation_sequence);
return offset;
}
static const per_sequence_t RIMInformationTransfer_sequence[] = {
{ &hf_ngap_targetRANNodeID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TargetRANNodeID },
{ &hf_ngap_sourceRANNodeID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SourceRANNodeID },
{ &hf_ngap_rIMInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RIMInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RIMInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RIMInformationTransfer, RIMInformationTransfer_sequence);
return offset;
}
static int
dissect_ngap_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_ngap_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_ngap_dayofWeek , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BIT_STRING_SIZE_7 },
{ &hf_ngap_timeofDayStart , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_INTEGER_0_86399_ },
{ &hf_ngap_timeofDayEnd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_INTEGER_0_86399_ },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_ScheduledCommunicationTime, ScheduledCommunicationTime_sequence);
return offset;
}
static const per_sequence_t SCTP_TLAs_sequence_of[1] = {
{ &hf_ngap_SCTP_TLAs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TransportLayerAddress },
};
static int
dissect_ngap_SCTP_TLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_SCTP_TLAs, SCTP_TLAs_sequence_of,
1, maxnoofXnTLAs, FALSE);
return offset;
}
static const per_sequence_t SecondaryRATUsageInformation_sequence[] = {
{ &hf_ngap_pDUSessionUsageReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PDUSessionUsageReport },
{ &hf_ngap_qosFlowsUsageReportList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QoSFlowsUsageReportList },
{ &hf_ngap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SecondaryRATUsageInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SecondaryRATUsageInformation, SecondaryRATUsageInformation_sequence);
return offset;
}
static const per_sequence_t SecondaryRATDataUsageReportTransfer_sequence[] = {
{ &hf_ngap_secondaryRATUsageInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_SecondaryRATUsageInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
int
dissect_ngap_SecondaryRATDataUsageReportTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SecondaryRATDataUsageReportTransfer, SecondaryRATDataUsageReportTransfer_sequence);
return offset;
}
static int
dissect_ngap_SecurityKey(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 per_sequence_t SecurityContext_sequence[] = {
{ &hf_ngap_nextHopChainingCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NextHopChainingCount },
{ &hf_ngap_nextHopNH , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SecurityKey },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SecurityContext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SecurityContext, SecurityContext_sequence);
return offset;
}
static int
dissect_ngap_SerialNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 391 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, NULL, 0, &parameter_tvb, NULL);
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_SerialNumber);
proto_tree_add_item(subtree, hf_ngap_SerialNumber_gs, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ngap_SerialNumber_msg_code, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ngap_SerialNumber_upd_nb, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
}
return offset;
}
static const per_sequence_t ServedGUAMIItem_sequence[] = {
{ &hf_ngap_gUAMI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GUAMI },
{ &hf_ngap_backupAMFName , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AMFName },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_ServedGUAMIItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_ServedGUAMIItem, ServedGUAMIItem_sequence);
return offset;
}
static const per_sequence_t ServedGUAMIList_sequence_of[1] = {
{ &hf_ngap_ServedGUAMIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ServedGUAMIItem },
};
static int
dissect_ngap_ServedGUAMIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_ServedGUAMIList, ServedGUAMIList_sequence_of,
1, maxnoofServedGUAMIs, FALSE);
return offset;
}
static int
dissect_ngap_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 value_string ngap_SONInformationRequest_vals[] = {
{ 0, "xn-TNL-configuration-info" },
{ 0, NULL }
};
static int
dissect_ngap_SONInformationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_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 XnTLAs_sequence_of[1] = {
{ &hf_ngap_XnTLAs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TransportLayerAddress },
};
static int
dissect_ngap_XnTLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_XnTLAs, XnTLAs_sequence_of,
1, maxnoofXnTLAs, FALSE);
return offset;
}
static const per_sequence_t XnGTP_TLAs_sequence_of[1] = {
{ &hf_ngap_XnGTP_TLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TransportLayerAddress },
};
static int
dissect_ngap_XnGTP_TLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_XnGTP_TLAs, XnGTP_TLAs_sequence_of,
1, maxnoofXnGTP_TLAs, FALSE);
return offset;
}
static const per_sequence_t XnExtTLA_Item_sequence[] = {
{ &hf_ngap_iPsecTLA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TransportLayerAddress },
{ &hf_ngap_gTP_TLAs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_XnGTP_TLAs },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_XnExtTLA_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_ngap_XnExtTLA_Item, XnExtTLA_Item_sequence);
return offset;
}
static const per_sequence_t XnExtTLAs_sequence_of[1] = {
{ &hf_ngap_XnExtTLAs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_XnExtTLA_Item },
};
static int
dissect_ngap_XnExtTLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_XnExtTLAs, XnExtTLAs_sequence_of,
1, maxnoofXnExtTLAs, FALSE);
return offset;
}
static const per_sequence_t XnTNLConfigurationInfo_sequence[] = {
{ &hf_ngap_xnTransportLayerAddresses, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_XnTLAs },
{ &hf_ngap_xnExtendedTransportLayerAddresses, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_XnExtTLAs },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_XnTNLConfigurationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_XnTNLConfigurationInfo, XnTNLConfigurationInfo_sequence);
return offset;
}
static const per_sequence_t SONInformationReply_sequence[] = {
{ &hf_ngap_xnTNLConfigurationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_XnTNLConfigurationInfo },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SONInformationReply(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SONInformationReply, SONInformationReply_sequence);
return offset;
}
static const value_string ngap_SONInformation_vals[] = {
{ 0, "sONInformationRequest" },
{ 1, "sONInformationReply" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t SONInformation_choice[] = {
{ 0, &hf_ngap_sONInformationRequest, ASN1_NO_EXTENSIONS , dissect_ngap_SONInformationRequest },
{ 1, &hf_ngap_sONInformationReply, ASN1_NO_EXTENSIONS , dissect_ngap_SONInformationReply },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_SONInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_SONInformation, SONInformation_choice,
NULL);
return offset;
}
static const per_sequence_t SONConfigurationTransfer_sequence[] = {
{ &hf_ngap_targetRANNodeID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TargetRANNodeID },
{ &hf_ngap_sourceRANNodeID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SourceRANNodeID },
{ &hf_ngap_sONInformation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_SONInformation },
{ &hf_ngap_xnTNLConfigurationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_XnTNLConfigurationInfo },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SONConfigurationTransfer, SONConfigurationTransfer_sequence);
return offset;
}
static const value_string ngap_SONInformationReport_vals[] = {
{ 0, "failureIndicationInformation" },
{ 1, "hOReportInformation" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t SONInformationReport_choice[] = {
{ 0, &hf_ngap_failureIndicationInformation_01, ASN1_NO_EXTENSIONS , dissect_ngap_FailureIndication },
{ 1, &hf_ngap_hOReportInformation_01, ASN1_NO_EXTENSIONS , dissect_ngap_HOReport },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_SONInformationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_SONInformationReport, SONInformationReport_choice,
NULL);
return offset;
}
static const per_sequence_t UEHistoryInformation_sequence_of[1] = {
{ &hf_ngap_UEHistoryInformation_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_LastVisitedCellItem },
};
static int
dissect_ngap_UEHistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_UEHistoryInformation, UEHistoryInformation_sequence_of,
1, maxnoofCellsinUEHistoryInfo, FALSE);
return offset;
}
static const per_sequence_t SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_sequence[] = {
{ &hf_ngap_rRCContainer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RRCContainer },
{ &hf_ngap_pDUSessionResourceInformationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PDUSessionResourceInformationList },
{ &hf_ngap_e_RABInformationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_E_RABInformationList },
{ &hf_ngap_targetCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
{ &hf_ngap_indexToRFSP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_IndexToRFSP },
{ &hf_ngap_uEHistoryInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UEHistoryInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 672 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->transparent_container_type = SOURCE_TO_TARGET_TRANSPARENT_CONTAINER;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer, SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_sequence);
return offset;
}
static int
dissect_ngap_SourceToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 286 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (ngap_dissect_container && parameter_tvb &&
tvb_reported_length(parameter_tvb) > 0) {
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
/* Don't want elements inside container to write to info column */
col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE);
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_SourceToTarget_TransparentContainer);
TRY {
switch(ngap_data->handover_type_value) {
case intra5gs:
case eps_to_5gs:
dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
case fivegs_to_eps:
dissect_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
case fivegs_to_utran:
dissect_rrc_ToTargetRNC_Container_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
default:
break;
}
}
CATCH_BOUNDS_ERRORS {
show_exception(tvb, actx->pinfo, tree, EXCEPT_CODE, GET_MESSAGE);
}
ENDTRY;
/* Enable writing of the column again */
col_set_writable(actx->pinfo->cinfo, COL_INFO, TRUE);
}
return offset;
}
static int
dissect_ngap_ConfiguredNSSAI(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,
128, 128, FALSE, NULL);
return offset;
}
static int
dissect_ngap_RejectedNSSAIinPLMN(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,
32, 32, FALSE, NULL);
return offset;
}
static int
dissect_ngap_RejectedNSSAIinTA(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,
32, 32, FALSE, NULL);
return offset;
}
static const per_sequence_t SourceToTarget_AMFInformationReroute_sequence[] = {
{ &hf_ngap_configuredNSSAI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ConfiguredNSSAI },
{ &hf_ngap_rejectedNSSAIinPLMN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_RejectedNSSAIinPLMN },
{ &hf_ngap_rejectedNSSAIinTA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_RejectedNSSAIinTA },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SourceToTarget_AMFInformationReroute(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SourceToTarget_AMFInformationReroute, SourceToTarget_AMFInformationReroute_sequence);
return offset;
}
static const value_string ngap_SRVCCOperationPossible_vals[] = {
{ 0, "possible" },
{ 1, "notPossible" },
{ 0, NULL }
};
static int
dissect_ngap_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,
2, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t SupportedTAItem_sequence[] = {
{ &hf_ngap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAC },
{ &hf_ngap_broadcastPLMNList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BroadcastPLMNList },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SupportedTAItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 512 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
if (!PINFO_FD_VISITED(actx->pinfo) &&
(ngap_data->message_type == INITIATING_MESSAGE) &&
((ngap_data->procedure_code == id_NGSetup) ||
(ngap_data->procedure_code == id_RANConfigurationUpdate))) {
ngap_data->supported_ta = wmem_new0(actx->pinfo->pool, struct ngap_supported_ta);
ngap_data->supported_ta->plmn = wmem_array_new(actx->pinfo->pool, sizeof(guint32));
}
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SupportedTAItem, SupportedTAItem_sequence);
#line 523 "./asn1/ngap/ngap.cnf"
ngap_data->supported_ta = NULL;
return offset;
}
static const per_sequence_t SupportedTAList_sequence_of[1] = {
{ &hf_ngap_SupportedTAList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_SupportedTAItem },
};
static int
dissect_ngap_SupportedTAList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_SupportedTAList, SupportedTAList_sequence_of,
1, maxnoofTACs, FALSE);
return offset;
}
static const value_string ngap_SuspendIndicator_vals[] = {
{ 0, "true" },
{ 0, NULL }
};
static int
dissect_ngap_SuspendIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_Suspend_Request_Indication_vals[] = {
{ 0, "suspend-requested" },
{ 0, NULL }
};
static int
dissect_ngap_Suspend_Request_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 ngap_Suspend_Response_Indication_vals[] = {
{ 0, "suspend-indicated" },
{ 0, NULL }
};
static int
dissect_ngap_Suspend_Response_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 per_sequence_t TAIListForPagingItem_sequence[] = {
{ &hf_ngap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TAIListForPagingItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TAIListForPagingItem, TAIListForPagingItem_sequence);
return offset;
}
static const per_sequence_t TAIListForPaging_sequence_of[1] = {
{ &hf_ngap_TAIListForPaging_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAIListForPagingItem },
};
static int
dissect_ngap_TAIListForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_TAIListForPaging, TAIListForPaging_sequence_of,
1, maxnoofTAIforPaging, FALSE);
return offset;
}
static const per_sequence_t TAIListForRestart_sequence_of[1] = {
{ &hf_ngap_TAIListForRestart_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
};
static int
dissect_ngap_TAIListForRestart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_TAIListForRestart, TAIListForRestart_sequence_of,
1, maxnoofTAIforRestart, FALSE);
return offset;
}
static const per_sequence_t TAIListForWarning_sequence_of[1] = {
{ &hf_ngap_TAIListForWarning_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
};
static int
dissect_ngap_TAIListForWarning(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_TAIListForWarning, TAIListForWarning_sequence_of,
1, maxnoofTAIforWarning, FALSE);
return offset;
}
static const per_sequence_t TargeteNB_ID_sequence[] = {
{ &hf_ngap_globalENB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GlobalNgENB_ID },
{ &hf_ngap_selected_EPS_TAI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EPS_TAI },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TargeteNB_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_ngap_TargeteNB_ID, TargeteNB_ID_sequence);
return offset;
}
static const value_string ngap_TargetID_vals[] = {
{ 0, "targetRANNodeID" },
{ 1, "targeteNB-ID" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t TargetID_choice[] = {
{ 0, &hf_ngap_targetRANNodeID, ASN1_NO_EXTENSIONS , dissect_ngap_TargetRANNodeID },
{ 1, &hf_ngap_targeteNB_ID , ASN1_NO_EXTENSIONS , dissect_ngap_TargeteNB_ID },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_TargetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_TargetID, TargetID_choice,
NULL);
return offset;
}
static const per_sequence_t TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_sequence[] = {
{ &hf_ngap_rRCContainer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RRCContainer },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 678 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->transparent_container_type = TARGET_TO_SOURCE_TRANSPARENT_CONTAINER;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer, TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_sequence);
return offset;
}
static const per_sequence_t TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_sequence[] = {
{ &hf_ngap_cell_CAGInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_Cell_CAGInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer, TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_sequence);
return offset;
}
static const per_sequence_t TargetRNC_ID_sequence[] = {
{ &hf_ngap_lAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_LAI },
{ &hf_ngap_rNC_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RNC_ID },
{ &hf_ngap_extendedRNC_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ExtendedRNC_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TargetRNC_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_ngap_TargetRNC_ID, TargetRNC_ID_sequence);
return offset;
}
static int
dissect_ngap_TargetToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 322 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (ngap_dissect_container && parameter_tvb &&
tvb_reported_length(parameter_tvb) > 0) {
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
/* Don't want elements inside container to write to info column */
col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE);
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_TargetToSource_TransparentContainer);
if (ngap_data->procedure_code == id_HandoverPreparation) {
switch(ngap_data->handover_type_value) {
case intra5gs:
case eps_to_5gs:
dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
case fivegs_to_eps:
dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
case fivegs_to_utran:
dissect_rrc_TargetRNC_ToSourceRNC_Container_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
default:
break;
}
} else {
dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
}
/* Enable writing of the column again */
col_set_writable(actx->pinfo->cinfo, COL_INFO, TRUE);
}
return offset;
}
static int
dissect_ngap_TargettoSource_Failure_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 354 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (ngap_dissect_container && parameter_tvb &&
tvb_reported_length(parameter_tvb) > 0) {
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
/* Don't want elements inside container to write to info column */
col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE);
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_TargettoSource_Failure_TransparentContainer);
switch(ngap_data->handover_type_value) {
case intra5gs:
dissect_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
default:
break;
}
/* Enable writing of the column again */
col_set_writable(actx->pinfo->cinfo, COL_INFO, TRUE);
}
return offset;
}
static const value_string ngap_TimerApproachForGUAMIRemoval_vals[] = {
{ 0, "apply-timer" },
{ 0, NULL }
};
static int
dissect_ngap_TimerApproachForGUAMIRemoval(tvbuff_t *tvb _U_, int offset _U_, asn1_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_ngap_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 785 "./asn1/ngap/ngap.cnf"
tvbuff_t *timestamp_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &timestamp_tvb);
#line 789 "./asn1/ngap/ngap.cnf"
if (timestamp_tvb) {
proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
}
return offset;
}
static const value_string ngap_TimeToWait_vals[] = {
{ 0, "v1s" },
{ 1, "v2s" },
{ 2, "v5s" },
{ 3, "v10s" },
{ 4, "v20s" },
{ 5, "v60s" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_TNAP_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,
NO_BOUND, NO_BOUND, FALSE, NULL);
return offset;
}
static const per_sequence_t TNLAssociationItem_sequence[] = {
{ &hf_ngap_tNLAssociationAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_CPTransportLayerInformation },
{ &hf_ngap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Cause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TNLAssociationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TNLAssociationItem, TNLAssociationItem_sequence);
return offset;
}
static const per_sequence_t TNLAssociationList_sequence_of[1] = {
{ &hf_ngap_TNLAssociationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_TNLAssociationItem },
};
static int
dissect_ngap_TNLAssociationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_TNLAssociationList, TNLAssociationList_sequence_of,
1, maxnoofTNLAssociations, FALSE);
return offset;
}
static const value_string ngap_TraceDepth_vals[] = {
{ 0, "minimum" },
{ 1, "medium" },
{ 2, "maximum" },
{ 3, "minimumWithoutVendorSpecificExtension" },
{ 4, "mediumWithoutVendorSpecificExtension" },
{ 5, "maximumWithoutVendorSpecificExtension" },
{ 0, NULL }
};
static int
dissect_ngap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, NULL, TRUE, 0, NULL);
return offset;
}
static const per_sequence_t TraceActivation_sequence[] = {
{ &hf_ngap_nGRANTraceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRANTraceID },
{ &hf_ngap_interfacesToTrace, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_InterfacesToTrace },
{ &hf_ngap_traceDepth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TraceDepth },
{ &hf_ngap_traceCollectionEntityIPAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TransportLayerAddress },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_TraceActivation, TraceActivation_sequence);
return offset;
}
static int
dissect_ngap_TWAP_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,
NO_BOUND, NO_BOUND, FALSE, NULL);
return offset;
}
static const per_sequence_t TSCAssistanceInformation_sequence[] = {
{ &hf_ngap_periodicity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_Periodicity },
{ &hf_ngap_burstArrivalTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_BurstArrivalTime },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TSCAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TSCAssistanceInformation, TSCAssistanceInformation_sequence);
return offset;
}
static const per_sequence_t TSCTrafficCharacteristics_sequence[] = {
{ &hf_ngap_tSCAssistanceInformationDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TSCAssistanceInformation },
{ &hf_ngap_tSCAssistanceInformationUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TSCAssistanceInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TSCTrafficCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TSCTrafficCharacteristics, TSCTrafficCharacteristics_sequence);
return offset;
}
static const per_sequence_t UEAggregateMaximumBitRate_sequence[] = {
{ &hf_ngap_uEAggregateMaximumBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_uEAggregateMaximumBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_BitRate },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_UEAggregateMaximumBitRate, UEAggregateMaximumBitRate_sequence);
return offset;
}
static const value_string ngap_UECapabilityInfoRequest_vals[] = {
{ 0, "requested" },
{ 0, NULL }
};
static int
dissect_ngap_UECapabilityInfoRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_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 ngap_UEContextRequest_vals[] = {
{ 0, "requested" },
{ 0, NULL }
};
static int
dissect_ngap_UEContextRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_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 UEContextResumeRequestTransfer_sequence[] = {
{ &hf_ngap_qosFlowFailedToResumeList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowListWithCause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextResumeRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextResumeRequestTransfer, UEContextResumeRequestTransfer_sequence);
return offset;
}
static const per_sequence_t UEContextResumeResponseTransfer_sequence[] = {
{ &hf_ngap_qosFlowFailedToResumeList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_QosFlowListWithCause },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextResumeResponseTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextResumeResponseTransfer, UEContextResumeResponseTransfer_sequence);
return offset;
}
static const per_sequence_t UEContextSuspendRequestTransfer_sequence[] = {
{ &hf_ngap_suspendIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_SuspendIndicator },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextSuspendRequestTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextSuspendRequestTransfer, UEContextSuspendRequestTransfer_sequence);
return offset;
}
static const value_string ngap_T_periodicCommunicationIndicator_vals[] = {
{ 0, "periodically" },
{ 1, "ondemand" },
{ 0, NULL }
};
static int
dissect_ngap_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_ngap_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 const value_string ngap_T_stationaryIndication_vals[] = {
{ 0, "stationary" },
{ 1, "mobile" },
{ 0, NULL }
};
static int
dissect_ngap_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 ngap_T_trafficProfile_vals[] = {
{ 0, "single-packet" },
{ 1, "dual-packets" },
{ 2, "multiple-packets" },
{ 0, NULL }
};
static int
dissect_ngap_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 ngap_T_batteryIndication_vals[] = {
{ 0, "battery-powered" },
{ 1, "battery-powered-not-rechargeable-or-replaceable" },
{ 2, "not-battery-powered" },
{ 0, NULL }
};
static int
dissect_ngap_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 UE_DifferentiationInfo_sequence[] = {
{ &hf_ngap_periodicCommunicationIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_T_periodicCommunicationIndicator },
{ &hf_ngap_periodicTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_INTEGER_1_3600_ },
{ &hf_ngap_scheduledCommunicationTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ScheduledCommunicationTime },
{ &hf_ngap_stationaryIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_T_stationaryIndication },
{ &hf_ngap_trafficProfile , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_T_trafficProfile },
{ &hf_ngap_batteryIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_T_batteryIndication },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_UE_DifferentiationInfo, UE_DifferentiationInfo_sequence);
return offset;
}
static const value_string ngap_UEHistoryInformationFromTheUE_vals[] = {
{ 0, "nR" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t UEHistoryInformationFromTheUE_choice[] = {
{ 0, &hf_ngap_nR , ASN1_NO_EXTENSIONS , dissect_ngap_NRMobilityHistoryReport },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_UEHistoryInformationFromTheUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_UEHistoryInformationFromTheUE, UEHistoryInformationFromTheUE_choice,
NULL);
return offset;
}
static const per_sequence_t UE_NGAP_ID_pair_sequence[] = {
{ &hf_ngap_aMF_UE_NGAP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_AMF_UE_NGAP_ID },
{ &hf_ngap_rAN_UE_NGAP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RAN_UE_NGAP_ID },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UE_NGAP_ID_pair(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UE_NGAP_ID_pair, UE_NGAP_ID_pair_sequence);
return offset;
}
static const value_string ngap_UE_NGAP_IDs_vals[] = {
{ 0, "uE-NGAP-ID-pair" },
{ 1, "aMF-UE-NGAP-ID" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t UE_NGAP_IDs_choice[] = {
{ 0, &hf_ngap_uE_NGAP_ID_pair, ASN1_NO_EXTENSIONS , dissect_ngap_UE_NGAP_ID_pair },
{ 1, &hf_ngap_aMF_UE_NGAP_ID , ASN1_NO_EXTENSIONS , dissect_ngap_AMF_UE_NGAP_ID },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_UE_NGAP_IDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_UE_NGAP_IDs, UE_NGAP_IDs_choice,
NULL);
return offset;
}
static const value_string ngap_UEPagingIdentity_vals[] = {
{ 0, "fiveG-S-TMSI" },
{ 1, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t UEPagingIdentity_choice[] = {
{ 0, &hf_ngap_fiveG_S_TMSI , ASN1_NO_EXTENSIONS , dissect_ngap_FiveG_S_TMSI },
{ 1, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_UEPagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_UEPagingIdentity, UEPagingIdentity_choice,
NULL);
return offset;
}
static const value_string ngap_UEPresence_vals[] = {
{ 0, "in" },
{ 1, "out" },
{ 2, "unknown" },
{ 0, NULL }
};
static int
dissect_ngap_UEPresence(tvbuff_t *tvb _U_, int offset _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 UEPresenceInAreaOfInterestItem_sequence[] = {
{ &hf_ngap_locationReportingReferenceID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_LocationReportingReferenceID },
{ &hf_ngap_uEPresence , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UEPresence },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEPresenceInAreaOfInterestItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEPresenceInAreaOfInterestItem, UEPresenceInAreaOfInterestItem_sequence);
return offset;
}
static const per_sequence_t UEPresenceInAreaOfInterestList_sequence_of[1] = {
{ &hf_ngap_UEPresenceInAreaOfInterestList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_UEPresenceInAreaOfInterestItem },
};
static int
dissect_ngap_UEPresenceInAreaOfInterestList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_UEPresenceInAreaOfInterestList, UEPresenceInAreaOfInterestList_sequence_of,
1, maxnoofAoI, FALSE);
return offset;
}
static int
dissect_ngap_UERadioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 757 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb) {
proto_tree *subtree;
volatile dissector_handle_t handle;
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_UERadioCapability);
if (ngap_data->procedure_code == id_UERadioCapability_EUTRA_Format) {
handle = lte_rrc_ue_radio_access_cap_info_handle;
} else if ((ngap_is_nbiot_ue(actx->pinfo) && ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_AUTOMATIC) ||
(ngap_dissect_lte_container_as == NGAP_LTE_CONTAINER_NBIOT)) {
handle = lte_rrc_ue_radio_access_cap_info_nb_handle;
} else {
handle = nr_rrc_ue_radio_access_cap_info_handle;
}
if (handle) {
TRY {
call_dissector(handle, parameter_tvb, actx->pinfo, subtree);
}
CATCH_BOUNDS_ERRORS {
show_exception(parameter_tvb, actx->pinfo, subtree, EXCEPT_CODE, GET_MESSAGE);
}
ENDTRY;
}
}
return offset;
}
static int
dissect_ngap_UERadioCapabilityForPagingOfNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 732 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb && nr_rrc_ue_radio_paging_info_handle) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_UERadioCapabilityForPagingOfNR);
call_dissector(nr_rrc_ue_radio_paging_info_handle, parameter_tvb, actx->pinfo, subtree);
}
return offset;
}
static int
dissect_ngap_UERadioCapabilityForPagingOfEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 743 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb && lte_rrc_ue_radio_paging_info_handle) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_UERadioCapabilityForPagingOfEUTRA);
call_dissector(lte_rrc_ue_radio_paging_info_handle, parameter_tvb, actx->pinfo, subtree);
}
return offset;
}
static const per_sequence_t UERadioCapabilityForPaging_sequence[] = {
{ &hf_ngap_uERadioCapabilityForPagingOfNR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UERadioCapabilityForPagingOfNR },
{ &hf_ngap_uERadioCapabilityForPagingOfEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_UERadioCapabilityForPagingOfEUTRA },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UERadioCapabilityForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UERadioCapabilityForPaging, UERadioCapabilityForPaging_sequence);
return offset;
}
static int
dissect_ngap_UERadioCapabilityForPagingOfNB_IoT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 721 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (parameter_tvb && lte_rrc_ue_radio_paging_info_nb_handle) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_UERadioCapabilityForPagingOfNB_IoT);
call_dissector(lte_rrc_ue_radio_paging_info_nb_handle, parameter_tvb, actx->pinfo, subtree);
}
return offset;
}
static int
dissect_ngap_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 const value_string ngap_UERetentionInformation_vals[] = {
{ 0, "ues-retained" },
{ 0, NULL }
};
static int
dissect_ngap_UERetentionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_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 UESecurityCapabilities_sequence[] = {
{ &hf_ngap_nRencryptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NRencryptionAlgorithms },
{ &hf_ngap_nRintegrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NRintegrityProtectionAlgorithms },
{ &hf_ngap_eUTRAencryptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRAencryptionAlgorithms },
{ &hf_ngap_eUTRAintegrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRAintegrityProtectionAlgorithms },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_UESecurityCapabilities, UESecurityCapabilities_sequence);
return offset;
}
static const value_string ngap_UE_UP_CIoT_Support_vals[] = {
{ 0, "supported" },
{ 0, NULL }
};
static int
dissect_ngap_UE_UP_CIoT_Support(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1, NULL, TRUE, 0, NULL);
return offset;
}
static int
dissect_ngap_UL_NAS_MAC(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_ngap_UL_NAS_Count(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5, 5, FALSE, NULL, 0, NULL, NULL);
return offset;
}
static const per_sequence_t UL_CP_SecurityInformation_sequence[] = {
{ &hf_ngap_ul_NAS_MAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UL_NAS_MAC },
{ &hf_ngap_ul_NAS_Count , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UL_NAS_Count },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UL_CP_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_ngap_UL_CP_SecurityInformation, UL_CP_SecurityInformation_sequence);
return offset;
}
static const per_sequence_t UL_NGU_UP_TNLModifyItem_sequence[] = {
{ &hf_ngap_uL_NGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_dL_NGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UL_NGU_UP_TNLModifyItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UL_NGU_UP_TNLModifyItem, UL_NGU_UP_TNLModifyItem_sequence);
return offset;
}
static const per_sequence_t UL_NGU_UP_TNLModifyList_sequence_of[1] = {
{ &hf_ngap_UL_NGU_UP_TNLModifyList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_UL_NGU_UP_TNLModifyItem },
};
static int
dissect_ngap_UL_NGU_UP_TNLModifyList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_UL_NGU_UP_TNLModifyList, UL_NGU_UP_TNLModifyList_sequence_of,
1, maxnoofMultiConnectivity, FALSE);
return offset;
}
static const per_sequence_t UnavailableGUAMIItem_sequence[] = {
{ &hf_ngap_gUAMI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_GUAMI },
{ &hf_ngap_timerApproachForGUAMIRemoval, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TimerApproachForGUAMIRemoval },
{ &hf_ngap_backupAMFName , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_AMFName },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UnavailableGUAMIItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UnavailableGUAMIItem, UnavailableGUAMIItem_sequence);
return offset;
}
static const per_sequence_t UnavailableGUAMIList_sequence_of[1] = {
{ &hf_ngap_UnavailableGUAMIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_UnavailableGUAMIItem },
};
static int
dissect_ngap_UnavailableGUAMIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_UnavailableGUAMIList, UnavailableGUAMIList_sequence_of,
1, maxnoofServedGUAMIs, FALSE);
return offset;
}
static const value_string ngap_ULForwarding_vals[] = {
{ 0, "ul-forwarding-proposed" },
{ 0, NULL }
};
static int
dissect_ngap_ULForwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_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 UPTransportLayerInformationItem_sequence[] = {
{ &hf_ngap_nGU_UP_TNLInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UPTransportLayerInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UPTransportLayerInformationItem, UPTransportLayerInformationItem_sequence);
return offset;
}
static const per_sequence_t UPTransportLayerInformationList_sequence_of[1] = {
{ &hf_ngap_UPTransportLayerInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_UPTransportLayerInformationItem },
};
static int
dissect_ngap_UPTransportLayerInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
ett_ngap_UPTransportLayerInformationList, UPTransportLayerInformationList_sequence_of,
1, maxnoofMultiConnectivityMinusOne, FALSE);
return offset;
}
static int
dissect_ngap_URI_address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE);
return offset;
}
static const per_sequence_t UserLocationInformationEUTRA_sequence[] = {
{ &hf_ngap_eUTRA_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
{ &hf_ngap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_timeStamp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TimeStamp },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UserLocationInformationEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UserLocationInformationEUTRA, UserLocationInformationEUTRA_sequence);
return offset;
}
static const per_sequence_t UserLocationInformationNR_sequence[] = {
{ &hf_ngap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NR_CGI },
{ &hf_ngap_tAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TAI },
{ &hf_ngap_timeStamp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_TimeStamp },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UserLocationInformationNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UserLocationInformationNR, UserLocationInformationNR_sequence);
return offset;
}
static const per_sequence_t UserLocationInformationN3IWF_sequence[] = {
{ &hf_ngap_iPAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TransportLayerAddress },
{ &hf_ngap_portNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PortNumber },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UserLocationInformationN3IWF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UserLocationInformationN3IWF, UserLocationInformationN3IWF_sequence);
return offset;
}
static const value_string ngap_UserLocationInformation_vals[] = {
{ 0, "userLocationInformationEUTRA" },
{ 1, "userLocationInformationNR" },
{ 2, "userLocationInformationN3IWF" },
{ 3, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t UserLocationInformation_choice[] = {
{ 0, &hf_ngap_userLocationInformationEUTRA, ASN1_NO_EXTENSIONS , dissect_ngap_UserLocationInformationEUTRA },
{ 1, &hf_ngap_userLocationInformationNR, ASN1_NO_EXTENSIONS , dissect_ngap_UserLocationInformationNR },
{ 2, &hf_ngap_userLocationInformationN3IWF, ASN1_NO_EXTENSIONS , dissect_ngap_UserLocationInformationN3IWF },
{ 3, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_UserLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_UserLocationInformation, UserLocationInformation_choice,
NULL);
return offset;
}
static const per_sequence_t UserLocationInformationTNGF_sequence[] = {
{ &hf_ngap_tNAP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TNAP_ID },
{ &hf_ngap_iPAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TransportLayerAddress },
{ &hf_ngap_portNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PortNumber },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UserLocationInformationTNGF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UserLocationInformationTNGF, UserLocationInformationTNGF_sequence);
return offset;
}
static const per_sequence_t UserLocationInformationTWIF_sequence[] = {
{ &hf_ngap_tWAP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TWAP_ID },
{ &hf_ngap_iPAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_TransportLayerAddress },
{ &hf_ngap_portNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PortNumber },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UserLocationInformationTWIF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UserLocationInformationTWIF, UserLocationInformationTWIF_sequence);
return offset;
}
static const value_string ngap_UserLocationInformationW_AGF_vals[] = {
{ 0, "globalLine-ID" },
{ 1, "hFCNode-ID" },
{ 2, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t UserLocationInformationW_AGF_choice[] = {
{ 0, &hf_ngap_globalLine_ID , ASN1_NO_EXTENSIONS , dissect_ngap_GlobalLine_ID },
{ 1, &hf_ngap_hFCNode_ID , ASN1_NO_EXTENSIONS , dissect_ngap_HFCNode_ID },
{ 2, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_UserLocationInformationW_AGF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_UserLocationInformationW_AGF, UserLocationInformationW_AGF_choice,
NULL);
return offset;
}
static int
dissect_ngap_WarningAreaCoordinates(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, 1024, FALSE, NULL);
return offset;
}
static const value_string ngap_WarningAreaList_vals[] = {
{ 0, "eUTRA-CGIListForWarning" },
{ 1, "nR-CGIListForWarning" },
{ 2, "tAIListForWarning" },
{ 3, "emergencyAreaIDList" },
{ 4, "choice-Extensions" },
{ 0, NULL }
};
static const per_choice_t WarningAreaList_choice[] = {
{ 0, &hf_ngap_eUTRA_CGIListForWarning, ASN1_NO_EXTENSIONS , dissect_ngap_EUTRA_CGIListForWarning },
{ 1, &hf_ngap_nR_CGIListForWarning, ASN1_NO_EXTENSIONS , dissect_ngap_NR_CGIListForWarning },
{ 2, &hf_ngap_tAIListForWarning, ASN1_NO_EXTENSIONS , dissect_ngap_TAIListForWarning },
{ 3, &hf_ngap_emergencyAreaIDList, ASN1_NO_EXTENSIONS , dissect_ngap_EmergencyAreaIDList },
{ 4, &hf_ngap_choice_Extensions, ASN1_NO_EXTENSIONS , dissect_ngap_ProtocolIE_SingleContainer },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_WarningAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_ngap_WarningAreaList, WarningAreaList_choice,
NULL);
return offset;
}
static int
dissect_ngap_WarningMessageContents(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 425 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 9600, FALSE, &parameter_tvb);
if (parameter_tvb) {
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_WarningMessageContents);
dissect_ngap_warningMessageContents(parameter_tvb, subtree, actx->pinfo, ngap_data->data_coding_scheme,
hf_ngap_WarningMessageContents_nb_pages, hf_ngap_WarningMessageContents_decoded_page);
}
return offset;
}
static int
dissect_ngap_WarningSecurityInfo(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,
50, 50, FALSE, NULL);
return offset;
}
static int
dissect_ngap_WarningType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 404 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2, 2, FALSE, &parameter_tvb);
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ngap_WarningType);
proto_tree_add_item(subtree, hf_ngap_WarningType_value, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ngap_WarningType_emergency_user_alert, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ngap_WarningType_popup, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
}
return offset;
}
static const per_sequence_t WUS_Assistance_Information_sequence[] = {
{ &hf_ngap_pagingProbabilityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PagingProbabilityInformation },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_WUS_Assistance_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_ngap_WUS_Assistance_Information, WUS_Assistance_Information_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2256 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupRequest, PDUSessionResourceSetupRequest_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceSetupResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2260 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceSetupResponse, PDUSessionResourceSetupResponse_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceReleaseCommand_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2248 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleaseCommand, PDUSessionResourceReleaseCommand_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceReleaseResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceReleaseResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2252 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceReleaseResponse, PDUSessionResourceReleaseResponse_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2228 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyRequest, PDUSessionResourceModifyRequest_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2232 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyResponse, PDUSessionResourceModifyResponse_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceNotify_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2244 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_NOTIFY);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_NOTIFY);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceNotify, PDUSessionResourceNotify_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2236 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyIndication, PDUSessionResourceModifyIndication_sequence);
return offset;
}
static const per_sequence_t PDUSessionResourceModifyConfirm_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PDUSessionResourceModifyConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2240 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PDUSessionResourceModifyConfirm, PDUSessionResourceModifyConfirm_sequence);
return offset;
}
static const per_sequence_t InitialContextSetupRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_InitialContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2152 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_INITIAL_CONTEXT_SETUP_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_INITIAL_CONTEXT_SETUP_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_InitialContextSetupRequest, InitialContextSetupRequest_sequence);
return offset;
}
static const per_sequence_t InitialContextSetupResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_InitialContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2156 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_InitialContextSetupResponse, InitialContextSetupResponse_sequence);
return offset;
}
static const per_sequence_t InitialContextSetupFailure_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_InitialContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2160 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_INITIAL_CONTEXT_SETUP_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_INITIAL_CONTEXT_SETUP_FAILURE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_InitialContextSetupFailure, InitialContextSetupFailure_sequence);
return offset;
}
static const per_sequence_t UEContextReleaseRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2344 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextReleaseRequest, UEContextReleaseRequest_sequence);
return offset;
}
static const per_sequence_t UEContextReleaseCommand_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2336 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_COMMAND);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_COMMAND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextReleaseCommand, UEContextReleaseCommand_sequence);
return offset;
}
static const per_sequence_t UEContextReleaseComplete_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2340 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_COMPLETE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_COMPLETE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextReleaseComplete, UEContextReleaseComplete_sequence);
return offset;
}
static const per_sequence_t UEContextResumeRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2348 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_RESUME_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RESUME_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextResumeRequest, UEContextResumeRequest_sequence);
return offset;
}
static const per_sequence_t UEContextResumeResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextResumeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2352 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_RESUME_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RESUME_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextResumeResponse, UEContextResumeResponse_sequence);
return offset;
}
static const per_sequence_t UEContextResumeFailure_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextResumeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2356 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_RESUME_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RESUME_FAILURE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextResumeFailure, UEContextResumeFailure_sequence);
return offset;
}
static const per_sequence_t UEContextSuspendRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextSuspendRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2360 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_SUSPEND_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SUSPEND_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextSuspendRequest, UEContextSuspendRequest_sequence);
return offset;
}
static const per_sequence_t UEContextSuspendResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextSuspendResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2364 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_SUSPEND_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SUSPEND_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextSuspendResponse, UEContextSuspendResponse_sequence);
return offset;
}
static const per_sequence_t UEContextSuspendFailure_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextSuspendFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2368 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_SUSPEND_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SUSPEND_FAILURE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextSuspendFailure, UEContextSuspendFailure_sequence);
return offset;
}
static const per_sequence_t UEContextModificationRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2324 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextModificationRequest, UEContextModificationRequest_sequence);
return offset;
}
static const per_sequence_t UEContextModificationResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2328 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextModificationResponse, UEContextModificationResponse_sequence);
return offset;
}
static const per_sequence_t UEContextModificationFailure_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2332 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_FAILURE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEContextModificationFailure, UEContextModificationFailure_sequence);
return offset;
}
static const per_sequence_t RRCInactiveTransitionReport_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RRCInactiveTransitionReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2308 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_RRC_INACTIVE_TRANSITION_REPORT);
set_stats_message_type(actx->pinfo, MTYPE_RRC_INACTIVE_TRANSITION_REPORT);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RRCInactiveTransitionReport, RRCInactiveTransitionReport_sequence);
return offset;
}
static const per_sequence_t RetrieveUEInformation_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RetrieveUEInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2304 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_RETRIEVE_UE_INFORMATION);
set_stats_message_type(actx->pinfo, MTYPE_RETRIEVE_UE_INFORMATION);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RetrieveUEInformation, RetrieveUEInformation_sequence);
return offset;
}
static const per_sequence_t UEInformationTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UEInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2372 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_INFORMATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UE_INFORMATION_TRANSFER);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UEInformationTransfer, UEInformationTransfer_sequence);
return offset;
}
static const per_sequence_t RANCPRelocationIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RANCPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2296 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_RAN_CP_RELOCATION_IND);
set_stats_message_type(actx->pinfo, MTYPE_RAN_CP_RELOCATION_IND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RANCPRelocationIndication, RANCPRelocationIndication_sequence);
return offset;
}
static const per_sequence_t HandoverRequired_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2124 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_HANDOVER_REQUIRED);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_REQUIRED);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverRequired, HandoverRequired_sequence);
return offset;
}
static const per_sequence_t HandoverCommand_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2128 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_HANDOVER_COMMAND);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_COMMAND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverCommand, HandoverCommand_sequence);
return offset;
}
static const per_sequence_t HandoverPreparationFailure_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2132 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_HANDOVER_PREPARATION_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_PREPARATION_FAILURE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
return offset;
}
static const per_sequence_t HandoverRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 278 "./asn1/ngap/ngap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_DL;
set_message_label(actx, MTYPE_HANDOVER_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverRequest, HandoverRequest_sequence);
return offset;
}
static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2140 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_HANDOVER_REQUEST_ACK);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_REQUEST_ACK);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
return offset;
}
static const per_sequence_t HandoverFailure_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2144 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_HANDOVER_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_FAILURE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverFailure, HandoverFailure_sequence);
return offset;
}
static const per_sequence_t HandoverNotify_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2120 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_HANDOVER_NOTIFY);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_NOTIFY);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverNotify, HandoverNotify_sequence);
return offset;
}
static const per_sequence_t PathSwitchRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PathSwitchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2216 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PATH_SWITCH_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_PATH_SWITCH_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PathSwitchRequest, PathSwitchRequest_sequence);
return offset;
}
static const per_sequence_t PathSwitchRequestAcknowledge_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PathSwitchRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2220 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PATH_SWITCH_REQUEST_ACK);
set_stats_message_type(actx->pinfo, MTYPE_PATH_SWITCH_REQUEST_ACK);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PathSwitchRequestAcknowledge, PathSwitchRequestAcknowledge_sequence);
return offset;
}
static const per_sequence_t PathSwitchRequestFailure_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PathSwitchRequestFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2224 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PATH_SWITCH_REQUEST_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_PATH_SWITCH_REQUEST_FAILURE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PathSwitchRequestFailure, PathSwitchRequestFailure_sequence);
return offset;
}
static const per_sequence_t HandoverCancel_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2112 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_HANDOVER_CANCEL);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_CANCEL);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverCancel, HandoverCancel_sequence);
return offset;
}
static const per_sequence_t HandoverCancelAcknowledge_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverCancelAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2116 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_HANDOVER_CANCEL_ACK);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_CANCEL_ACK);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverCancelAcknowledge, HandoverCancelAcknowledge_sequence);
return offset;
}
static const per_sequence_t HandoverSuccess_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_HandoverSuccess(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2148 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_HANDOVER_SUCCESS);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_SUCCESS);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_HandoverSuccess, HandoverSuccess_sequence);
return offset;
}
static const per_sequence_t UplinkRANEarlyStatusTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UplinkRANEarlyStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2412 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UplinkRANEarlyStatusTransfer, UplinkRANEarlyStatusTransfer_sequence);
return offset;
}
static const per_sequence_t DownlinkRANEarlyStatusTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DownlinkRANEarlyStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2096 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DownlinkRANEarlyStatusTransfer, DownlinkRANEarlyStatusTransfer_sequence);
return offset;
}
static const per_sequence_t UplinkRANStatusTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UplinkRANStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2416 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UPLINK_RAN_STATUS_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RAN_STATUS_TRANSFER);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UplinkRANStatusTransfer, UplinkRANStatusTransfer_sequence);
return offset;
}
static const per_sequence_t DownlinkRANStatusTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DownlinkRANStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2100 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_DOWNLINK_RAN_STATUS_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RAN_STATUS_TRANSFER);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DownlinkRANStatusTransfer, DownlinkRANStatusTransfer_sequence);
return offset;
}
static const per_sequence_t Paging_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2212 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PAGING);
set_stats_message_type(actx->pinfo, MTYPE_PAGING);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_Paging, Paging_sequence);
return offset;
}
static const per_sequence_t InitialUEMessage_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_InitialUEMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 266 "./asn1/ngap/ngap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
set_message_label(actx, MTYPE_INITIAL_UE_MESSAGE);
set_stats_message_type(actx->pinfo, MTYPE_INITIAL_UE_MESSAGE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_InitialUEMessage, InitialUEMessage_sequence);
return offset;
}
static const per_sequence_t DownlinkNASTransport_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DownlinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 270 "./asn1/ngap/ngap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_DL;
set_message_label(actx, MTYPE_DOWNLINK_NAS_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_NAS_TRANSPORT);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DownlinkNASTransport, DownlinkNASTransport_sequence);
return offset;
}
static const per_sequence_t UplinkNASTransport_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UplinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 274 "./asn1/ngap/ngap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
set_message_label(actx, MTYPE_UPLINK_NAS_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_NAS_TRANSPORT);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UplinkNASTransport, UplinkNASTransport_sequence);
return offset;
}
static int
dissect_ngap_W_AGFIdentityInformation(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_ngap_TNGFIdentityInformation(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_ngap_TWIFIdentityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, NULL);
return offset;
}
static const per_sequence_t NASNonDeliveryIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NASNonDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2180 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_NAS_NON_DELIVERY_IND);
set_stats_message_type(actx->pinfo, MTYPE_NAS_NON_DELIVERY_IND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NASNonDeliveryIndication, NASNonDeliveryIndication_sequence);
return offset;
}
static const per_sequence_t RerouteNASRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RerouteNASRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2300 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_REROUTE_NAS_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_REROUTE_NAS_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RerouteNASRequest, RerouteNASRequest_sequence);
return offset;
}
static int
dissect_ngap_NGAP_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 564 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
if (!parameter_tvb)
return offset;
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_NGAP_Message);
col_set_fence(actx->pinfo->cinfo, COL_INFO);
call_dissector(ngap_handle, parameter_tvb, actx->pinfo, subtree);
return offset;
}
static const per_sequence_t NGSetupRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NGSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2192 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_NG_SETUP_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_NG_SETUP_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NGSetupRequest, NGSetupRequest_sequence);
return offset;
}
static const per_sequence_t NGSetupResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NGSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2196 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_NG_SETUP_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_NG_SETUP_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NGSetupResponse, NGSetupResponse_sequence);
return offset;
}
static const per_sequence_t NGSetupFailure_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NGSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2200 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_NG_SETUP_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_NG_SETUP_FAILURE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NGSetupFailure, NGSetupFailure_sequence);
return offset;
}
static const per_sequence_t RANConfigurationUpdate_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RANConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2284 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_RAN_CONFIGURATION_UPDATE);
set_stats_message_type(actx->pinfo, MTYPE_RAN_CONFIGURATION_UPDATE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RANConfigurationUpdate, RANConfigurationUpdate_sequence);
return offset;
}
static const per_sequence_t RANConfigurationUpdateAcknowledge_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RANConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2288 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_RAN_CONFIGURATION_UPDATE_ACK);
set_stats_message_type(actx->pinfo, MTYPE_RAN_CONFIGURATION_UPDATE_ACK);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RANConfigurationUpdateAcknowledge, RANConfigurationUpdateAcknowledge_sequence);
return offset;
}
static const per_sequence_t RANConfigurationUpdateFailure_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_RANConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2292 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_RANConfigurationUpdateFailure, RANConfigurationUpdateFailure_sequence);
return offset;
}
static const per_sequence_t AMFConfigurationUpdate_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AMFConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2052 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_AMF_CONFIGURATION_UPDATE);
set_stats_message_type(actx->pinfo, MTYPE_AMF_CONFIGURATION_UPDATE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AMFConfigurationUpdate, AMFConfigurationUpdate_sequence);
return offset;
}
static const per_sequence_t AMFConfigurationUpdateAcknowledge_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AMFConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2056 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_AMF_CONFIGURATION_UPDATE_ACK);
set_stats_message_type(actx->pinfo, MTYPE_AMF_CONFIGURATION_UPDATE_ACK);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AMFConfigurationUpdateAcknowledge, AMFConfigurationUpdateAcknowledge_sequence);
return offset;
}
static const per_sequence_t AMFConfigurationUpdateFailure_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AMFConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2060 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AMFConfigurationUpdateFailure, AMFConfigurationUpdateFailure_sequence);
return offset;
}
static const per_sequence_t AMFStatusIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AMFStatusIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2068 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_AMF_STATUS_IND);
set_stats_message_type(actx->pinfo, MTYPE_AMF_STATUS_IND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AMFStatusIndication, AMFStatusIndication_sequence);
return offset;
}
static const per_sequence_t NGReset_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NGReset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2184 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_NG_RESET);
set_stats_message_type(actx->pinfo, MTYPE_NG_RESET);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NGReset, NGReset_sequence);
return offset;
}
static const per_sequence_t NGResetAcknowledge_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_NGResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2188 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_NG_RESET_ACK);
set_stats_message_type(actx->pinfo, MTYPE_NG_RESET_ACK);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_NGResetAcknowledge, NGResetAcknowledge_sequence);
return offset;
}
static const per_sequence_t ErrorIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2108 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_ERROR_INDICATION);
set_stats_message_type(actx->pinfo, MTYPE_ERROR_INDICATION);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_ErrorIndication, ErrorIndication_sequence);
return offset;
}
static const per_sequence_t OverloadStart_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_OverloadStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2204 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_OVERLOAD_START);
set_stats_message_type(actx->pinfo, MTYPE_OVERLOAD_START);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_OverloadStart, OverloadStart_sequence);
return offset;
}
static const per_sequence_t OverloadStop_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_OverloadStop(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2208 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_OVERLOAD_STOP);
set_stats_message_type(actx->pinfo, MTYPE_OVERLOAD_STOP);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_OverloadStop, OverloadStop_sequence);
return offset;
}
static const per_sequence_t UplinkRANConfigurationTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UplinkRANConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2408 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UplinkRANConfigurationTransfer, UplinkRANConfigurationTransfer_sequence);
return offset;
}
static const per_sequence_t DownlinkRANConfigurationTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DownlinkRANConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2092 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DownlinkRANConfigurationTransfer, DownlinkRANConfigurationTransfer_sequence);
return offset;
}
static const per_sequence_t WriteReplaceWarningRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_WriteReplaceWarningRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2424 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_WRITE_REPLACE_WARNING_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_WRITE_REPLACE_WARNING_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_WriteReplaceWarningRequest, WriteReplaceWarningRequest_sequence);
return offset;
}
static const per_sequence_t WriteReplaceWarningResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_WriteReplaceWarningResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2428 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_WRITE_REPLACE_WARNING_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_WRITE_REPLACE_WARNING_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_WriteReplaceWarningResponse, WriteReplaceWarningResponse_sequence);
return offset;
}
static const per_sequence_t PWSCancelRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PWSCancelRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2268 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PWS_CANCEL_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_PWS_CANCEL_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PWSCancelRequest, PWSCancelRequest_sequence);
return offset;
}
static const per_sequence_t PWSCancelResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PWSCancelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2272 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PWS_CANCEL_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_PWS_CANCEL_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PWSCancelResponse, PWSCancelResponse_sequence);
return offset;
}
static const per_sequence_t PWSRestartIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2280 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PWS_RESTART_INDICATION);
set_stats_message_type(actx->pinfo, MTYPE_PWS_RESTART_INDICATION);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PWSRestartIndication, PWSRestartIndication_sequence);
return offset;
}
static const per_sequence_t PWSFailureIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PWSFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2276 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PWS_FAILURE_INDICATION);
set_stats_message_type(actx->pinfo, MTYPE_PWS_FAILURE_INDICATION);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PWSFailureIndication, PWSFailureIndication_sequence);
return offset;
}
static const per_sequence_t DownlinkUEAssociatedNRPPaTransport_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DownlinkUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2104 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DownlinkUEAssociatedNRPPaTransport, DownlinkUEAssociatedNRPPaTransport_sequence);
return offset;
}
static const per_sequence_t UplinkUEAssociatedNRPPaTransport_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UplinkUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2420 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UplinkUEAssociatedNRPPaTransport, UplinkUEAssociatedNRPPaTransport_sequence);
return offset;
}
static const per_sequence_t DownlinkNonUEAssociatedNRPPaTransport_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DownlinkNonUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2088 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DownlinkNonUEAssociatedNRPPaTransport, DownlinkNonUEAssociatedNRPPaTransport_sequence);
return offset;
}
static const per_sequence_t UplinkNonUEAssociatedNRPPaTransport_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UplinkNonUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2404 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UplinkNonUEAssociatedNRPPaTransport, UplinkNonUEAssociatedNRPPaTransport_sequence);
return offset;
}
static const per_sequence_t TraceStart_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2320 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_TRACE_START);
set_stats_message_type(actx->pinfo, MTYPE_TRACE_START);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TraceStart, TraceStart_sequence);
return offset;
}
static const per_sequence_t TraceFailureIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_TraceFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2316 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_TRACE_FAILURE_IND);
set_stats_message_type(actx->pinfo, MTYPE_TRACE_FAILURE_IND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_TraceFailureIndication, TraceFailureIndication_sequence);
return offset;
}
static const per_sequence_t DeactivateTrace_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2080 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_DEACTIVATE_TRACE);
set_stats_message_type(actx->pinfo, MTYPE_DEACTIVATE_TRACE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DeactivateTrace, DeactivateTrace_sequence);
return offset;
}
static const per_sequence_t CellTrafficTrace_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2072 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_CELL_TRAFFIC_TRACE);
set_stats_message_type(actx->pinfo, MTYPE_CELL_TRAFFIC_TRACE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_CellTrafficTrace, CellTrafficTrace_sequence);
return offset;
}
static const per_sequence_t LocationReportingControl_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_LocationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2172 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_LOCATION_REPORTING_CONTROL);
set_stats_message_type(actx->pinfo, MTYPE_LOCATION_REPORTING_CONTROL);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_LocationReportingControl, LocationReportingControl_sequence);
return offset;
}
static const per_sequence_t LocationReportingFailureIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_LocationReportingFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2176 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_LOCATION_REPORTING_FAILURE_IND);
set_stats_message_type(actx->pinfo, MTYPE_LOCATION_REPORTING_FAILURE_IND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_LocationReportingFailureIndication, LocationReportingFailureIndication_sequence);
return offset;
}
static const per_sequence_t LocationReport_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_LocationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2168 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_LOCATION_REPORT);
set_stats_message_type(actx->pinfo, MTYPE_LOCATION_REPORT);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_LocationReport, LocationReport_sequence);
return offset;
}
static const per_sequence_t UETNLABindingReleaseRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UETNLABindingReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2396 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UETNLABindingReleaseRequest, UETNLABindingReleaseRequest_sequence);
return offset;
}
static const per_sequence_t UERadioCapabilityInfoIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UERadioCapabilityInfoIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2392 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_INFO_IND);
set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_INFO_IND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UERadioCapabilityInfoIndication, UERadioCapabilityInfoIndication_sequence);
return offset;
}
static const per_sequence_t UERadioCapabilityCheckRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UERadioCapabilityCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2376 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UERadioCapabilityCheckRequest, UERadioCapabilityCheckRequest_sequence);
return offset;
}
static const per_sequence_t UERadioCapabilityCheckResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UERadioCapabilityCheckResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2380 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UERadioCapabilityCheckResponse, UERadioCapabilityCheckResponse_sequence);
return offset;
}
static const per_sequence_t PrivateMessage_sequence[] = {
{ &hf_ngap_privateIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PrivateIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2264 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_PRIVATE_MESSAGE);
set_stats_message_type(actx->pinfo, MTYPE_PRIVATE_MESSAGE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_PrivateMessage, PrivateMessage_sequence);
return offset;
}
static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2312 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT);
set_stats_message_type(actx->pinfo, MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_SecondaryRATDataUsageReport, SecondaryRATDataUsageReport_sequence);
return offset;
}
static const per_sequence_t UplinkRIMInformationTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UplinkRIMInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2432 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UPLINK_RIM_INFORMATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RIM_INFORMATION_TRANSFER);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UplinkRIMInformationTransfer, UplinkRIMInformationTransfer_sequence);
return offset;
}
static const per_sequence_t DownlinkRIMInformationTransfer_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_DownlinkRIMInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2436 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_DownlinkRIMInformationTransfer, DownlinkRIMInformationTransfer_sequence);
return offset;
}
static const per_sequence_t ConnectionEstablishmentIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_ConnectionEstablishmentIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2076 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_CONNECTION_ESTAB_IND);
set_stats_message_type(actx->pinfo, MTYPE_CONNECTION_ESTAB_IND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_ConnectionEstablishmentIndication, ConnectionEstablishmentIndication_sequence);
return offset;
}
static const per_sequence_t UERadioCapabilityIDMappingRequest_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UERadioCapabilityIDMappingRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2384 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UERadioCapabilityIDMappingRequest, UERadioCapabilityIDMappingRequest_sequence);
return offset;
}
static const per_sequence_t UERadioCapabilityIDMappingResponse_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_UERadioCapabilityIDMappingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2388 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_UERadioCapabilityIDMappingResponse, UERadioCapabilityIDMappingResponse_sequence);
return offset;
}
static const per_sequence_t AMFCPRelocationIndication_sequence[] = {
{ &hf_ngap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_AMFCPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 2064 "./asn1/ngap/ngap.cnf"
set_message_label(actx, MTYPE_AMF_CP_RELOCATION_IND);
set_stats_message_type(actx->pinfo, MTYPE_AMF_CP_RELOCATION_IND);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_ngap_AMFCPRelocationIndication, AMFCPRelocationIndication_sequence);
return offset;
}
static int
dissect_ngap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 136 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->message_type = INITIATING_MESSAGE;
offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);
return offset;
}
static const per_sequence_t InitiatingMessage_sequence[] = {
{ &hf_ngap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ProcedureCode },
{ &hf_ngap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_Criticality },
{ &hf_ngap_initiatingMessagevalue, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_InitiatingMessage_value },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_InitiatingMessage, InitiatingMessage_sequence);
return offset;
}
static int
dissect_ngap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 140 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->message_type = SUCCESSFUL_OUTCOME;
offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);
return offset;
}
static const per_sequence_t SuccessfulOutcome_sequence[] = {
{ &hf_ngap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ProcedureCode },
{ &hf_ngap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_Criticality },
{ &hf_ngap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_SuccessfulOutcome_value },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_SuccessfulOutcome, SuccessfulOutcome_sequence);
return offset;
}
static int
dissect_ngap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 144 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->message_type = UNSUCCESSFUL_OUTCOME;
offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);
return offset;
}
static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
{ &hf_ngap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_ProcedureCode },
{ &hf_ngap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_Criticality },
{ &hf_ngap_unsuccessfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_UnsuccessfulOutcome_value },
{ NULL, 0, 0, NULL }
};
static int
dissect_ngap_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_ngap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
return offset;
}
static const value_string ngap_NGAP_PDU_vals[] = {
{ 0, "initiatingMessage" },
{ 1, "successfulOutcome" },
{ 2, "unsuccessfulOutcome" },
{ 0, NULL }
};
static const per_choice_t NGAP_PDU_choice[] = {
{ 0, &hf_ngap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_ngap_InitiatingMessage },
{ 1, &hf_ngap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_ngap_SuccessfulOutcome },
{ 2, &hf_ngap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_ngap_UnsuccessfulOutcome },
{ 0, NULL, 0, NULL }
};
static int
dissect_ngap_NGAP_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_ngap_NGAP_PDU, NGAP_PDU_choice,
NULL);
return offset;
}
/*--- PDUs ---*/
static int dissect_AdditionalDLUPTNLInformationForHOList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AdditionalDLUPTNLInformationForHOList(tvb, offset, &asn1_ctx, tree, hf_ngap_AdditionalDLUPTNLInformationForHOList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AllowedNSSAI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AllowedNSSAI(tvb, offset, &asn1_ctx, tree, hf_ngap_AllowedNSSAI_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AlternativeQoSParaSetIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AlternativeQoSParaSetIndex(tvb, offset, &asn1_ctx, tree, hf_ngap_AlternativeQoSParaSetIndex_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AlternativeQoSParaSetList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AlternativeQoSParaSetList(tvb, offset, &asn1_ctx, tree, hf_ngap_AlternativeQoSParaSetList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMFName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMFName(tvb, offset, &asn1_ctx, tree, hf_ngap_AMFName_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMFSetID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMFSetID(tvb, offset, &asn1_ctx, tree, hf_ngap_AMFSetID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMF_TNLAssociationSetupList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMF_TNLAssociationSetupList(tvb, offset, &asn1_ctx, tree, hf_ngap_AMF_TNLAssociationSetupList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMF_TNLAssociationToAddList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMF_TNLAssociationToAddList(tvb, offset, &asn1_ctx, tree, hf_ngap_AMF_TNLAssociationToAddList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMF_TNLAssociationToRemoveList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMF_TNLAssociationToRemoveList(tvb, offset, &asn1_ctx, tree, hf_ngap_AMF_TNLAssociationToRemoveList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMF_TNLAssociationToUpdateList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMF_TNLAssociationToUpdateList(tvb, offset, &asn1_ctx, tree, hf_ngap_AMF_TNLAssociationToUpdateList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMF_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_ngap_AMF_UE_NGAP_ID(tvb, offset, &asn1_ctx, tree, hf_ngap_AMF_UE_NGAP_ID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AssistanceDataForPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AssistanceDataForPaging(tvb, offset, &asn1_ctx, tree, hf_ngap_AssistanceDataForPaging_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AssociatedQosFlowList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AssociatedQosFlowList(tvb, offset, &asn1_ctx, tree, hf_ngap_AssociatedQosFlowList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AuthenticatedIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AuthenticatedIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_AuthenticatedIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_BroadcastCancelledAreaList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_BroadcastCancelledAreaList(tvb, offset, &asn1_ctx, tree, hf_ngap_BroadcastCancelledAreaList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_BroadcastCompletedAreaList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_BroadcastCompletedAreaList(tvb, offset, &asn1_ctx, tree, hf_ngap_BroadcastCompletedAreaList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_BurstArrivalTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_BurstArrivalTime(tvb, offset, &asn1_ctx, tree, hf_ngap_BurstArrivalTime_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_CancelAllWarningMessages_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_CancelAllWarningMessages(tvb, offset, &asn1_ctx, tree, hf_ngap_CancelAllWarningMessages_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_ngap_Cause(tvb, offset, &asn1_ctx, tree, hf_ngap_Cause_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_CellIDListForRestart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_CellIDListForRestart(tvb, offset, &asn1_ctx, tree, hf_ngap_CellIDListForRestart_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_CEmodeBSupport_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_ngap_CEmodeBSupport_Indicator(tvb, offset, &asn1_ctx, tree, hf_ngap_CEmodeBSupport_Indicator_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_CEmodeBrestricted_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_CEmodeBrestricted(tvb, offset, &asn1_ctx, tree, hf_ngap_CEmodeBrestricted_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_CNAssistedRANTuning_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_CNAssistedRANTuning(tvb, offset, &asn1_ctx, tree, hf_ngap_CNAssistedRANTuning_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_CNTypeRestrictionsForEquivalent_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_CNTypeRestrictionsForEquivalent(tvb, offset, &asn1_ctx, tree, hf_ngap_CNTypeRestrictionsForEquivalent_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_CNTypeRestrictionsForServing_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_CNTypeRestrictionsForServing(tvb, offset, &asn1_ctx, tree, hf_ngap_CNTypeRestrictionsForServing_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_CommonNetworkInstance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_CommonNetworkInstance(tvb, offset, &asn1_ctx, tree, hf_ngap_CommonNetworkInstance_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ConcurrentWarningMessageInd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ConcurrentWarningMessageInd(tvb, offset, &asn1_ctx, tree, hf_ngap_ConcurrentWarningMessageInd_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ConfiguredTACIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ConfiguredTACIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_ConfiguredTACIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_CoreNetworkAssistanceInformationForInactive_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_CoreNetworkAssistanceInformationForInactive(tvb, offset, &asn1_ctx, tree, hf_ngap_CoreNetworkAssistanceInformationForInactive_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_CPTransportLayerInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_CPTransportLayerInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_CPTransportLayerInformation_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_ngap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_ngap_CriticalityDiagnostics_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DataCodingScheme_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DataCodingScheme(tvb, offset, &asn1_ctx, tree, hf_ngap_DataCodingScheme_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DataForwardingNotPossible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DataForwardingNotPossible(tvb, offset, &asn1_ctx, tree, hf_ngap_DataForwardingNotPossible_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_ngap_DAPSRequestInfo(tvb, offset, &asn1_ctx, tree, hf_ngap_DAPSRequestInfo_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DAPSResponseInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DAPSResponseInfoList(tvb, offset, &asn1_ctx, tree, hf_ngap_DAPSResponseInfoList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DataForwardingResponseERABList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DataForwardingResponseERABList(tvb, offset, &asn1_ctx, tree, hf_ngap_DataForwardingResponseERABList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DL_CP_SecurityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DL_CP_SecurityInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_DL_CP_SecurityInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DL_NGU_TNLInformationReused_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DL_NGU_TNLInformationReused(tvb, offset, &asn1_ctx, tree, hf_ngap_DL_NGU_TNLInformationReused_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_ngap_DirectForwardingPathAvailability(tvb, offset, &asn1_ctx, tree, hf_ngap_DirectForwardingPathAvailability_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_EarlyStatusTransfer_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_EarlyStatusTransfer_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_ngap_EarlyStatusTransfer_TransparentContainer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_EDT_Session_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_EDT_Session(tvb, offset, &asn1_ctx, tree, hf_ngap_EDT_Session_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_EmergencyAreaIDListForRestart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_EmergencyAreaIDListForRestart(tvb, offset, &asn1_ctx, tree, hf_ngap_EmergencyAreaIDListForRestart_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_EmergencyFallbackIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_EmergencyFallbackIndicator(tvb, offset, &asn1_ctx, tree, hf_ngap_EmergencyFallbackIndicator_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_Enhanced_CoverageRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_Enhanced_CoverageRestriction(tvb, offset, &asn1_ctx, tree, hf_ngap_Enhanced_CoverageRestriction_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_Extended_ConnectedTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_Extended_ConnectedTime(tvb, offset, &asn1_ctx, tree, hf_ngap_Extended_ConnectedTime_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_EN_DCSONConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_EN_DCSONConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_EN_DCSONConfigurationTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_EndpointIPAddressAndPort_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_EndpointIPAddressAndPort(tvb, offset, &asn1_ctx, tree, hf_ngap_EndpointIPAddressAndPort_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_EndIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_EndIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_EndIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_EUTRA_CGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_EUTRA_CGI(tvb, offset, &asn1_ctx, tree, hf_ngap_EUTRA_CGI_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ExpectedUEActivityBehaviour_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ExpectedUEActivityBehaviour(tvb, offset, &asn1_ctx, tree, hf_ngap_ExpectedUEActivityBehaviour_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_Extended_AMFName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_Extended_AMFName(tvb, offset, &asn1_ctx, tree, hf_ngap_Extended_AMFName_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ExtendedPacketDelayBudget_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ExtendedPacketDelayBudget(tvb, offset, &asn1_ctx, tree, hf_ngap_ExtendedPacketDelayBudget_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_Extended_RANNodeName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_Extended_RANNodeName(tvb, offset, &asn1_ctx, tree, hf_ngap_Extended_RANNodeName_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ExtendedRATRestrictionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ExtendedRATRestrictionInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_ExtendedRATRestrictionInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ExtendedSliceSupportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ExtendedSliceSupportList(tvb, offset, &asn1_ctx, tree, hf_ngap_ExtendedSliceSupportList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ExtendedUEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ExtendedUEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_ngap_ExtendedUEIdentityIndexValue_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_FiveG_S_TMSI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_FiveG_S_TMSI(tvb, offset, &asn1_ctx, tree, hf_ngap_FiveG_S_TMSI_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GlobalCable_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_ngap_GlobalCable_ID(tvb, offset, &asn1_ctx, tree, hf_ngap_GlobalCable_ID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GlobalRANNodeID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_GlobalRANNodeID(tvb, offset, &asn1_ctx, tree, hf_ngap_GlobalRANNodeID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GlobalTNGF_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_ngap_GlobalTNGF_ID(tvb, offset, &asn1_ctx, tree, hf_ngap_GlobalTNGF_ID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GlobalTWIF_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_ngap_GlobalTWIF_ID(tvb, offset, &asn1_ctx, tree, hf_ngap_GlobalTWIF_ID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GlobalW_AGF_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_ngap_GlobalW_AGF_ID(tvb, offset, &asn1_ctx, tree, hf_ngap_GlobalW_AGF_ID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GUAMI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_GUAMI(tvb, offset, &asn1_ctx, tree, hf_ngap_GUAMI_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_GUAMIType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_GUAMIType(tvb, offset, &asn1_ctx, tree, hf_ngap_GUAMIType_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverCommandTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverCommandTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverCommandTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverFlag_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverFlag(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverFlag_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverPreparationUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverPreparationUnsuccessfulTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverPreparationUnsuccessfulTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverRequestAcknowledgeTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverRequestAcknowledgeTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverRequestAcknowledgeTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverRequiredTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverRequiredTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverRequiredTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverResourceAllocationUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverResourceAllocationUnsuccessfulTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverResourceAllocationUnsuccessfulTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverType(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverType_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_IAB_Authorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_IAB_Authorized(tvb, offset, &asn1_ctx, tree, hf_ngap_IAB_Authorized_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_IAB_Supported_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_IAB_Supported(tvb, offset, &asn1_ctx, tree, hf_ngap_IAB_Supported_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_ngap_IABNodeIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_IABNodeIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_IMSVoiceSupportIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_IMSVoiceSupportIndicator(tvb, offset, &asn1_ctx, tree, hf_ngap_IMSVoiceSupportIndicator_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_IndexToRFSP_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_IndexToRFSP(tvb, offset, &asn1_ctx, tree, hf_ngap_IndexToRFSP_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_InfoOnRecommendedCellsAndRANNodesForPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_InfoOnRecommendedCellsAndRANNodesForPaging(tvb, offset, &asn1_ctx, tree, hf_ngap_InfoOnRecommendedCellsAndRANNodesForPaging_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_IntersystemSONConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_IntersystemSONConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_IntersystemSONConfigurationTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_ngap_LastVisitedNGRANCellInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_LastVisitedNGRANCellInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_ngap_LastVisitedNGRANCellInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_LocationReportingAdditionalInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_LocationReportingAdditionalInfo(tvb, offset, &asn1_ctx, tree, hf_ngap_LocationReportingAdditionalInfo_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_LocationReportingRequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_LocationReportingRequestType(tvb, offset, &asn1_ctx, tree, hf_ngap_LocationReportingRequestType_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_LTEM_Indication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_LTEM_Indication(tvb, offset, &asn1_ctx, tree, hf_ngap_LTEM_Indication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_LTEV2XServicesAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_LTEV2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_ngap_LTEV2XServicesAuthorized_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_LTEUESidelinkAggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_LTEUESidelinkAggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_ngap_LTEUESidelinkAggregateMaximumBitrate_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_MaskedIMEISV_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_MaskedIMEISV(tvb, offset, &asn1_ctx, tree, hf_ngap_MaskedIMEISV_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_MessageIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_MessageIdentifier(tvb, offset, &asn1_ctx, tree, hf_ngap_MessageIdentifier_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_MaximumIntegrityProtectedDataRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_MaximumIntegrityProtectedDataRate(tvb, offset, &asn1_ctx, tree, hf_ngap_MaximumIntegrityProtectedDataRate_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_MicoAllPLMN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_MicoAllPLMN(tvb, offset, &asn1_ctx, tree, hf_ngap_MicoAllPLMN_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_ngap_MobilityRestrictionList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_MobilityRestrictionList(tvb, offset, &asn1_ctx, tree, hf_ngap_ngap_MobilityRestrictionList_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_ngap_MDTPLMNList(tvb, offset, &asn1_ctx, tree, hf_ngap_MDTPLMNList_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_ngap_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_ngap_MDT_Configuration(tvb, offset, &asn1_ctx, tree, hf_ngap_ngap_MDT_Configuration_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NAS_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_ngap_NAS_PDU(tvb, offset, &asn1_ctx, tree, hf_ngap_NAS_PDU_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NASSecurityParametersFromNGRAN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NASSecurityParametersFromNGRAN(tvb, offset, &asn1_ctx, tree, hf_ngap_NASSecurityParametersFromNGRAN_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NB_IoT_DefaultPagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NB_IoT_DefaultPagingDRX(tvb, offset, &asn1_ctx, tree, hf_ngap_NB_IoT_DefaultPagingDRX_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NB_IoT_PagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NB_IoT_PagingDRX(tvb, offset, &asn1_ctx, tree, hf_ngap_NB_IoT_PagingDRX_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NB_IoT_Paging_eDRXInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NB_IoT_Paging_eDRXInfo(tvb, offset, &asn1_ctx, tree, hf_ngap_NB_IoT_Paging_eDRXInfo_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NB_IoT_UEPriority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NB_IoT_UEPriority(tvb, offset, &asn1_ctx, tree, hf_ngap_NB_IoT_UEPriority_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NetworkInstance_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NetworkInstance(tvb, offset, &asn1_ctx, tree, hf_ngap_NetworkInstance_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NewSecurityContextInd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NewSecurityContextInd(tvb, offset, &asn1_ctx, tree, hf_ngap_NewSecurityContextInd_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NotifySourceNGRANNode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NotifySourceNGRANNode(tvb, offset, &asn1_ctx, tree, hf_ngap_NotifySourceNGRANNode_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_ngap_NGRAN_CGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NGRAN_CGI(tvb, offset, &asn1_ctx, tree, hf_ngap_ngap_NGRAN_CGI_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NGRAN_TNLAssociationToRemoveList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NGRAN_TNLAssociationToRemoveList(tvb, offset, &asn1_ctx, tree, hf_ngap_NGRAN_TNLAssociationToRemoveList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NGRANTraceID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NGRANTraceID(tvb, offset, &asn1_ctx, tree, hf_ngap_NGRANTraceID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NID(tvb, offset, &asn1_ctx, tree, hf_ngap_NID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NPN_AccessInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NPN_AccessInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_NPN_AccessInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NPN_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_ngap_NPN_MobilityInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_NPN_MobilityInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NPN_PagingAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NPN_PagingAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_NPN_PagingAssistanceInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NPN_Support_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NPN_Support(tvb, offset, &asn1_ctx, tree, hf_ngap_NPN_Support_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NR_CGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NR_CGI(tvb, offset, &asn1_ctx, tree, hf_ngap_NR_CGI_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NRPPa_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_ngap_NRPPa_PDU(tvb, offset, &asn1_ctx, tree, hf_ngap_NRPPa_PDU_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NumberOfBroadcastsRequested_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NumberOfBroadcastsRequested(tvb, offset, &asn1_ctx, tree, hf_ngap_NumberOfBroadcastsRequested_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_ngap_NRV2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_ngap_NRV2XServicesAuthorized_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NRUESidelinkAggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NRUESidelinkAggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_ngap_NRUESidelinkAggregateMaximumBitrate_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_OverloadResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_OverloadResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_OverloadResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_OverloadStartNSSAIList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_OverloadStartNSSAIList(tvb, offset, &asn1_ctx, tree, hf_ngap_OverloadStartNSSAIList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PagingAssisDataforCEcapabUE_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PagingAssisDataforCEcapabUE(tvb, offset, &asn1_ctx, tree, hf_ngap_PagingAssisDataforCEcapabUE_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PagingDRX(tvb, offset, &asn1_ctx, tree, hf_ngap_PagingDRX_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PagingOrigin_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PagingOrigin(tvb, offset, &asn1_ctx, tree, hf_ngap_PagingOrigin_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PagingPriority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PagingPriority(tvb, offset, &asn1_ctx, tree, hf_ngap_PagingPriority_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PagingeDRXInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PagingeDRXInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_PagingeDRXInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PathSwitchRequestAcknowledgeTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PathSwitchRequestAcknowledgeTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PathSwitchRequestAcknowledgeTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PathSwitchRequestSetupFailedTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PathSwitchRequestSetupFailedTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PathSwitchRequestSetupFailedTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PathSwitchRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PathSwitchRequestTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PathSwitchRequestTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PathSwitchRequestUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PathSwitchRequestUnsuccessfulTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PathSwitchRequestUnsuccessfulTransfer_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_ngap_PC5QoSParameters(tvb, offset, &asn1_ctx, tree, hf_ngap_PC5QoSParameters_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_ngap_PrivacyIndicator(tvb, offset, &asn1_ctx, tree, hf_ngap_PrivacyIndicator_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionAggregateMaximumBitRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionAggregateMaximumBitRate(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionAggregateMaximumBitRate_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceAdmittedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceAdmittedList(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceAdmittedList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceFailedToModifyListModCfm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceFailedToModifyListModCfm(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceFailedToModifyListModCfm_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceFailedToModifyListModRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceFailedToModifyListModRes(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceFailedToModifyListModRes_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceFailedToResumeListRESReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceFailedToResumeListRESReq(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceFailedToResumeListRESReq_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceFailedToResumeListRESRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceFailedToResumeListRESRes(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceFailedToResumeListRESRes_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceFailedToSetupListCxtFail_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceFailedToSetupListCxtFail(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceFailedToSetupListCxtFail_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceFailedToSetupListCxtRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceFailedToSetupListCxtRes(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceFailedToSetupListCxtRes_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceFailedToSetupListHOAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceFailedToSetupListHOAck(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceFailedToSetupListHOAck_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceFailedToSetupListPSReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceFailedToSetupListPSReq(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceFailedToSetupListPSReq_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceFailedToSetupListSURes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceFailedToSetupListSURes(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceFailedToSetupListSURes_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceHandoverList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceHandoverList(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceHandoverList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceListCxtRelCpl_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceListCxtRelCpl(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceListCxtRelCpl_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceReleaseResponseTransfer_OCTET_STRING_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceReleaseResponseTransfer_OCTET_STRING(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceReleaseResponseTransfer_OCTET_STRING_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceListCxtRelReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceListCxtRelReq(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceListCxtRelReq_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceListHORqd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceListHORqd(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceListHORqd_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyConfirmTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyConfirmTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyConfirmTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyIndicationUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyIndicationUnsuccessfulTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyIndicationUnsuccessfulTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyRequestTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyRequestTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyResponseTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyResponseTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyIndicationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyIndicationTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyIndicationTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyListModCfm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyListModCfm(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyListModCfm_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyListModInd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyListModInd(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyListModInd_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyListModReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyListModReq(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyListModReq_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyListModRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyListModRes(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyListModRes_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyUnsuccessfulTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyUnsuccessfulTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceNotifyList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceNotifyList(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceNotifyList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceNotifyReleasedTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceNotifyReleasedTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceNotifyReleasedTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceNotifyTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceNotifyTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceNotifyTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceReleaseCommandTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceReleaseCommandTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceReleaseCommandTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceReleasedListNot_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceReleasedListNot(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceReleasedListNot_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceReleasedListPSAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceReleasedListPSAck(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceReleasedListPSAck_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceReleasedListPSFail_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceReleasedListPSFail(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceReleasedListPSFail_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceReleasedListRelRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceReleasedListRelRes(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceReleasedListRelRes_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceReleaseResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceReleaseResponseTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceReleaseResponseTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceResumeListRESReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceResumeListRESReq(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceResumeListRESReq_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceResumeListRESRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceResumeListRESRes(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceResumeListRESRes_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSecondaryRATUsageList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSecondaryRATUsageList(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSecondaryRATUsageList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSetupListCxtReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSetupListCxtReq(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSetupListCxtReq_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSetupListCxtRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSetupListCxtRes(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSetupListCxtRes_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSetupListHOReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSetupListHOReq(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSetupListHOReq_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSetupListSUReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSetupListSUReq(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSetupListSUReq_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSetupListSURes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSetupListSURes(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSetupListSURes_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSetupRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSetupRequestTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSetupRequestTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSetupResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSetupResponseTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSetupResponseTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSetupUnsuccessfulTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSetupUnsuccessfulTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSetupUnsuccessfulTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSuspendListSUSReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSuspendListSUSReq(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSuspendListSUSReq_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSwitchedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSwitchedList(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSwitchedList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceToBeSwitchedDLList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceToBeSwitchedDLList(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceToBeSwitchedDLList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceToReleaseListHOCmd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceToReleaseListHOCmd(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceToReleaseListHOCmd_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceToReleaseListRelCmd_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceToReleaseListRelCmd(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceToReleaseListRelCmd_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionType(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionType_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PLMNIdentity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PLMNIdentity(tvb, offset, &asn1_ctx, tree, hf_ngap_PLMNIdentity_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PLMNSupportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PLMNSupportList(tvb, offset, &asn1_ctx, tree, hf_ngap_PLMNSupportList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PWSFailedCellIDList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PWSFailedCellIDList(tvb, offset, &asn1_ctx, tree, hf_ngap_PWSFailedCellIDList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QosFlowAddOrModifyRequestList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_QosFlowAddOrModifyRequestList(tvb, offset, &asn1_ctx, tree, hf_ngap_QosFlowAddOrModifyRequestList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QosFlowFeedbackList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_QosFlowFeedbackList(tvb, offset, &asn1_ctx, tree, hf_ngap_QosFlowFeedbackList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QosMonitoringRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_QosMonitoringRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_QosMonitoringRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QosMonitoringReportingFrequency_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_QosMonitoringReportingFrequency(tvb, offset, &asn1_ctx, tree, hf_ngap_QosMonitoringReportingFrequency_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QosFlowListWithCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_QosFlowListWithCause(tvb, offset, &asn1_ctx, tree, hf_ngap_QosFlowListWithCause_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QosFlowParametersList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_QosFlowParametersList(tvb, offset, &asn1_ctx, tree, hf_ngap_QosFlowParametersList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QosFlowPerTNLInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_QosFlowPerTNLInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_QosFlowPerTNLInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QosFlowPerTNLInformationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_QosFlowPerTNLInformationList(tvb, offset, &asn1_ctx, tree, hf_ngap_QosFlowPerTNLInformationList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QosFlowSetupRequestList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_QosFlowSetupRequestList(tvb, offset, &asn1_ctx, tree, hf_ngap_QosFlowSetupRequestList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RANNodeName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RANNodeName(tvb, offset, &asn1_ctx, tree, hf_ngap_RANNodeName_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RANPagingPriority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RANPagingPriority(tvb, offset, &asn1_ctx, tree, hf_ngap_RANPagingPriority_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RANStatusTransfer_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RANStatusTransfer_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_ngap_RANStatusTransfer_TransparentContainer_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_ngap_RAN_UE_NGAP_ID(tvb, offset, &asn1_ctx, tree, hf_ngap_RAN_UE_NGAP_ID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RAT_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_ngap_RAT_Information(tvb, offset, &asn1_ctx, tree, hf_ngap_RAT_Information_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RedirectionVoiceFallback_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RedirectionVoiceFallback(tvb, offset, &asn1_ctx, tree, hf_ngap_RedirectionVoiceFallback_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RedundantPDUSessionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RedundantPDUSessionInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_RedundantPDUSessionInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RedundantQosFlowIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RedundantQosFlowIndicator(tvb, offset, &asn1_ctx, tree, hf_ngap_RedundantQosFlowIndicator_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RelativeAMFCapacity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RelativeAMFCapacity(tvb, offset, &asn1_ctx, tree, hf_ngap_RelativeAMFCapacity_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RepetitionPeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RepetitionPeriod(tvb, offset, &asn1_ctx, tree, hf_ngap_RepetitionPeriod_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ResetType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ResetType(tvb, offset, &asn1_ctx, tree, hf_ngap_ResetType_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RGLevelWirelineAccessCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RGLevelWirelineAccessCharacteristics(tvb, offset, &asn1_ctx, tree, hf_ngap_RGLevelWirelineAccessCharacteristics_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RoutingID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RoutingID(tvb, offset, &asn1_ctx, tree, hf_ngap_RoutingID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RRCEstablishmentCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RRCEstablishmentCause(tvb, offset, &asn1_ctx, tree, hf_ngap_RRCEstablishmentCause_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RRCInactiveTransitionReportRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RRCInactiveTransitionReportRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_RRCInactiveTransitionReportRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RRCState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RRCState(tvb, offset, &asn1_ctx, tree, hf_ngap_RRCState_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RIMInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RIMInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_RIMInformationTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SCTP_TLAs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SCTP_TLAs(tvb, offset, &asn1_ctx, tree, hf_ngap_SCTP_TLAs_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SecondaryRATUsageInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SecondaryRATUsageInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_SecondaryRATUsageInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SecondaryRATDataUsageReportTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SecondaryRATDataUsageReportTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_SecondaryRATDataUsageReportTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SecurityContext_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SecurityContext(tvb, offset, &asn1_ctx, tree, hf_ngap_SecurityContext_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_ngap_SecurityIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_SecurityIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SecurityKey_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SecurityKey(tvb, offset, &asn1_ctx, tree, hf_ngap_SecurityKey_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_ngap_SecurityResult(tvb, offset, &asn1_ctx, tree, hf_ngap_SecurityResult_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SerialNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SerialNumber(tvb, offset, &asn1_ctx, tree, hf_ngap_SerialNumber_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ServedGUAMIList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ServedGUAMIList(tvb, offset, &asn1_ctx, tree, hf_ngap_ServedGUAMIList_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_ngap_SgNB_UE_X2AP_ID(tvb, offset, &asn1_ctx, tree, hf_ngap_SgNB_UE_X2AP_ID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SliceSupportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SliceSupportList(tvb, offset, &asn1_ctx, tree, hf_ngap_SliceSupportList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_S_NSSAI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_S_NSSAI(tvb, offset, &asn1_ctx, tree, hf_ngap_S_NSSAI_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_ngap_SONConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SONConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_ngap_SONConfigurationTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SONInformationReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SONInformationReport(tvb, offset, &asn1_ctx, tree, hf_ngap_SONInformationReport_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_ngap_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SourceToTarget_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SourceToTarget_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_ngap_SourceToTarget_TransparentContainer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SourceToTarget_AMFInformationReroute_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SourceToTarget_AMFInformationReroute(tvb, offset, &asn1_ctx, tree, hf_ngap_SourceToTarget_AMFInformationReroute_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_ngap_SRVCCOperationPossible(tvb, offset, &asn1_ctx, tree, hf_ngap_SRVCCOperationPossible_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_SupportedTAList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_SupportedTAList(tvb, offset, &asn1_ctx, tree, hf_ngap_SupportedTAList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_Suspend_Request_Indication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_Suspend_Request_Indication(tvb, offset, &asn1_ctx, tree, hf_ngap_Suspend_Request_Indication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_Suspend_Response_Indication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_Suspend_Response_Indication(tvb, offset, &asn1_ctx, tree, hf_ngap_Suspend_Response_Indication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TAI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TAI(tvb, offset, &asn1_ctx, tree, hf_ngap_TAI_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TAIListForPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TAIListForPaging(tvb, offset, &asn1_ctx, tree, hf_ngap_TAIListForPaging_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TAIListForRestart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TAIListForRestart(tvb, offset, &asn1_ctx, tree, hf_ngap_TAIListForRestart_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TargetID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TargetID(tvb, offset, &asn1_ctx, tree, hf_ngap_TargetID_PDU);
offset += 7; offset >>= 3;
return offset;
}
int dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_ngap_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer(tvb, offset, &asn1_ctx, tree, hf_ngap_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TargetRNC_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_ngap_TargetRNC_ID(tvb, offset, &asn1_ctx, tree, hf_ngap_TargetRNC_ID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TargetToSource_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TargetToSource_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_ngap_TargetToSource_TransparentContainer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TargettoSource_Failure_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TargettoSource_Failure_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_ngap_TargettoSource_Failure_TransparentContainer_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_ngap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_ngap_TimeToWait_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TNLAssociationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TNLAssociationList(tvb, offset, &asn1_ctx, tree, hf_ngap_TNLAssociationList_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_ngap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_ngap_TraceActivation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TrafficLoadReductionIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TrafficLoadReductionIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_TrafficLoadReductionIndication_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_ngap_TransportLayerAddress(tvb, offset, &asn1_ctx, tree, hf_ngap_TransportLayerAddress_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TSCTrafficCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TSCTrafficCharacteristics(tvb, offset, &asn1_ctx, tree, hf_ngap_TSCTrafficCharacteristics_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_ngap_UEAggregateMaximumBitRate(tvb, offset, &asn1_ctx, tree, hf_ngap_UEAggregateMaximumBitRate_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UE_associatedLogicalNG_connectionList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UE_associatedLogicalNG_connectionList(tvb, offset, &asn1_ctx, tree, hf_ngap_UE_associatedLogicalNG_connectionList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UECapabilityInfoRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UECapabilityInfoRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_UECapabilityInfoRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_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_ngap_UE_DifferentiationInfo(tvb, offset, &asn1_ctx, tree, hf_ngap_UE_DifferentiationInfo_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEHistoryInformationFromTheUE_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEHistoryInformationFromTheUE(tvb, offset, &asn1_ctx, tree, hf_ngap_UEHistoryInformationFromTheUE_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UE_NGAP_IDs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UE_NGAP_IDs(tvb, offset, &asn1_ctx, tree, hf_ngap_UE_NGAP_IDs_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEPagingIdentity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEPagingIdentity(tvb, offset, &asn1_ctx, tree, hf_ngap_UEPagingIdentity_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEPresenceInAreaOfInterestList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEPresenceInAreaOfInterestList(tvb, offset, &asn1_ctx, tree, hf_ngap_UEPresenceInAreaOfInterestList_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_ngap_UERadioCapability(tvb, offset, &asn1_ctx, tree, hf_ngap_UERadioCapability_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UERadioCapabilityForPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UERadioCapabilityForPaging(tvb, offset, &asn1_ctx, tree, hf_ngap_UERadioCapabilityForPaging_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UERadioCapabilityForPagingOfNB_IoT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UERadioCapabilityForPagingOfNB_IoT(tvb, offset, &asn1_ctx, tree, hf_ngap_UERadioCapabilityForPagingOfNB_IoT_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_ngap_UERadioCapabilityID(tvb, offset, &asn1_ctx, tree, hf_ngap_UERadioCapabilityID_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UERetentionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UERetentionInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_UERetentionInformation_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_ngap_UESecurityCapabilities(tvb, offset, &asn1_ctx, tree, hf_ngap_UESecurityCapabilities_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UE_UP_CIoT_Support_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UE_UP_CIoT_Support(tvb, offset, &asn1_ctx, tree, hf_ngap_UE_UP_CIoT_Support_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UL_CP_SecurityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UL_CP_SecurityInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_UL_CP_SecurityInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UL_NGU_UP_TNLModifyList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UL_NGU_UP_TNLModifyList(tvb, offset, &asn1_ctx, tree, hf_ngap_UL_NGU_UP_TNLModifyList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UnavailableGUAMIList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UnavailableGUAMIList(tvb, offset, &asn1_ctx, tree, hf_ngap_UnavailableGUAMIList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ULForwarding_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ULForwarding(tvb, offset, &asn1_ctx, tree, hf_ngap_ULForwarding_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UPTransportLayerInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UPTransportLayerInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_UPTransportLayerInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UPTransportLayerInformationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UPTransportLayerInformationList(tvb, offset, &asn1_ctx, tree, hf_ngap_UPTransportLayerInformationList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UPTransportLayerInformationPairList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UPTransportLayerInformationPairList(tvb, offset, &asn1_ctx, tree, hf_ngap_UPTransportLayerInformationPairList_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_ngap_URI_address(tvb, offset, &asn1_ctx, tree, hf_ngap_URI_address_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UserLocationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UserLocationInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_UserLocationInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UserLocationInformationTNGF_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UserLocationInformationTNGF(tvb, offset, &asn1_ctx, tree, hf_ngap_UserLocationInformationTNGF_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UserLocationInformationTWIF_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UserLocationInformationTWIF(tvb, offset, &asn1_ctx, tree, hf_ngap_UserLocationInformationTWIF_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UserLocationInformationW_AGF_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UserLocationInformationW_AGF(tvb, offset, &asn1_ctx, tree, hf_ngap_UserLocationInformationW_AGF_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_WarningAreaCoordinates_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_WarningAreaCoordinates(tvb, offset, &asn1_ctx, tree, hf_ngap_WarningAreaCoordinates_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_WarningAreaList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_WarningAreaList(tvb, offset, &asn1_ctx, tree, hf_ngap_WarningAreaList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_WarningMessageContents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_WarningMessageContents(tvb, offset, &asn1_ctx, tree, hf_ngap_WarningMessageContents_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_WarningSecurityInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_WarningSecurityInfo(tvb, offset, &asn1_ctx, tree, hf_ngap_WarningSecurityInfo_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_WarningType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_WarningType(tvb, offset, &asn1_ctx, tree, hf_ngap_WarningType_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_WUS_Assistance_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_ngap_WUS_Assistance_Information(tvb, offset, &asn1_ctx, tree, hf_ngap_WUS_Assistance_Information_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSetupRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSetupRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceSetupResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceSetupResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceReleaseCommand_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceReleaseResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceReleaseResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceReleaseResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceNotify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceNotify(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceNotify_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PDUSessionResourceModifyConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PDUSessionResourceModifyConfirm(tvb, offset, &asn1_ctx, tree, hf_ngap_PDUSessionResourceModifyConfirm_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_InitialContextSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_InitialContextSetupRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_InitialContextSetupRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_InitialContextSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_InitialContextSetupResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_InitialContextSetupResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_InitialContextSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_InitialContextSetupFailure(tvb, offset, &asn1_ctx, tree, hf_ngap_InitialContextSetupFailure_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextReleaseRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextReleaseCommand_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextReleaseComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextReleaseComplete(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextReleaseComplete_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextResumeRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextResumeRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextResumeRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextResumeResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextResumeResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextResumeResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextResumeFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextResumeFailure(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextResumeFailure_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextSuspendRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextSuspendRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextSuspendRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextSuspendResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextSuspendResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextSuspendResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextSuspendFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextSuspendFailure(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextSuspendFailure_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextModificationRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextModificationRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextModificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextModificationResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextModificationResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextModificationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextModificationFailure(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextModificationFailure_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RRCInactiveTransitionReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RRCInactiveTransitionReport(tvb, offset, &asn1_ctx, tree, hf_ngap_RRCInactiveTransitionReport_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RetrieveUEInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RetrieveUEInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_RetrieveUEInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_UEInformationTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RANCPRelocationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RANCPRelocationIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_RANCPRelocationIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverRequired(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverRequired_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverCommand(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverCommand_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_ngap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverPreparationFailure_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_ngap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverRequest_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_ngap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverRequestAcknowledge_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverFailure(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverFailure_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverNotify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverNotify(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverNotify_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PathSwitchRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PathSwitchRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_PathSwitchRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PathSwitchRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PathSwitchRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_ngap_PathSwitchRequestAcknowledge_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PathSwitchRequestFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PathSwitchRequestFailure(tvb, offset, &asn1_ctx, tree, hf_ngap_PathSwitchRequestFailure_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_ngap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverCancel_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_HandoverCancelAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_HandoverCancelAcknowledge(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverCancelAcknowledge_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_ngap_HandoverSuccess(tvb, offset, &asn1_ctx, tree, hf_ngap_HandoverSuccess_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UplinkRANEarlyStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UplinkRANEarlyStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_UplinkRANEarlyStatusTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DownlinkRANEarlyStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DownlinkRANEarlyStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_DownlinkRANEarlyStatusTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UplinkRANStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UplinkRANStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_UplinkRANStatusTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DownlinkRANStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DownlinkRANStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_DownlinkRANStatusTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_Paging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_Paging(tvb, offset, &asn1_ctx, tree, hf_ngap_Paging_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_InitialUEMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_InitialUEMessage(tvb, offset, &asn1_ctx, tree, hf_ngap_InitialUEMessage_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DownlinkNASTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DownlinkNASTransport(tvb, offset, &asn1_ctx, tree, hf_ngap_DownlinkNASTransport_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UplinkNASTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UplinkNASTransport(tvb, offset, &asn1_ctx, tree, hf_ngap_UplinkNASTransport_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_W_AGFIdentityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_W_AGFIdentityInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_W_AGFIdentityInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TNGFIdentityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TNGFIdentityInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_TNGFIdentityInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TWIFIdentityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TWIFIdentityInformation(tvb, offset, &asn1_ctx, tree, hf_ngap_TWIFIdentityInformation_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NASNonDeliveryIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NASNonDeliveryIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_NASNonDeliveryIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RerouteNASRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RerouteNASRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_RerouteNASRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NGAP_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_ngap_NGAP_Message(tvb, offset, &asn1_ctx, tree, hf_ngap_NGAP_Message_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NGSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NGSetupRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_NGSetupRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NGSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NGSetupResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_NGSetupResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NGSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NGSetupFailure(tvb, offset, &asn1_ctx, tree, hf_ngap_NGSetupFailure_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RANConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RANConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_ngap_RANConfigurationUpdate_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RANConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RANConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_ngap_RANConfigurationUpdateAcknowledge_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_RANConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_RANConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_ngap_RANConfigurationUpdateFailure_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMFConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMFConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_ngap_AMFConfigurationUpdate_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMFConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMFConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_ngap_AMFConfigurationUpdateAcknowledge_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMFConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMFConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_ngap_AMFConfigurationUpdateFailure_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMFStatusIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMFStatusIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_AMFStatusIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NGReset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NGReset(tvb, offset, &asn1_ctx, tree, hf_ngap_NGReset_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NGResetAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_NGResetAcknowledge(tvb, offset, &asn1_ctx, tree, hf_ngap_NGResetAcknowledge_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_ngap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_ErrorIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_OverloadStart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_OverloadStart(tvb, offset, &asn1_ctx, tree, hf_ngap_OverloadStart_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_OverloadStop_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_OverloadStop(tvb, offset, &asn1_ctx, tree, hf_ngap_OverloadStop_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UplinkRANConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UplinkRANConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_UplinkRANConfigurationTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DownlinkRANConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DownlinkRANConfigurationTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_DownlinkRANConfigurationTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_WriteReplaceWarningRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_WriteReplaceWarningRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_WriteReplaceWarningRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_WriteReplaceWarningResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_WriteReplaceWarningResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_WriteReplaceWarningResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PWSCancelRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PWSCancelRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_PWSCancelRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PWSCancelResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PWSCancelResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_PWSCancelResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PWSRestartIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PWSRestartIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_PWSRestartIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_PWSFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_PWSFailureIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_PWSFailureIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DownlinkUEAssociatedNRPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DownlinkUEAssociatedNRPPaTransport(tvb, offset, &asn1_ctx, tree, hf_ngap_DownlinkUEAssociatedNRPPaTransport_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UplinkUEAssociatedNRPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UplinkUEAssociatedNRPPaTransport(tvb, offset, &asn1_ctx, tree, hf_ngap_UplinkUEAssociatedNRPPaTransport_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DownlinkNonUEAssociatedNRPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DownlinkNonUEAssociatedNRPPaTransport(tvb, offset, &asn1_ctx, tree, hf_ngap_DownlinkNonUEAssociatedNRPPaTransport_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UplinkNonUEAssociatedNRPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UplinkNonUEAssociatedNRPPaTransport(tvb, offset, &asn1_ctx, tree, hf_ngap_UplinkNonUEAssociatedNRPPaTransport_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_ngap_TraceStart(tvb, offset, &asn1_ctx, tree, hf_ngap_TraceStart_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_TraceFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_TraceFailureIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_TraceFailureIndication_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_ngap_DeactivateTrace(tvb, offset, &asn1_ctx, tree, hf_ngap_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_ngap_CellTrafficTrace(tvb, offset, &asn1_ctx, tree, hf_ngap_CellTrafficTrace_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_LocationReportingControl_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_LocationReportingControl(tvb, offset, &asn1_ctx, tree, hf_ngap_LocationReportingControl_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_LocationReportingFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_LocationReportingFailureIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_LocationReportingFailureIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_LocationReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_LocationReport(tvb, offset, &asn1_ctx, tree, hf_ngap_LocationReport_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UETNLABindingReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UETNLABindingReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_UETNLABindingReleaseRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UERadioCapabilityInfoIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UERadioCapabilityInfoIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_UERadioCapabilityInfoIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UERadioCapabilityCheckRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UERadioCapabilityCheckRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_UERadioCapabilityCheckRequest_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UERadioCapabilityCheckResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UERadioCapabilityCheckResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_UERadioCapabilityCheckResponse_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_ngap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_ngap_PrivateMessage_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_ngap_SecondaryRATDataUsageReport(tvb, offset, &asn1_ctx, tree, hf_ngap_SecondaryRATDataUsageReport_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UplinkRIMInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UplinkRIMInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_UplinkRIMInformationTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DownlinkRIMInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_DownlinkRIMInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_DownlinkRIMInformationTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_ConnectionEstablishmentIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_ConnectionEstablishmentIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_ConnectionEstablishmentIndication_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_ngap_UERadioCapabilityIDMappingRequest(tvb, offset, &asn1_ctx, tree, hf_ngap_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_ngap_UERadioCapabilityIDMappingResponse(tvb, offset, &asn1_ctx, tree, hf_ngap_UERadioCapabilityIDMappingResponse_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_AMFCPRelocationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_AMFCPRelocationIndication(tvb, offset, &asn1_ctx, tree, hf_ngap_AMFCPRelocationIndication_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_NGAP_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_ngap_NGAP_PDU(tvb, offset, &asn1_ctx, tree, hf_ngap_NGAP_PDU_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextResumeRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextResumeRequestTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextResumeRequestTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextResumeResponseTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextResumeResponseTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextResumeResponseTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_UEContextSuspendRequestTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ngap_UEContextSuspendRequestTransfer(tvb, offset, &asn1_ctx, tree, hf_ngap_UEContextSuspendRequestTransfer_PDU);
offset += 7; offset >>= 3;
return offset;
}
/*--- End of included file: packet-ngap-fn.c ---*/
#line 720 "./asn1/ngap/packet-ngap-template.c"
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
ngap_ctx_t ngap_ctx;
struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
ngap_ctx.message_type = ngap_data->message_type;
ngap_ctx.ProcedureCode = ngap_data->procedure_code;
ngap_ctx.ProtocolIE_ID = ngap_data->protocol_ie_id;
ngap_ctx.ProtocolExtensionID = ngap_data->protocol_extension_id;
return (dissector_try_uint_new(ngap_ies_dissector_table, ngap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, &ngap_ctx)) ? tvb_captured_length(tvb) : 0;
}
/* Currently not used
static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
return (dissector_try_uint(ngap_ies_p1_dissector_table, ngap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
}
static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
return (dissector_try_uint(ngap_ies_p2_dissector_table, ngap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
}
*/
static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
ngap_ctx_t ngap_ctx;
struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
ngap_ctx.message_type = ngap_data->message_type;
ngap_ctx.ProcedureCode = ngap_data->procedure_code;
ngap_ctx.ProtocolIE_ID = ngap_data->protocol_ie_id;
ngap_ctx.ProtocolExtensionID = ngap_data->protocol_extension_id;
return (dissector_try_uint_new(ngap_extension_dissector_table, ngap_data->protocol_extension_id, tvb, pinfo, tree, TRUE, &ngap_ctx)) ? tvb_captured_length(tvb) : 0;
}
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
return (dissector_try_uint_new(ngap_proc_imsg_dissector_table, ngap_data->procedure_code, tvb, pinfo, tree, TRUE, data)) ? tvb_captured_length(tvb) : 0;
}
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
return (dissector_try_uint_new(ngap_proc_sout_dissector_table, ngap_data->procedure_code, tvb, pinfo, tree, TRUE, data)) ? tvb_captured_length(tvb) : 0;
}
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
struct ngap_private_data *ngap_data = ngap_get_private_data(pinfo);
return (dissector_try_uint_new(ngap_proc_uout_dissector_table, ngap_data->procedure_code, tvb, pinfo, tree, TRUE, data)) ? tvb_captured_length(tvb) : 0;
}
static void
ngap_stats_tree_init(stats_tree *st)
{
st_node_packets = stats_tree_create_node(st, st_str_packets, 0, STAT_DT_INT, TRUE);
st_node_packet_types = stats_tree_create_pivot(st, st_str_packet_types, st_node_packets);
}
static tap_packet_status
ngap_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
epan_dissect_t* edt _U_ , const void* p)
{
const struct ngap_tap_t *pi = (const struct ngap_tap_t *) p;
tick_stat_node(st, st_str_packets, 0, FALSE);
stats_tree_tick_pivot(st, st_node_packet_types,
val_to_str(pi->ngap_mtype, mtype_names,
"Unknown packet type (%d)"));
return TAP_PACKET_REDRAW;
}
static void set_stats_message_type(packet_info *pinfo, int type)
{
struct ngap_private_data* priv_data = ngap_get_private_data(pinfo);
priv_data->stats_tap->ngap_mtype = type;
}
static int
dissect_ngap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
proto_item *ngap_item = NULL;
proto_tree *ngap_tree = NULL;
conversation_t *conversation;
struct ngap_private_data *ngap_data;
wmem_list_frame_t *prev_layer;
struct ngap_tap_t *ngap_info;
/* make entry in the Protocol column on summary display */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "NGAP");
/* ensure that parent dissector is not NGAP before clearing fence */
prev_layer = wmem_list_frame_prev(wmem_list_tail(pinfo->layers));
if (prev_layer && GPOINTER_TO_INT(wmem_list_frame_data(prev_layer)) != proto_ngap)
col_clear_fence(pinfo->cinfo, COL_INFO);
col_clear(pinfo->cinfo, COL_INFO);
ngap_info = wmem_new(pinfo->pool, struct ngap_tap_t);
ngap_info->ngap_mtype = 0; /* unknown/invalid */
/* create the ngap protocol tree */
ngap_item = proto_tree_add_item(tree, proto_ngap, tvb, 0, -1, ENC_NA);
ngap_tree = proto_item_add_subtree(ngap_item, ett_ngap);
/* Store top-level tree */
top_tree = ngap_tree;
/* Add stats tap to private struct */
struct ngap_private_data *priv_data = ngap_get_private_data(pinfo);
priv_data->stats_tap = ngap_info;
ngap_data = ngap_get_private_data(pinfo);
conversation = find_or_create_conversation(pinfo);
ngap_data->ngap_conv = (struct ngap_conv_info *)conversation_get_proto_data(conversation, proto_ngap);
if (!ngap_data->ngap_conv) {
ngap_data->ngap_conv = wmem_new0(wmem_file_scope(), struct ngap_conv_info);
copy_address_wmem(wmem_file_scope(), &ngap_data->ngap_conv->addr_a, &pinfo->src);
ngap_data->ngap_conv->port_a = pinfo->srcport;
ngap_data->ngap_conv->ranmode_id_a = (GlobalRANNodeID_enum)-1;
copy_address_wmem(wmem_file_scope(), &ngap_data->ngap_conv->addr_b, &pinfo->dst);
ngap_data->ngap_conv->port_b = pinfo->destport;
ngap_data->ngap_conv->ranmode_id_b = (GlobalRANNodeID_enum)-1;
ngap_data->ngap_conv->nbiot_ta = wmem_map_new(wmem_file_scope(), wmem_int64_hash, g_int64_equal);
ngap_data->ngap_conv->nbiot_ran_ue_ngap_id = wmem_tree_new(wmem_file_scope());
conversation_add_proto_data(conversation, proto_ngap, ngap_data->ngap_conv);
}
dissect_NGAP_PDU_PDU(tvb, pinfo, ngap_tree, NULL);
tap_queue_packet(ngap_tap, pinfo, ngap_info);
return tvb_captured_length(tvb);
}
static gboolean
find_n2_info_content(char *json_data, jsmntok_t *token, const char *n2_info_content,
const char *content_id, dissector_handle_t *subdissector)
{
jsmntok_t *n2_info_content_token, *ngap_data_token;
char *str;
gdouble ngap_msg_type;
n2_info_content_token = json_get_object(json_data, token, n2_info_content);
if (!n2_info_content_token)
return FALSE;
ngap_data_token = json_get_object(json_data, n2_info_content_token, "ngapData");
if (!ngap_data_token)
return FALSE;
str = json_get_string(json_data, ngap_data_token, "contentId");
if (!str || strcmp(str, content_id))
return FALSE;
str = json_get_string(json_data, n2_info_content_token, "ngapIeType");
if (str)
*subdissector = dissector_get_string_handle(ngap_n2_ie_type_dissector_table, str);
else if (json_get_double(json_data, n2_info_content_token, "ngapMessageType", &ngap_msg_type))
*subdissector = ngap_handle;
else
*subdissector = NULL;
return TRUE;
}
/* 3GPP TS 29.502 chapter 6.1.6.4.3 and 29.518 chapter 6.1.6.4.3 */
static int
dissect_ngap_media_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
{
int ret;
char *json_data;
const char *n2_info_class;
jsmntok_t *tokens, *cur_tok;
dissector_handle_t subdissector = NULL;
tvbuff_t* json_tvb = (tvbuff_t*)p_get_proto_data(pinfo->pool, pinfo, proto_json, 0);
http_message_info_t *message_info = (http_message_info_t *)data;
if (!json_tvb || !message_info || !message_info->content_id)
return 0;
json_data = tvb_get_string_enc(pinfo->pool, json_tvb, 0, tvb_reported_length(json_tvb), ENC_UTF_8|ENC_NA);
ret = json_parse(json_data, NULL, 0);
if (ret <= 0)
return 0;
tokens = wmem_alloc_array(pinfo->pool, jsmntok_t, ret);
if (json_parse(json_data, tokens, ret) <= 0)
return 0;
cur_tok = json_get_object(json_data, tokens, "n2InfoContainer");
if (!cur_tok) {
/* look for n2Information too*/
cur_tok = json_get_object(json_data, tokens, "n2Information");
}
if (cur_tok) {
n2_info_class = json_get_string(json_data, cur_tok, "n2InformationClass");
if (n2_info_class) {
if (!strcmp(n2_info_class, "SM")) {
cur_tok = json_get_object(json_data, cur_tok, "smInfo");
if (cur_tok && find_n2_info_content(json_data, cur_tok, "n2InfoContent",
message_info->content_id, &subdissector))
goto found;
}
if (!strcmp(n2_info_class, "RAN")) {
cur_tok = json_get_object(json_data, cur_tok, "ranInfo");
if (cur_tok && find_n2_info_content(json_data, cur_tok, "n2InfoContent",
message_info->content_id, &subdissector))
goto found;
}
if (!strcmp(n2_info_class, "NRPPa")) {
cur_tok = json_get_object(json_data, cur_tok, "nrppaInfo");
if (cur_tok && find_n2_info_content(json_data, cur_tok, "nrppaPdu",
message_info->content_id, &subdissector))
goto found;
}
if (!strcmp(n2_info_class, "PWS") ||
!strcmp(n2_info_class, "PWS-BCAL") ||
!strcmp(n2_info_class, "PWS-RF")) {
cur_tok = json_get_object(json_data, cur_tok, "pwsInfo");
if (cur_tok && find_n2_info_content(json_data, cur_tok, "pwsContainer",
message_info->content_id, &subdissector))
goto found;
}
}
}
cur_tok = json_get_object(json_data, tokens, "n2SmInfo");
if (cur_tok) {
const char *content_id_str = json_get_string(json_data, cur_tok, "contentId");
if (content_id_str && !strcmp(content_id_str, message_info->content_id)) {
const char *str = json_get_string(json_data, tokens, "n2SmInfoType");
if (str)
subdissector = dissector_get_string_handle(ngap_n2_ie_type_dissector_table, str);
else
subdissector = NULL;
goto found;
}
}
cur_tok = json_get_array(json_data, tokens, "pduSessionList");
if (cur_tok) {
int i, count;
count = json_get_array_len(cur_tok);
for (i = 0; i < count; i++) {
jsmntok_t *array_tok = json_get_array_index(cur_tok, i);
if (find_n2_info_content(json_data, array_tok, "n2InfoContent",
message_info->content_id, &subdissector))
goto found;
}
}
if (find_n2_info_content(json_data, tokens, "sourceToTargetData",
message_info->content_id, &subdissector))
goto found;
if (find_n2_info_content(json_data, tokens, "targetToSourceData",
message_info->content_id, &subdissector))
goto found;
if (find_n2_info_content(json_data, tokens, "targetToSourceFailureData",
message_info->content_id, &subdissector))
goto found;
if (find_n2_info_content(json_data, tokens, "ueRadioCapability",
message_info->content_id, &subdissector))
goto found;
found:
if (subdissector) {
proto_item *ngap_item;
proto_tree *ngap_tree;
gboolean save_writable;
col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, "/", "NGAP");
if (subdissector != ngap_handle) {
ngap_item = proto_tree_add_item(tree, proto_ngap, tvb, 0, -1, ENC_NA);
ngap_tree = proto_item_add_subtree(ngap_item, ett_ngap);
} else {
ngap_tree = tree;
}
save_writable = col_get_writable(pinfo->cinfo, COL_PROTOCOL);
col_set_writable(pinfo->cinfo, COL_PROTOCOL, FALSE);
call_dissector_with_data(subdissector, tvb, pinfo, ngap_tree, NULL);
col_set_writable(pinfo->cinfo, COL_PROTOCOL, save_writable);
return tvb_captured_length(tvb);
} else {
return 0;
}
}
/*--- proto_reg_handoff_ngap ---------------------------------------*/
void
proto_reg_handoff_ngap(void)
{
static gboolean Initialized=FALSE;
static guint SctpPort;
if (!Initialized) {
nas_5gs_handle = find_dissector_add_dependency("nas-5gs", proto_ngap);
nr_rrc_ue_radio_paging_info_handle = find_dissector_add_dependency("nr-rrc.ue_radio_paging_info", proto_ngap);
nr_rrc_ue_radio_access_cap_info_handle = find_dissector_add_dependency("nr-rrc.ue_radio_access_cap_info", proto_ngap);
lte_rrc_ue_radio_paging_info_handle = find_dissector_add_dependency("lte-rrc.ue_radio_paging_info", proto_ngap);
lte_rrc_ue_radio_access_cap_info_handle = find_dissector_add_dependency("lte-rrc.ue_radio_access_cap_info", proto_ngap);
lte_rrc_ue_radio_paging_info_nb_handle = find_dissector_add_dependency("lte-rrc.ue_radio_paging_info.nb", proto_ngap);
lte_rrc_ue_radio_access_cap_info_nb_handle = find_dissector_add_dependency("lte-rrc.ue_radio_access_cap_info.nb", proto_ngap);
dissector_add_for_decode_as("sctp.port", ngap_handle);
dissector_add_uint("sctp.ppi", NGAP_PROTOCOL_ID, ngap_handle);
Initialized=TRUE;
/*--- Included file: packet-ngap-dis-tab.c ---*/
#line 1 "./asn1/ngap/packet-ngap-dis-tab.c"
dissector_add_uint("ngap.ies", id_AllowedNSSAI, create_dissector_handle(dissect_AllowedNSSAI_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AMFName, create_dissector_handle(dissect_AMFName_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AMFOverloadResponse, create_dissector_handle(dissect_OverloadResponse_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AMFSetID, create_dissector_handle(dissect_AMFSetID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AMF_TNLAssociationFailedToSetupList, create_dissector_handle(dissect_TNLAssociationList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AMF_TNLAssociationSetupList, create_dissector_handle(dissect_AMF_TNLAssociationSetupList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AMF_TNLAssociationToAddList, create_dissector_handle(dissect_AMF_TNLAssociationToAddList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AMF_TNLAssociationToRemoveList, create_dissector_handle(dissect_AMF_TNLAssociationToRemoveList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AMF_TNLAssociationToUpdateList, create_dissector_handle(dissect_AMF_TNLAssociationToUpdateList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AMFTrafficLoadReductionIndication, create_dissector_handle(dissect_TrafficLoadReductionIndication_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AMF_UE_NGAP_ID, create_dissector_handle(dissect_AMF_UE_NGAP_ID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AssistanceDataForPaging, create_dissector_handle(dissect_AssistanceDataForPaging_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_BroadcastCancelledAreaList, create_dissector_handle(dissect_BroadcastCancelledAreaList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_BroadcastCompletedAreaList, create_dissector_handle(dissect_BroadcastCompletedAreaList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_CancelAllWarningMessages, create_dissector_handle(dissect_CancelAllWarningMessages_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_Cause, create_dissector_handle(dissect_Cause_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_CellIDListForRestart, create_dissector_handle(dissect_CellIDListForRestart_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_ConcurrentWarningMessageInd, create_dissector_handle(dissect_ConcurrentWarningMessageInd_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_CoreNetworkAssistanceInformationForInactive, create_dissector_handle(dissect_CoreNetworkAssistanceInformationForInactive_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_CriticalityDiagnostics, create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_DataCodingScheme, create_dissector_handle(dissect_DataCodingScheme_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_DefaultPagingDRX, create_dissector_handle(dissect_PagingDRX_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_DirectForwardingPathAvailability, create_dissector_handle(dissect_DirectForwardingPathAvailability_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_EmergencyAreaIDListForRestart, create_dissector_handle(dissect_EmergencyAreaIDListForRestart_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_EmergencyFallbackIndicator, create_dissector_handle(dissect_EmergencyFallbackIndicator_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_EUTRA_CGI, create_dissector_handle(dissect_EUTRA_CGI_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_FiveG_S_TMSI, create_dissector_handle(dissect_FiveG_S_TMSI_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_GlobalRANNodeID, create_dissector_handle(dissect_GlobalRANNodeID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_GUAMI, create_dissector_handle(dissect_GUAMI_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_HandoverType, create_dissector_handle(dissect_HandoverType_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_IMSVoiceSupportIndicator, create_dissector_handle(dissect_IMSVoiceSupportIndicator_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_IndexToRFSP, create_dissector_handle(dissect_IndexToRFSP_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_InfoOnRecommendedCellsAndRANNodesForPaging, create_dissector_handle(dissect_InfoOnRecommendedCellsAndRANNodesForPaging_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_LocationReportingRequestType, create_dissector_handle(dissect_LocationReportingRequestType_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_MaskedIMEISV, create_dissector_handle(dissect_MaskedIMEISV_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_MessageIdentifier, create_dissector_handle(dissect_MessageIdentifier_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_MobilityRestrictionList, create_dissector_handle(dissect_ngap_MobilityRestrictionList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NASC, create_dissector_handle(dissect_NAS_PDU_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NAS_PDU, create_dissector_handle(dissect_NAS_PDU_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NASSecurityParametersFromNGRAN, create_dissector_handle(dissect_NASSecurityParametersFromNGRAN_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NewAMF_UE_NGAP_ID, create_dissector_handle(dissect_AMF_UE_NGAP_ID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NewSecurityContextInd, create_dissector_handle(dissect_NewSecurityContextInd_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NGAP_Message, create_dissector_handle(dissect_NGAP_Message_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NGRAN_CGI, create_dissector_handle(dissect_ngap_NGRAN_CGI_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NGRANTraceID, create_dissector_handle(dissect_NGRANTraceID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NR_CGI, create_dissector_handle(dissect_NR_CGI_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NRPPa_PDU, create_dissector_handle(dissect_NRPPa_PDU_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NumberOfBroadcastsRequested, create_dissector_handle(dissect_NumberOfBroadcastsRequested_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_OldAMF, create_dissector_handle(dissect_AMFName_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_OverloadStartNSSAIList, create_dissector_handle(dissect_OverloadStartNSSAIList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PagingDRX, create_dissector_handle(dissect_PagingDRX_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PagingOrigin, create_dissector_handle(dissect_PagingOrigin_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PagingPriority, create_dissector_handle(dissect_PagingPriority_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceAdmittedList, create_dissector_handle(dissect_PDUSessionResourceAdmittedList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceFailedToModifyListModRes, create_dissector_handle(dissect_PDUSessionResourceFailedToModifyListModRes_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceFailedToSetupListCxtRes, create_dissector_handle(dissect_PDUSessionResourceFailedToSetupListCxtRes_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceFailedToSetupListHOAck, create_dissector_handle(dissect_PDUSessionResourceFailedToSetupListHOAck_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceFailedToSetupListPSReq, create_dissector_handle(dissect_PDUSessionResourceFailedToSetupListPSReq_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceFailedToSetupListSURes, create_dissector_handle(dissect_PDUSessionResourceFailedToSetupListSURes_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceHandoverList, create_dissector_handle(dissect_PDUSessionResourceHandoverList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceListCxtRelCpl, create_dissector_handle(dissect_PDUSessionResourceListCxtRelCpl_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceListHORqd, create_dissector_handle(dissect_PDUSessionResourceListHORqd_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceModifyListModCfm, create_dissector_handle(dissect_PDUSessionResourceModifyListModCfm_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceModifyListModInd, create_dissector_handle(dissect_PDUSessionResourceModifyListModInd_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceModifyListModReq, create_dissector_handle(dissect_PDUSessionResourceModifyListModReq_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceModifyListModRes, create_dissector_handle(dissect_PDUSessionResourceModifyListModRes_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceNotifyList, create_dissector_handle(dissect_PDUSessionResourceNotifyList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceReleasedListNot, create_dissector_handle(dissect_PDUSessionResourceReleasedListNot_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceReleasedListPSAck, create_dissector_handle(dissect_PDUSessionResourceReleasedListPSAck_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceReleasedListPSFail, create_dissector_handle(dissect_PDUSessionResourceReleasedListPSFail_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceReleasedListRelRes, create_dissector_handle(dissect_PDUSessionResourceReleasedListRelRes_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceSetupListCxtReq, create_dissector_handle(dissect_PDUSessionResourceSetupListCxtReq_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceSetupListCxtRes, create_dissector_handle(dissect_PDUSessionResourceSetupListCxtRes_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceSetupListHOReq, create_dissector_handle(dissect_PDUSessionResourceSetupListHOReq_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceSetupListSUReq, create_dissector_handle(dissect_PDUSessionResourceSetupListSUReq_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceSetupListSURes, create_dissector_handle(dissect_PDUSessionResourceSetupListSURes_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceToBeSwitchedDLList, create_dissector_handle(dissect_PDUSessionResourceToBeSwitchedDLList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceSwitchedList, create_dissector_handle(dissect_PDUSessionResourceSwitchedList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceToReleaseListHOCmd, create_dissector_handle(dissect_PDUSessionResourceToReleaseListHOCmd_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceToReleaseListRelCmd, create_dissector_handle(dissect_PDUSessionResourceToReleaseListRelCmd_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PLMNSupportList, create_dissector_handle(dissect_PLMNSupportList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PWSFailedCellIDList, create_dissector_handle(dissect_PWSFailedCellIDList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RANNodeName, create_dissector_handle(dissect_RANNodeName_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RANPagingPriority, create_dissector_handle(dissect_RANPagingPriority_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RANStatusTransfer_TransparentContainer, create_dissector_handle(dissect_RANStatusTransfer_TransparentContainer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RAN_UE_NGAP_ID, create_dissector_handle(dissect_RAN_UE_NGAP_ID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RelativeAMFCapacity, create_dissector_handle(dissect_RelativeAMFCapacity_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RepetitionPeriod, create_dissector_handle(dissect_RepetitionPeriod_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_ResetType, create_dissector_handle(dissect_ResetType_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RoutingID, create_dissector_handle(dissect_RoutingID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RRCEstablishmentCause, create_dissector_handle(dissect_RRCEstablishmentCause_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RRCInactiveTransitionReportRequest, create_dissector_handle(dissect_RRCInactiveTransitionReportRequest_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RRCState, create_dissector_handle(dissect_RRCState_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SecurityContext, create_dissector_handle(dissect_SecurityContext_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SecurityKey, create_dissector_handle(dissect_SecurityKey_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SerialNumber, create_dissector_handle(dissect_SerialNumber_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_ServedGUAMIList, create_dissector_handle(dissect_ServedGUAMIList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SliceSupportList, create_dissector_handle(dissect_SliceSupportList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SONConfigurationTransferDL, create_dissector_handle(dissect_ngap_SONConfigurationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SONConfigurationTransferUL, create_dissector_handle(dissect_ngap_SONConfigurationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SourceAMF_UE_NGAP_ID, create_dissector_handle(dissect_AMF_UE_NGAP_ID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SourceToTarget_TransparentContainer, create_dissector_handle(dissect_SourceToTarget_TransparentContainer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SupportedTAList, create_dissector_handle(dissect_SupportedTAList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TAIListForPaging, create_dissector_handle(dissect_TAIListForPaging_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TAIListForRestart, create_dissector_handle(dissect_TAIListForRestart_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TargetID, create_dissector_handle(dissect_TargetID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TargetToSource_TransparentContainer, create_dissector_handle(dissect_TargetToSource_TransparentContainer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TimeToWait, create_dissector_handle(dissect_TimeToWait_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TraceActivation, create_dissector_handle(dissect_TraceActivation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TraceCollectionEntityIPAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UEAggregateMaximumBitRate, create_dissector_handle(dissect_UEAggregateMaximumBitRate_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UE_associatedLogicalNG_connectionList, create_dissector_handle(dissect_UE_associatedLogicalNG_connectionList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UEContextRequest, create_dissector_handle(dissect_UEContextRequest_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UE_NGAP_IDs, create_dissector_handle(dissect_UE_NGAP_IDs_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UEPagingIdentity, create_dissector_handle(dissect_UEPagingIdentity_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UEPresenceInAreaOfInterestList, create_dissector_handle(dissect_UEPresenceInAreaOfInterestList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UERadioCapability, create_dissector_handle(dissect_UERadioCapability_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UERadioCapabilityForPaging, create_dissector_handle(dissect_UERadioCapabilityForPaging_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UESecurityCapabilities, create_dissector_handle(dissect_UESecurityCapabilities_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UnavailableGUAMIList, create_dissector_handle(dissect_UnavailableGUAMIList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UserLocationInformation, create_dissector_handle(dissect_UserLocationInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_WarningAreaList, create_dissector_handle(dissect_WarningAreaList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_WarningMessageContents, create_dissector_handle(dissect_WarningMessageContents_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_WarningSecurityInfo, create_dissector_handle(dissect_WarningSecurityInfo_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_WarningType, create_dissector_handle(dissect_WarningType_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AdditionalUL_NGU_UP_TNLInformation, create_dissector_handle(dissect_UPTransportLayerInformationList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_DataForwardingNotPossible, create_dissector_handle(dissect_DataForwardingNotPossible_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NetworkInstance, create_dissector_handle(dissect_NetworkInstance_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionAggregateMaximumBitRate, create_dissector_handle(dissect_PDUSessionAggregateMaximumBitRate_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceFailedToModifyListModCfm, create_dissector_handle(dissect_PDUSessionResourceFailedToModifyListModCfm_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceFailedToSetupListCxtFail, create_dissector_handle(dissect_PDUSessionResourceFailedToSetupListCxtFail_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceListCxtRelReq, create_dissector_handle(dissect_PDUSessionResourceListCxtRelReq_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionType, create_dissector_handle(dissect_PDUSessionType_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_QosFlowAddOrModifyRequestList, create_dissector_handle(dissect_QosFlowAddOrModifyRequestList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_QosFlowSetupRequestList, create_dissector_handle(dissect_QosFlowSetupRequestList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_QosFlowToReleaseList, create_dissector_handle(dissect_QosFlowListWithCause_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SecurityIndication, create_dissector_handle(dissect_SecurityIndication_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UL_NGU_UP_TNLInformation, create_dissector_handle(dissect_UPTransportLayerInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UL_NGU_UP_TNLModifyList, create_dissector_handle(dissect_UL_NGU_UP_TNLModifyList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_WarningAreaCoordinates, create_dissector_handle(dissect_WarningAreaCoordinates_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceSecondaryRATUsageList, create_dissector_handle(dissect_PDUSessionResourceSecondaryRATUsageList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_HandoverFlag, create_dissector_handle(dissect_HandoverFlag_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RedirectionVoiceFallback, create_dissector_handle(dissect_RedirectionVoiceFallback_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UERetentionInformation, create_dissector_handle(dissect_UERetentionInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PSCellInformation, create_dissector_handle(dissect_ngap_NGRAN_CGI_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_ENDC_SONConfigurationTransferDL, create_dissector_handle(dissect_EN_DCSONConfigurationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_ENDC_SONConfigurationTransferUL, create_dissector_handle(dissect_EN_DCSONConfigurationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NewGUAMI, create_dissector_handle(dissect_GUAMI_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_CNAssistedRANTuning, create_dissector_handle(dissect_CNAssistedRANTuning_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_CommonNetworkInstance, create_dissector_handle(dissect_CommonNetworkInstance_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NGRAN_TNLAssociationToRemoveList, create_dissector_handle(dissect_NGRAN_TNLAssociationToRemoveList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_EndpointIPAddressAndPort, create_dissector_handle(dissect_EndpointIPAddressAndPort_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SourceToTarget_AMFInformationReroute, create_dissector_handle(dissect_SourceToTarget_AMFInformationReroute_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RIMInformationTransfer, create_dissector_handle(dissect_RIMInformationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SRVCCOperationPossible, create_dissector_handle(dissect_SRVCCOperationPossible_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TargetRNC_ID, create_dissector_handle(dissect_TargetRNC_ID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AdditionalRedundantUL_NGU_UP_TNLInformation, create_dissector_handle(dissect_UPTransportLayerInformationList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RedundantCommonNetworkInstance, create_dissector_handle(dissect_CommonNetworkInstance_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RedundantUL_NGU_UP_TNLInformation, create_dissector_handle(dissect_UPTransportLayerInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RedundantPDUSessionInformation, create_dissector_handle(dissect_RedundantPDUSessionInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_IAB_Authorized, create_dissector_handle(dissect_IAB_Authorized_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_IAB_Supported, create_dissector_handle(dissect_IAB_Supported_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_IABNodeIndication, create_dissector_handle(dissect_IABNodeIndication_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NB_IoT_PagingDRX, create_dissector_handle(dissect_NB_IoT_PagingDRX_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NB_IoT_Paging_eDRXInfo, create_dissector_handle(dissect_NB_IoT_Paging_eDRXInfo_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NB_IoT_DefaultPagingDRX, create_dissector_handle(dissect_NB_IoT_DefaultPagingDRX_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_Enhanced_CoverageRestriction, create_dissector_handle(dissect_Enhanced_CoverageRestriction_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_Extended_ConnectedTime, create_dissector_handle(dissect_Extended_ConnectedTime_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PagingAssisDataforCEcapabUE, create_dissector_handle(dissect_PagingAssisDataforCEcapabUE_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_WUS_Assistance_Information, create_dissector_handle(dissect_WUS_Assistance_Information_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UE_DifferentiationInfo, create_dissector_handle(dissect_UE_DifferentiationInfo_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NB_IoT_UEPriority, create_dissector_handle(dissect_NB_IoT_UEPriority_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UL_CP_SecurityInformation, create_dissector_handle(dissect_UL_CP_SecurityInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_DL_CP_SecurityInformation, create_dissector_handle(dissect_DL_CP_SecurityInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TAI, create_dissector_handle(dissect_TAI_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_LTEV2XServicesAuthorized, create_dissector_handle(dissect_LTEV2XServicesAuthorized_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NRV2XServicesAuthorized, create_dissector_handle(dissect_NRV2XServicesAuthorized_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_LTEUESidelinkAggregateMaximumBitrate, create_dissector_handle(dissect_LTEUESidelinkAggregateMaximumBitrate_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NRUESidelinkAggregateMaximumBitrate, create_dissector_handle(dissect_NRUESidelinkAggregateMaximumBitrate_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PC5QoSParameters, create_dissector_handle(dissect_PC5QoSParameters_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_CEmodeBrestricted, create_dissector_handle(dissect_CEmodeBrestricted_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PagingeDRXInformation, create_dissector_handle(dissect_PagingeDRXInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_CEmodeBSupport_Indicator, create_dissector_handle(dissect_CEmodeBSupport_Indicator_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_LTEM_Indication, create_dissector_handle(dissect_LTEM_Indication_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_EndIndication, create_dissector_handle(dissect_EndIndication_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_EDT_Session, create_dissector_handle(dissect_EDT_Session_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UECapabilityInfoRequest, create_dissector_handle(dissect_UECapabilityInfoRequest_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceFailedToResumeListRESReq, create_dissector_handle(dissect_PDUSessionResourceFailedToResumeListRESReq_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceFailedToResumeListRESRes, create_dissector_handle(dissect_PDUSessionResourceFailedToResumeListRESRes_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceSuspendListSUSReq, create_dissector_handle(dissect_PDUSessionResourceSuspendListSUSReq_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceResumeListRESReq, create_dissector_handle(dissect_PDUSessionResourceResumeListRESReq_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PDUSessionResourceResumeListRESRes, create_dissector_handle(dissect_PDUSessionResourceResumeListRESRes_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UE_UP_CIoT_Support, create_dissector_handle(dissect_UE_UP_CIoT_Support_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_Suspend_Request_Indication, create_dissector_handle(dissect_Suspend_Request_Indication_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_Suspend_Response_Indication, create_dissector_handle(dissect_Suspend_Response_Indication_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RRC_Resume_Cause, create_dissector_handle(dissect_RRCEstablishmentCause_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_RGLevelWirelineAccessCharacteristics, create_dissector_handle(dissect_RGLevelWirelineAccessCharacteristics_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_W_AGFIdentityInformation, create_dissector_handle(dissect_W_AGFIdentityInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_GlobalTNGF_ID, create_dissector_handle(dissect_GlobalTNGF_ID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_GlobalTWIF_ID, create_dissector_handle(dissect_GlobalTWIF_ID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_GlobalW_AGF_ID, create_dissector_handle(dissect_GlobalW_AGF_ID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UserLocationInformationW_AGF, create_dissector_handle(dissect_UserLocationInformationW_AGF_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UserLocationInformationTNGF, create_dissector_handle(dissect_UserLocationInformationTNGF_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_AuthenticatedIndication, create_dissector_handle(dissect_AuthenticatedIndication_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TNGFIdentityInformation, create_dissector_handle(dissect_TNGFIdentityInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TWIFIdentityInformation, create_dissector_handle(dissect_TWIFIdentityInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UserLocationInformationTWIF, create_dissector_handle(dissect_UserLocationInformationTWIF_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SelectedPLMNIdentity, create_dissector_handle(dissect_PLMNIdentity_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_IntersystemSONConfigurationTransferDL, create_dissector_handle(dissect_IntersystemSONConfigurationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_IntersystemSONConfigurationTransferUL, create_dissector_handle(dissect_IntersystemSONConfigurationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_SONInformationReport, create_dissector_handle(dissect_SONInformationReport_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_ManagementBasedMDTPLMNList, create_dissector_handle(dissect_MDTPLMNList_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_PrivacyIndicator, create_dissector_handle(dissect_PrivacyIndicator_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TraceCollectionEntityURI, create_dissector_handle(dissect_URI_address_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NPN_AccessInformation, create_dissector_handle(dissect_NPN_AccessInformation_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_TargettoSource_Failure_TransparentContainer, create_dissector_handle(dissect_TargettoSource_Failure_TransparentContainer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UERadioCapabilityID, create_dissector_handle(dissect_UERadioCapabilityID_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_UERadioCapability_EUTRA_Format, create_dissector_handle(dissect_UERadioCapability_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_EarlyStatusTransfer_TransparentContainer, create_dissector_handle(dissect_EarlyStatusTransfer_TransparentContainer_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_NotifySourceNGRANNode, create_dissector_handle(dissect_NotifySourceNGRANNode_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_Extended_RANNodeName, create_dissector_handle(dissect_Extended_RANNodeName_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_Extended_AMFName, create_dissector_handle(dissect_Extended_AMFName_PDU, proto_ngap));
dissector_add_uint("ngap.ies", id_GlobalCable_ID, create_dissector_handle(dissect_GlobalCable_ID_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_SecondaryRATUsageInformation, create_dissector_handle(dissect_SecondaryRATUsageInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_PDUSessionResourceReleaseResponseTransfer, create_dissector_handle(dissect_PDUSessionResourceReleaseResponseTransfer_OCTET_STRING_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_S_NSSAI, create_dissector_handle(dissect_S_NSSAI_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_LastEUTRAN_PLMNIdentity, create_dissector_handle(dissect_PLMNIdentity_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_MaximumIntegrityProtectedDataRate_DL, create_dissector_handle(dissect_MaximumIntegrityProtectedDataRate_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_AdditionalDLForwardingUPTNLInformation, create_dissector_handle(dissect_QosFlowPerTNLInformationList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_AdditionalDLUPTNLInformationForHOList, create_dissector_handle(dissect_AdditionalDLUPTNLInformationForHOList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_AdditionalNGU_UP_TNLInformation, create_dissector_handle(dissect_UPTransportLayerInformationPairList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_AdditionalDLQosFlowPerTNLInformation, create_dissector_handle(dissect_QosFlowPerTNLInformationList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_SecurityResult, create_dissector_handle(dissect_SecurityResult_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_OldAssociatedQosFlowList_ULendmarkerexpected, create_dissector_handle(dissect_AssociatedQosFlowList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_CNTypeRestrictionsForEquivalent, create_dissector_handle(dissect_CNTypeRestrictionsForEquivalent_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_CNTypeRestrictionsForServing, create_dissector_handle(dissect_CNTypeRestrictionsForServing_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_ULForwarding, create_dissector_handle(dissect_ULForwarding_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_ULForwardingUP_TNLInformation, create_dissector_handle(dissect_UPTransportLayerInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_TNLAssociationTransportLayerAddressNGRAN, create_dissector_handle(dissect_CPTransportLayerInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_LocationReportingAdditionalInfo, create_dissector_handle(dissect_LocationReportingAdditionalInfo_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_AdditionalULForwardingUPTNLInformation, create_dissector_handle(dissect_UPTransportLayerInformationList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_SCTP_TLAs, create_dissector_handle(dissect_SCTP_TLAs_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_DataForwardingResponseERABList, create_dissector_handle(dissect_DataForwardingResponseERABList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_GUAMIType, create_dissector_handle(dissect_GUAMIType_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_RAT_Information, create_dissector_handle(dissect_RAT_Information_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_ExtendedRATRestrictionInformation, create_dissector_handle(dissect_ExtendedRATRestrictionInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_QosMonitoringRequest, create_dissector_handle(dissect_QosMonitoringRequest_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_SgNB_UE_X2AP_ID, create_dissector_handle(dissect_SgNB_UE_X2AP_ID_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_AdditionalRedundantDL_NGU_UP_TNLInformation, create_dissector_handle(dissect_UPTransportLayerInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_AdditionalRedundantDLQosFlowPerTNLInformation, create_dissector_handle(dissect_QosFlowPerTNLInformationList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_AdditionalRedundantNGU_UP_TNLInformation, create_dissector_handle(dissect_UPTransportLayerInformationPairList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_CNPacketDelayBudgetDL, create_dissector_handle(dissect_ExtendedPacketDelayBudget_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_CNPacketDelayBudgetUL, create_dissector_handle(dissect_ExtendedPacketDelayBudget_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_ExtendedPacketDelayBudget, create_dissector_handle(dissect_ExtendedPacketDelayBudget_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_RedundantDL_NGU_TNLInformationReused, create_dissector_handle(dissect_DL_NGU_TNLInformationReused_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_RedundantDL_NGU_UP_TNLInformation, create_dissector_handle(dissect_UPTransportLayerInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_RedundantDLQosFlowPerTNLInformation, create_dissector_handle(dissect_QosFlowPerTNLInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_RedundantQosFlowIndicator, create_dissector_handle(dissect_RedundantQosFlowIndicator_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_RedundantUL_NGU_UP_TNLInformation, create_dissector_handle(dissect_UPTransportLayerInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_TSCTrafficCharacteristics, create_dissector_handle(dissect_TSCTrafficCharacteristics_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_UsedRSNInformation, create_dissector_handle(dissect_RedundantPDUSessionInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_PagingAssisDataforCEcapabUE, create_dissector_handle(dissect_PagingAssisDataforCEcapabUE_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_UERadioCapabilityForPagingOfNB_IoT, create_dissector_handle(dissect_UERadioCapabilityForPagingOfNB_IoT_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_AlternativeQoSParaSetList, create_dissector_handle(dissect_AlternativeQoSParaSetList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_CurrentQoSParaSetIndex, create_dissector_handle(dissect_AlternativeQoSParaSetIndex_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_PagingeDRXInformation, create_dissector_handle(dissect_PagingeDRXInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_UEHistoryInformationFromTheUE, create_dissector_handle(dissect_UEHistoryInformationFromTheUE_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_MDTConfiguration, create_dissector_handle(dissect_ngap_MDT_Configuration_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_TraceCollectionEntityURI, create_dissector_handle(dissect_URI_address_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_NPN_Support, create_dissector_handle(dissect_NPN_Support_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_NPN_PagingAssistanceInformation, create_dissector_handle(dissect_NPN_PagingAssistanceInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_NPN_MobilityInformation, create_dissector_handle(dissect_NPN_MobilityInformation_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_NID, create_dissector_handle(dissect_NID_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_DAPSRequestInfo, create_dissector_handle(dissect_DAPSRequestInfo_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_DAPSResponseInfoList, create_dissector_handle(dissect_DAPSResponseInfoList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_ExtendedSliceSupportList, create_dissector_handle(dissect_ExtendedSliceSupportList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_ExtendedTAISliceSupportList, create_dissector_handle(dissect_ExtendedSliceSupportList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_ConfiguredTACIndication, create_dissector_handle(dissect_ConfiguredTACIndication_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_QosMonitoringReportingFrequency, create_dissector_handle(dissect_QosMonitoringReportingFrequency_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_QosFlowParametersList, create_dissector_handle(dissect_QosFlowParametersList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_QosFlowFeedbackList, create_dissector_handle(dissect_QosFlowFeedbackList_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_BurstArrivalTimeDownlink, create_dissector_handle(dissect_BurstArrivalTime_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_ExtendedUEIdentityIndexValue, create_dissector_handle(dissect_ExtendedUEIdentityIndexValue_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_UERadioCapabilityForPaging, create_dissector_handle(dissect_UERadioCapabilityForPaging_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_PduSessionExpectedUEActivityBehaviour, create_dissector_handle(dissect_ExpectedUEActivityBehaviour_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_MicoAllPLMN, create_dissector_handle(dissect_MicoAllPLMN_PDU, proto_ngap));
dissector_add_uint("ngap.extension", id_QosFlowFailedToSetupList, create_dissector_handle(dissect_QosFlowListWithCause_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_AMFConfigurationUpdate, create_dissector_handle(dissect_AMFConfigurationUpdate_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_AMFConfigurationUpdate, create_dissector_handle(dissect_AMFConfigurationUpdateAcknowledge_PDU, proto_ngap));
dissector_add_uint("ngap.proc.uout", id_AMFConfigurationUpdate, create_dissector_handle(dissect_AMFConfigurationUpdateFailure_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_AMFCPRelocationIndication, create_dissector_handle(dissect_AMFCPRelocationIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_AMFStatusIndication, create_dissector_handle(dissect_AMFStatusIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_CellTrafficTrace, create_dissector_handle(dissect_CellTrafficTrace_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_ConnectionEstablishmentIndication, create_dissector_handle(dissect_ConnectionEstablishmentIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_DeactivateTrace, create_dissector_handle(dissect_DeactivateTrace_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_DownlinkNASTransport, create_dissector_handle(dissect_DownlinkNASTransport_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_DownlinkNonUEAssociatedNRPPaTransport, create_dissector_handle(dissect_DownlinkNonUEAssociatedNRPPaTransport_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_DownlinkRANConfigurationTransfer, create_dissector_handle(dissect_DownlinkRANConfigurationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_DownlinkRANEarlyStatusTransfer, create_dissector_handle(dissect_DownlinkRANEarlyStatusTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_DownlinkRANStatusTransfer, create_dissector_handle(dissect_DownlinkRANStatusTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_DownlinkUEAssociatedNRPPaTransport, create_dissector_handle(dissect_DownlinkUEAssociatedNRPPaTransport_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_ErrorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_HandoverCancel, create_dissector_handle(dissect_HandoverCancel_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_HandoverCancel, create_dissector_handle(dissect_HandoverCancelAcknowledge_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_HandoverNotification, create_dissector_handle(dissect_HandoverNotify_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_HandoverPreparation, create_dissector_handle(dissect_HandoverRequired_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_HandoverPreparation, create_dissector_handle(dissect_HandoverCommand_PDU, proto_ngap));
dissector_add_uint("ngap.proc.uout", id_HandoverPreparation, create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_HandoverResourceAllocation, create_dissector_handle(dissect_HandoverRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_HandoverResourceAllocation, create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_ngap));
dissector_add_uint("ngap.proc.uout", id_HandoverResourceAllocation, create_dissector_handle(dissect_HandoverFailure_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_HandoverSuccess, create_dissector_handle(dissect_HandoverSuccess_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_InitialContextSetup, create_dissector_handle(dissect_InitialContextSetupRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_InitialContextSetup, create_dissector_handle(dissect_InitialContextSetupResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.uout", id_InitialContextSetup, create_dissector_handle(dissect_InitialContextSetupFailure_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_InitialUEMessage, create_dissector_handle(dissect_InitialUEMessage_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_LocationReport, create_dissector_handle(dissect_LocationReport_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_LocationReportingControl, create_dissector_handle(dissect_LocationReportingControl_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_LocationReportingFailureIndication, create_dissector_handle(dissect_LocationReportingFailureIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_NASNonDeliveryIndication, create_dissector_handle(dissect_NASNonDeliveryIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_NGReset, create_dissector_handle(dissect_NGReset_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_NGReset, create_dissector_handle(dissect_NGResetAcknowledge_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_NGSetup, create_dissector_handle(dissect_NGSetupRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_NGSetup, create_dissector_handle(dissect_NGSetupResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.uout", id_NGSetup, create_dissector_handle(dissect_NGSetupFailure_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_OverloadStart, create_dissector_handle(dissect_OverloadStart_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_OverloadStop, create_dissector_handle(dissect_OverloadStop_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_Paging, create_dissector_handle(dissect_Paging_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_PathSwitchRequest, create_dissector_handle(dissect_PathSwitchRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_PathSwitchRequest, create_dissector_handle(dissect_PathSwitchRequestAcknowledge_PDU, proto_ngap));
dissector_add_uint("ngap.proc.uout", id_PathSwitchRequest, create_dissector_handle(dissect_PathSwitchRequestFailure_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_PDUSessionResourceModify, create_dissector_handle(dissect_PDUSessionResourceModifyRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_PDUSessionResourceModify, create_dissector_handle(dissect_PDUSessionResourceModifyResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_PDUSessionResourceModifyIndication, create_dissector_handle(dissect_PDUSessionResourceModifyIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_PDUSessionResourceModifyIndication, create_dissector_handle(dissect_PDUSessionResourceModifyConfirm_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_PDUSessionResourceNotify, create_dissector_handle(dissect_PDUSessionResourceNotify_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_PDUSessionResourceRelease, create_dissector_handle(dissect_PDUSessionResourceReleaseCommand_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_PDUSessionResourceRelease, create_dissector_handle(dissect_PDUSessionResourceReleaseResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_PDUSessionResourceSetup, create_dissector_handle(dissect_PDUSessionResourceSetupRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_PDUSessionResourceSetup, create_dissector_handle(dissect_PDUSessionResourceSetupResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_PrivateMessage, create_dissector_handle(dissect_PrivateMessage_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_PWSCancel, create_dissector_handle(dissect_PWSCancelRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_PWSCancel, create_dissector_handle(dissect_PWSCancelResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_PWSFailureIndication, create_dissector_handle(dissect_PWSFailureIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_PWSRestartIndication, create_dissector_handle(dissect_PWSRestartIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_RANConfigurationUpdate, create_dissector_handle(dissect_RANConfigurationUpdate_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_RANConfigurationUpdate, create_dissector_handle(dissect_RANConfigurationUpdateAcknowledge_PDU, proto_ngap));
dissector_add_uint("ngap.proc.uout", id_RANConfigurationUpdate, create_dissector_handle(dissect_RANConfigurationUpdateFailure_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_RANCPRelocationIndication, create_dissector_handle(dissect_RANCPRelocationIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_RerouteNASRequest, create_dissector_handle(dissect_RerouteNASRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_RetrieveUEInformation, create_dissector_handle(dissect_RetrieveUEInformation_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_RRCInactiveTransitionReport, create_dissector_handle(dissect_RRCInactiveTransitionReport_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_SecondaryRATDataUsageReport, create_dissector_handle(dissect_SecondaryRATDataUsageReport_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_TraceFailureIndication, create_dissector_handle(dissect_TraceFailureIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_TraceStart, create_dissector_handle(dissect_TraceStart_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UEContextModification, create_dissector_handle(dissect_UEContextModificationRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_UEContextModification, create_dissector_handle(dissect_UEContextModificationResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.uout", id_UEContextModification, create_dissector_handle(dissect_UEContextModificationFailure_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UEContextRelease, create_dissector_handle(dissect_UEContextReleaseCommand_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_UEContextRelease, create_dissector_handle(dissect_UEContextReleaseComplete_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UEContextReleaseRequest, create_dissector_handle(dissect_UEContextReleaseRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UEContextResume, create_dissector_handle(dissect_UEContextResumeRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_UEContextResume, create_dissector_handle(dissect_UEContextResumeResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.uout", id_UEContextResume, create_dissector_handle(dissect_UEContextResumeFailure_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UEContextSuspend, create_dissector_handle(dissect_UEContextSuspendRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_UEContextSuspend, create_dissector_handle(dissect_UEContextSuspendResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.uout", id_UEContextSuspend, create_dissector_handle(dissect_UEContextSuspendFailure_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UEInformationTransfer, create_dissector_handle(dissect_UEInformationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UERadioCapabilityCheck, create_dissector_handle(dissect_UERadioCapabilityCheckRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_UERadioCapabilityCheck, create_dissector_handle(dissect_UERadioCapabilityCheckResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UERadioCapabilityIDMapping, create_dissector_handle(dissect_UERadioCapabilityIDMappingRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_UERadioCapabilityIDMapping, create_dissector_handle(dissect_UERadioCapabilityIDMappingResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UERadioCapabilityInfoIndication, create_dissector_handle(dissect_UERadioCapabilityInfoIndication_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UETNLABindingRelease, create_dissector_handle(dissect_UETNLABindingReleaseRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UplinkNASTransport, create_dissector_handle(dissect_UplinkNASTransport_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UplinkNonUEAssociatedNRPPaTransport, create_dissector_handle(dissect_UplinkNonUEAssociatedNRPPaTransport_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UplinkRANConfigurationTransfer, create_dissector_handle(dissect_UplinkRANConfigurationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UplinkRANEarlyStatusTransfer, create_dissector_handle(dissect_UplinkRANEarlyStatusTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UplinkRANStatusTransfer, create_dissector_handle(dissect_UplinkRANStatusTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UplinkUEAssociatedNRPPaTransport, create_dissector_handle(dissect_UplinkUEAssociatedNRPPaTransport_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_WriteReplaceWarning, create_dissector_handle(dissect_WriteReplaceWarningRequest_PDU, proto_ngap));
dissector_add_uint("ngap.proc.sout", id_WriteReplaceWarning, create_dissector_handle(dissect_WriteReplaceWarningResponse_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_UplinkRIMInformationTransfer, create_dissector_handle(dissect_UplinkRIMInformationTransfer_PDU, proto_ngap));
dissector_add_uint("ngap.proc.imsg", id_DownlinkRIMInformationTransfer, create_dissector_handle(dissect_DownlinkRIMInformationTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_SETUP_REQ", create_dissector_handle(dissect_PDUSessionResourceSetupRequestTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_SETUP_RSP", create_dissector_handle(dissect_PDUSessionResourceSetupResponseTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_SETUP_FAIL", create_dissector_handle(dissect_PDUSessionResourceSetupUnsuccessfulTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_REL_CMD", create_dissector_handle(dissect_PDUSessionResourceReleaseCommandTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_REL_RSP", create_dissector_handle(dissect_PDUSessionResourceReleaseResponseTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_MOD_REQ", create_dissector_handle(dissect_PDUSessionResourceModifyRequestTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_MOD_RSP", create_dissector_handle(dissect_PDUSessionResourceModifyResponseTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_MOD_FAIL", create_dissector_handle(dissect_PDUSessionResourceModifyUnsuccessfulTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_NTY", create_dissector_handle(dissect_PDUSessionResourceNotifyTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_NTY_REL", create_dissector_handle(dissect_PDUSessionResourceNotifyReleasedTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_MOD_IND", create_dissector_handle(dissect_PDUSessionResourceModifyIndicationTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_MOD_CFM", create_dissector_handle(dissect_PDUSessionResourceModifyConfirmTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PATH_SWITCH_REQ", create_dissector_handle(dissect_PathSwitchRequestTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PATH_SWITCH_SETUP_FAIL", create_dissector_handle(dissect_PathSwitchRequestSetupFailedTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PATH_SWITCH_REQ_ACK", create_dissector_handle(dissect_PathSwitchRequestAcknowledgeTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PATH_SWITCH_REQ_FAIL", create_dissector_handle(dissect_PathSwitchRequestUnsuccessfulTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "HANDOVER_REQUIRED", create_dissector_handle(dissect_HandoverRequiredTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "HANDOVER_CMD", create_dissector_handle(dissect_HandoverCommandTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "HANDOVER_PREP_FAIL", create_dissector_handle(dissect_HandoverPreparationUnsuccessfulTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "HANDOVER_REQ_ACK", create_dissector_handle(dissect_HandoverRequestAcknowledgeTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "HANDOVER_RES_ALLOC_FAIL", create_dissector_handle(dissect_HandoverResourceAllocationUnsuccessfulTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "SECONDARY_RAT_USAGE", create_dissector_handle(dissect_SecondaryRATDataUsageReportTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "PDU_RES_MOD_IND_FAIL", create_dissector_handle(dissect_PDUSessionResourceModifyIndicationUnsuccessfulTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "SRC_TO_TAR_CONTAINER", create_dissector_handle(dissect_SourceToTarget_TransparentContainer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "TAR_TO_SRC_CONTAINER", create_dissector_handle(dissect_TargetToSource_TransparentContainer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "RAN_STATUS_TRANS_CONTAINER", create_dissector_handle(dissect_RANStatusTransfer_TransparentContainer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "SON_CONFIG_TRANSFER", create_dissector_handle(dissect_ngap_SONConfigurationTransfer_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "NRPPA_PDU", create_dissector_handle(dissect_NRPPa_PDU_PDU, proto_ngap));
dissector_add_string("ngap.n2_ie_type", "UE_RADIO_CAPABILITY", create_dissector_handle(dissect_UERadioCapability_PDU, proto_ngap));
/*--- End of included file: packet-ngap-dis-tab.c ---*/
#line 1028 "./asn1/ngap/packet-ngap-template.c"
dissector_add_string("media_type", "application/vnd.3gpp.ngap", ngap_media_type_handle);
} else {
if (SctpPort != 0) {
dissector_delete_uint("sctp.port", SctpPort, ngap_handle);
}
}
nrppa_handle = find_dissector_add_dependency("nrppa", proto_ngap);
proto_json = proto_get_id_by_filter_name("json");
SctpPort=gbl_ngapSctpPort;
if (SctpPort != 0) {
dissector_add_uint("sctp.port", SctpPort, ngap_handle);
}
stats_tree_register("ngap", "ngap", "NGAP", 0,
ngap_stats_tree_packet, ngap_stats_tree_init, NULL);
}
/*--- proto_register_ngap -------------------------------------------*/
void proto_register_ngap(void) {
/* List of fields */
static hf_register_info hf[] = {
{ &hf_ngap_transportLayerAddressIPv4,
{ "TransportLayerAddress (IPv4)", "ngap.TransportLayerAddressIPv4",
FT_IPv4, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_transportLayerAddressIPv6,
{ "TransportLayerAddress (IPv6)", "ngap.TransportLayerAddressIPv6",
FT_IPv6, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_WarningMessageContents_nb_pages,
{ "Number of Pages", "ngap.WarningMessageContents.nb_pages",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SerialNumber_gs,
{ "Geographical Scope", "ngap.SerialNumber.gs",
FT_UINT16, BASE_DEC, VALS(ngap_serialNumber_gs_vals), 0xc000,
NULL, HFILL }},
{ &hf_ngap_SerialNumber_msg_code,
{ "Message Code", "ngap.SerialNumber.msg_code",
FT_UINT16, BASE_DEC, NULL, 0x3ff0,
NULL, HFILL }},
{ &hf_ngap_SerialNumber_upd_nb,
{ "Update Number", "ngap.SerialNumber.upd_nb",
FT_UINT16, BASE_DEC, NULL, 0x000f,
NULL, HFILL }},
{ &hf_ngap_WarningType_value,
{ "Warning Type Value", "ngap.WarningType.value",
FT_UINT16, BASE_DEC, VALS(ngap_warningType_vals), 0xfe00,
NULL, HFILL }},
{ &hf_ngap_WarningType_emergency_user_alert,
{ "Emergency User Alert", "ngap.WarningType.emergency_user_alert",
FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
NULL, HFILL }},
{ &hf_ngap_WarningType_popup,
{ "Popup", "ngap.WarningType.popup",
FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
NULL, HFILL }},
{ &hf_ngap_WarningMessageContents_decoded_page,
{ "Decoded Page", "ngap.WarningMessageContents.decoded_page",
FT_STRING, STR_UNICODE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NGRANTraceID_TraceID,
{ "TraceID", "ngap.NGRANTraceID.TraceID",
FT_UINT24, BASE_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NGRANTraceID_TraceRecordingSessionReference,
{ "TraceRecordingSessionReference", "ngap.NGRANTraceID.TraceRecordingSessionReference",
FT_UINT16, BASE_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_InterfacesToTrace_NG_C,
{ "NG-C", "ngap.InterfacesToTrace.NG_C",
FT_BOOLEAN, 8, NULL, 0x80,
NULL, HFILL }},
{ &hf_ngap_InterfacesToTrace_Xn_C,
{ "Xn-C", "ngap.InterfacesToTrace.Xn_C",
FT_BOOLEAN, 8, NULL, 0x40,
NULL, HFILL }},
{ &hf_ngap_InterfacesToTrace_Uu,
{ "Uu", "ngap.InterfacesToTrace.Uu",
FT_BOOLEAN, 8, NULL, 0x20,
NULL, HFILL }},
{ &hf_ngap_InterfacesToTrace_F1_C,
{ "F1-C", "ngap.InterfacesToTrace.F1_C",
FT_BOOLEAN, 8, NULL, 0x10,
NULL, HFILL }},
{ &hf_ngap_InterfacesToTrace_E1,
{ "E1", "ngap.InterfacesToTrace.E1",
FT_BOOLEAN, 8, NULL, 0x08,
NULL, HFILL }},
{ &hf_ngap_InterfacesToTrace_reserved,
{ "Reserved", "ngap.InterfacesToTrace.reserved",
FT_UINT8, BASE_HEX, NULL, 0x07,
NULL, HFILL }},
{ &hf_ngap_RATRestrictionInformation_e_UTRA,
{ "e-UTRA", "ngap.RATRestrictionInformation.e_UTRA",
FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
NULL, HFILL }},
{ &hf_ngap_RATRestrictionInformation_nR,
{ "nR", "ngap.RATRestrictionInformation.nR",
FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
NULL, HFILL }},
{ &hf_ngap_RATRestrictionInformation_nR_unlicensed,
{ "nR-unlicensed", "ngap.RATRestrictionInformation.nR_unlicensed",
FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
NULL, HFILL }},
{ &hf_ngap_RATRestrictionInformation_reserved,
{ "reserved", "ngap.RATRestrictionInformation.reserved",
FT_UINT8, BASE_HEX, NULL, 0x1f,
NULL, HFILL }},
{ &hf_ngap_primaryRATRestriction_e_UTRA,
{ "e-UTRA", "ngap.primaryRATRestriction.e_UTRA",
FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
NULL, HFILL }},
{ &hf_ngap_primaryRATRestriction_nR,
{ "nR", "ngap.primaryRATRestriction.nR",
FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
NULL, HFILL }},
{ &hf_ngap_primaryRATRestriction_nR_unlicensed,
{ "nR-unlicensed", "ngap.primaryRATRestriction.nR_unlicensed",
FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
NULL, HFILL }},
{ &hf_ngap_primaryRATRestriction_reserved,
{ "reserved", "ngap.primaryRATRestriction.reserved",
FT_UINT8, BASE_HEX, NULL, 0x1f,
NULL, HFILL }},
{ &hf_ngap_secondaryRATRestriction_e_UTRA,
{ "e-UTRA", "ngap.secondaryRATRestriction.e_UTRA",
FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x80,
NULL, HFILL }},
{ &hf_ngap_secondaryRATRestriction_nR,
{ "nR", "ngap.secondaryRATRestriction.nR",
FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x40,
NULL, HFILL }},
{ &hf_ngap_secondaryRATRestriction_e_UTRA_unlicensed,
{ "e-UTRA-unlicensed", "ngap.secondaryRATRestriction.e_UTRA_unlicensed",
FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x20,
NULL, HFILL }},
{ &hf_ngap_secondaryRATRestriction_nR_unlicensed,
{ "nR-unlicensed", "ngap.secondaryRATRestriction.nR_unlicensed",
FT_BOOLEAN, 8, TFS(&tfs_restricted_not_restricted), 0x10,
NULL, HFILL }},
{ &hf_ngap_secondaryRATRestriction_reserved,
{ "reserved", "ngap.secondaryRATRestriction.reserved",
FT_UINT8, BASE_HEX, NULL, 0x0f,
NULL, HFILL }},
{ &hf_ngap_NrencryptionAlgorithms_nea1,
{ "128-NEA1", "ngap.NrencryptionAlgorithms.nea1",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
NULL, HFILL }},
{ &hf_ngap_NrencryptionAlgorithms_nea2,
{ "128-NEA2", "ngap.NrencryptionAlgorithms.nea2",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
NULL, HFILL }},
{ &hf_ngap_NrencryptionAlgorithms_nea3,
{ "128-NEA3", "ngap.NrencryptionAlgorithms.nea3",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
NULL, HFILL }},
{ &hf_ngap_NrencryptionAlgorithms_reserved,
{ "Reserved", "ngap.NrencryptionAlgorithms.reserved",
FT_UINT16, BASE_HEX, NULL, 0x1fff,
NULL, HFILL }},
{ &hf_ngap_NrintegrityProtectionAlgorithms_nia1,
{ "128-NIA1", "ngap.NrintegrityProtectionAlgorithms.nia1",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
NULL, HFILL }},
{ &hf_ngap_NrintegrityProtectionAlgorithms_nia2,
{ "128-NIA2", "ngap.NrintegrityProtectionAlgorithms.nia2",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
NULL, HFILL }},
{ &hf_ngap_NrintegrityProtectionAlgorithms_nia3,
{ "128-NIA3", "ngap.NrintegrityProtectionAlgorithms.nia3",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
NULL, HFILL }},
{ &hf_ngap_NrintegrityProtectionAlgorithms_reserved,
{ "Reserved", "ngap.NrintegrityProtectionAlgorithms.reserved",
FT_UINT16, BASE_HEX, NULL, 0x1fff,
NULL, HFILL }},
{ &hf_ngap_EUTRAencryptionAlgorithms_eea1,
{ "128-EEA1", "ngap.EUTRAencryptionAlgorithms.eea1",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
NULL, HFILL }},
{ &hf_ngap_EUTRAencryptionAlgorithms_eea2,
{ "128-EEA2", "ngap.EUTRAencryptionAlgorithms.eea2",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
NULL, HFILL }},
{ &hf_ngap_EUTRAencryptionAlgorithms_eea3,
{ "128-EEA3", "ngap.EUTRAencryptionAlgorithms.eea3",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
NULL, HFILL }},
{ &hf_ngap_EUTRAencryptionAlgorithms_reserved,
{ "Reserved", "ngap.EUTRAencryptionAlgorithms.reserved",
FT_UINT16, BASE_HEX, NULL, 0x1fff,
NULL, HFILL }},
{ &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia1,
{ "128-EIA1", "ngap.EUTRAintegrityProtectionAlgorithms.eia1",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
NULL, HFILL }},
{ &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia2,
{ "128-EIA2", "ngap.EUTRAintegrityProtectionAlgorithms.eia2",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
NULL, HFILL }},
{ &hf_ngap_EUTRAintegrityProtectionAlgorithms_eia3,
{ "128-EIA3", "ngap.EUTRAintegrityProtectionAlgorithms.eia3",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
NULL, HFILL }},
{ &hf_ngap_EUTRAintegrityProtectionAlgorithms_reserved,
{ "Reserved", "ngap.EUTRAintegrityProtectionAlgorithms.reserved",
FT_UINT16, BASE_HEX, NULL, 0x1fff,
NULL, HFILL }},
{ &hf_ngap_MeasurementsToActivate_M1,
{ "M1", "ngap.MeasurementsToActivate.M1",
FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x80,
NULL, HFILL }},
{ &hf_ngap_MeasurementsToActivate_M2,
{ "M2", "ngap.MeasurementsToActivate.M2",
FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x40,
NULL, HFILL }},
{ &hf_ngap_MeasurementsToActivate_M4,
{ "M4", "ngap.MeasurementsToActivate.M4",
FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x20,
NULL, HFILL }},
{ &hf_ngap_MeasurementsToActivate_M5,
{ "M5", "ngap.MeasurementsToActivate.M5",
FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x10,
NULL, HFILL }},
{ &hf_ngap_MeasurementsToActivate_M6,
{ "M6", "ngap.MeasurementsToActivate.M6",
FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x08,
NULL, HFILL }},
{ &hf_ngap_MeasurementsToActivate_M7,
{ "M7", "ngap.MeasurementsToActivate.M7",
FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x04,
NULL, HFILL }},
{ &hf_ngap_MeasurementsToActivate_M1_from_event,
{ "M1 from event", "ngap.MeasurementsToActivate.M1_from_event",
FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x02,
NULL, HFILL }},
{ &hf_ngap_MeasurementsToActivate_reserved,
{ "Reserved", "ngap.MeasurementsToActivate.reserved",
FT_BOOLEAN, 8, NULL, 0x01,
NULL, HFILL }},
{ &hf_ngap_MDT_Location_Information_GNSS,
{ "GNSS", "ngap.MDT_Location_Information.GNSS",
FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x80,
NULL, HFILL }},
{ &hf_ngap_MDT_Location_Information_reserved,
{ "Reserved", "ngap.MDT_Location_Information.reserved",
FT_UINT8, BASE_HEX, NULL, 0x7f,
NULL, HFILL }},
{ &hf_ngap_GlobalCable_ID_str,
{ "GlobalCable-ID", "ngap.GlobalCable_ID.str",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UpdateFeedback_CN_PDB_DL,
{ "CN PDB DL", "ngap.UpdateFeedback.CN_PDB_DL",
FT_BOOLEAN, 8, TFS(&ngap_not_updated_updated), 0x80,
NULL, HFILL }},
{ &hf_ngap_UpdateFeedback_CN_PDB_UL,
{ "CN PDB UL", "ngap.UpdateFeedback.CN_PDB_UL",
FT_BOOLEAN, 8, TFS(&ngap_not_updated_updated), 0x40,
NULL, HFILL }},
{ &hf_ngap_UpdateFeedback_reserved,
{ "Reserved", "ngap.UpdateFeedback.reserved",
FT_UINT8, BASE_HEX, NULL, 0x3f,
NULL, HFILL }},
/*--- Included file: packet-ngap-hfarr.c ---*/
#line 1 "./asn1/ngap/packet-ngap-hfarr.c"
{ &hf_ngap_AdditionalDLUPTNLInformationForHOList_PDU,
{ "AdditionalDLUPTNLInformationForHOList", "ngap.AdditionalDLUPTNLInformationForHOList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AllowedNSSAI_PDU,
{ "AllowedNSSAI", "ngap.AllowedNSSAI",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AlternativeQoSParaSetIndex_PDU,
{ "AlternativeQoSParaSetIndex", "ngap.AlternativeQoSParaSetIndex",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AlternativeQoSParaSetList_PDU,
{ "AlternativeQoSParaSetList", "ngap.AlternativeQoSParaSetList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMFName_PDU,
{ "AMFName", "ngap.AMFName",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMFSetID_PDU,
{ "AMFSetID", "ngap.AMFSetID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMF_TNLAssociationSetupList_PDU,
{ "AMF-TNLAssociationSetupList", "ngap.AMF_TNLAssociationSetupList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMF_TNLAssociationToAddList_PDU,
{ "AMF-TNLAssociationToAddList", "ngap.AMF_TNLAssociationToAddList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMF_TNLAssociationToRemoveList_PDU,
{ "AMF-TNLAssociationToRemoveList", "ngap.AMF_TNLAssociationToRemoveList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMF_TNLAssociationToUpdateList_PDU,
{ "AMF-TNLAssociationToUpdateList", "ngap.AMF_TNLAssociationToUpdateList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMF_UE_NGAP_ID_PDU,
{ "AMF-UE-NGAP-ID", "ngap.AMF_UE_NGAP_ID",
FT_UINT64, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AssistanceDataForPaging_PDU,
{ "AssistanceDataForPaging", "ngap.AssistanceDataForPaging_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AssociatedQosFlowList_PDU,
{ "AssociatedQosFlowList", "ngap.AssociatedQosFlowList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AuthenticatedIndication_PDU,
{ "AuthenticatedIndication", "ngap.AuthenticatedIndication",
FT_UINT32, BASE_DEC, VALS(ngap_AuthenticatedIndication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_BroadcastCancelledAreaList_PDU,
{ "BroadcastCancelledAreaList", "ngap.BroadcastCancelledAreaList",
FT_UINT32, BASE_DEC, VALS(ngap_BroadcastCancelledAreaList_vals), 0,
NULL, HFILL }},
{ &hf_ngap_BroadcastCompletedAreaList_PDU,
{ "BroadcastCompletedAreaList", "ngap.BroadcastCompletedAreaList",
FT_UINT32, BASE_DEC, VALS(ngap_BroadcastCompletedAreaList_vals), 0,
NULL, HFILL }},
{ &hf_ngap_BurstArrivalTime_PDU,
{ "BurstArrivalTime", "ngap.BurstArrivalTime",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CancelAllWarningMessages_PDU,
{ "CancelAllWarningMessages", "ngap.CancelAllWarningMessages",
FT_UINT32, BASE_DEC, VALS(ngap_CancelAllWarningMessages_vals), 0,
NULL, HFILL }},
{ &hf_ngap_Cause_PDU,
{ "Cause", "ngap.Cause",
FT_UINT32, BASE_DEC, VALS(ngap_Cause_vals), 0,
NULL, HFILL }},
{ &hf_ngap_CellIDListForRestart_PDU,
{ "CellIDListForRestart", "ngap.CellIDListForRestart",
FT_UINT32, BASE_DEC, VALS(ngap_CellIDListForRestart_vals), 0,
NULL, HFILL }},
{ &hf_ngap_CEmodeBSupport_Indicator_PDU,
{ "CEmodeBSupport-Indicator", "ngap.CEmodeBSupport_Indicator",
FT_UINT32, BASE_DEC, VALS(ngap_CEmodeBSupport_Indicator_vals), 0,
NULL, HFILL }},
{ &hf_ngap_CEmodeBrestricted_PDU,
{ "CEmodeBrestricted", "ngap.CEmodeBrestricted",
FT_UINT32, BASE_DEC, VALS(ngap_CEmodeBrestricted_vals), 0,
NULL, HFILL }},
{ &hf_ngap_CNAssistedRANTuning_PDU,
{ "CNAssistedRANTuning", "ngap.CNAssistedRANTuning_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CNTypeRestrictionsForEquivalent_PDU,
{ "CNTypeRestrictionsForEquivalent", "ngap.CNTypeRestrictionsForEquivalent",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CNTypeRestrictionsForServing_PDU,
{ "CNTypeRestrictionsForServing", "ngap.CNTypeRestrictionsForServing",
FT_UINT32, BASE_DEC, VALS(ngap_CNTypeRestrictionsForServing_vals), 0,
NULL, HFILL }},
{ &hf_ngap_CommonNetworkInstance_PDU,
{ "CommonNetworkInstance", "ngap.CommonNetworkInstance",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ConcurrentWarningMessageInd_PDU,
{ "ConcurrentWarningMessageInd", "ngap.ConcurrentWarningMessageInd",
FT_UINT32, BASE_DEC, VALS(ngap_ConcurrentWarningMessageInd_vals), 0,
NULL, HFILL }},
{ &hf_ngap_ConfiguredTACIndication_PDU,
{ "ConfiguredTACIndication", "ngap.ConfiguredTACIndication",
FT_UINT32, BASE_DEC, VALS(ngap_ConfiguredTACIndication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_CoreNetworkAssistanceInformationForInactive_PDU,
{ "CoreNetworkAssistanceInformationForInactive", "ngap.CoreNetworkAssistanceInformationForInactive_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CPTransportLayerInformation_PDU,
{ "CPTransportLayerInformation", "ngap.CPTransportLayerInformation",
FT_UINT32, BASE_DEC, VALS(ngap_CPTransportLayerInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_CriticalityDiagnostics_PDU,
{ "CriticalityDiagnostics", "ngap.CriticalityDiagnostics_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DataCodingScheme_PDU,
{ "DataCodingScheme", "ngap.DataCodingScheme",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DataForwardingNotPossible_PDU,
{ "DataForwardingNotPossible", "ngap.DataForwardingNotPossible",
FT_UINT32, BASE_DEC, VALS(ngap_DataForwardingNotPossible_vals), 0,
NULL, HFILL }},
{ &hf_ngap_DAPSRequestInfo_PDU,
{ "DAPSRequestInfo", "ngap.DAPSRequestInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DAPSResponseInfoList_PDU,
{ "DAPSResponseInfoList", "ngap.DAPSResponseInfoList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DataForwardingResponseERABList_PDU,
{ "DataForwardingResponseERABList", "ngap.DataForwardingResponseERABList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DL_CP_SecurityInformation_PDU,
{ "DL-CP-SecurityInformation", "ngap.DL_CP_SecurityInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DL_NGU_TNLInformationReused_PDU,
{ "DL-NGU-TNLInformationReused", "ngap.DL_NGU_TNLInformationReused",
FT_UINT32, BASE_DEC, VALS(ngap_DL_NGU_TNLInformationReused_vals), 0,
NULL, HFILL }},
{ &hf_ngap_DirectForwardingPathAvailability_PDU,
{ "DirectForwardingPathAvailability", "ngap.DirectForwardingPathAvailability",
FT_UINT32, BASE_DEC, VALS(ngap_DirectForwardingPathAvailability_vals), 0,
NULL, HFILL }},
{ &hf_ngap_EarlyStatusTransfer_TransparentContainer_PDU,
{ "EarlyStatusTransfer-TransparentContainer", "ngap.EarlyStatusTransfer_TransparentContainer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EDT_Session_PDU,
{ "EDT-Session", "ngap.EDT_Session",
FT_UINT32, BASE_DEC, VALS(ngap_EDT_Session_vals), 0,
NULL, HFILL }},
{ &hf_ngap_EmergencyAreaIDListForRestart_PDU,
{ "EmergencyAreaIDListForRestart", "ngap.EmergencyAreaIDListForRestart",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EmergencyFallbackIndicator_PDU,
{ "EmergencyFallbackIndicator", "ngap.EmergencyFallbackIndicator_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_Enhanced_CoverageRestriction_PDU,
{ "Enhanced-CoverageRestriction", "ngap.Enhanced_CoverageRestriction",
FT_UINT32, BASE_DEC, VALS(ngap_Enhanced_CoverageRestriction_vals), 0,
NULL, HFILL }},
{ &hf_ngap_Extended_ConnectedTime_PDU,
{ "Extended-ConnectedTime", "ngap.Extended_ConnectedTime",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
NULL, HFILL }},
{ &hf_ngap_EN_DCSONConfigurationTransfer_PDU,
{ "EN-DCSONConfigurationTransfer", "ngap.EN_DCSONConfigurationTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EndpointIPAddressAndPort_PDU,
{ "EndpointIPAddressAndPort", "ngap.EndpointIPAddressAndPort_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EndIndication_PDU,
{ "EndIndication", "ngap.EndIndication",
FT_UINT32, BASE_DEC, VALS(ngap_EndIndication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_EUTRA_CGI_PDU,
{ "EUTRA-CGI", "ngap.EUTRA_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ExpectedUEActivityBehaviour_PDU,
{ "ExpectedUEActivityBehaviour", "ngap.ExpectedUEActivityBehaviour_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_Extended_AMFName_PDU,
{ "Extended-AMFName", "ngap.Extended_AMFName_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ExtendedPacketDelayBudget_PDU,
{ "ExtendedPacketDelayBudget", "ngap.ExtendedPacketDelayBudget",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ngap_ExtendedPacketDelayBudget_fmt), 0,
NULL, HFILL }},
{ &hf_ngap_Extended_RANNodeName_PDU,
{ "Extended-RANNodeName", "ngap.Extended_RANNodeName_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ExtendedRATRestrictionInformation_PDU,
{ "ExtendedRATRestrictionInformation", "ngap.ExtendedRATRestrictionInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ExtendedSliceSupportList_PDU,
{ "ExtendedSliceSupportList", "ngap.ExtendedSliceSupportList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ExtendedUEIdentityIndexValue_PDU,
{ "ExtendedUEIdentityIndexValue", "ngap.ExtendedUEIdentityIndexValue",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_FiveG_S_TMSI_PDU,
{ "FiveG-S-TMSI", "ngap.FiveG_S_TMSI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_GlobalCable_ID_PDU,
{ "GlobalCable-ID", "ngap.GlobalCable_ID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_GlobalRANNodeID_PDU,
{ "GlobalRANNodeID", "ngap.GlobalRANNodeID",
FT_UINT32, BASE_DEC, VALS(ngap_GlobalRANNodeID_vals), 0,
NULL, HFILL }},
{ &hf_ngap_GlobalTNGF_ID_PDU,
{ "GlobalTNGF-ID", "ngap.GlobalTNGF_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_GlobalTWIF_ID_PDU,
{ "GlobalTWIF-ID", "ngap.GlobalTWIF_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_GlobalW_AGF_ID_PDU,
{ "GlobalW-AGF-ID", "ngap.GlobalW_AGF_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_GUAMI_PDU,
{ "GUAMI", "ngap.GUAMI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_GUAMIType_PDU,
{ "GUAMIType", "ngap.GUAMIType",
FT_UINT32, BASE_DEC, VALS(ngap_GUAMIType_vals), 0,
NULL, HFILL }},
{ &hf_ngap_HandoverCommandTransfer_PDU,
{ "HandoverCommandTransfer", "ngap.HandoverCommandTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverFlag_PDU,
{ "HandoverFlag", "ngap.HandoverFlag",
FT_UINT32, BASE_DEC, VALS(ngap_HandoverFlag_vals), 0,
NULL, HFILL }},
{ &hf_ngap_HandoverPreparationUnsuccessfulTransfer_PDU,
{ "HandoverPreparationUnsuccessfulTransfer", "ngap.HandoverPreparationUnsuccessfulTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverRequestAcknowledgeTransfer_PDU,
{ "HandoverRequestAcknowledgeTransfer", "ngap.HandoverRequestAcknowledgeTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverRequiredTransfer_PDU,
{ "HandoverRequiredTransfer", "ngap.HandoverRequiredTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverResourceAllocationUnsuccessfulTransfer_PDU,
{ "HandoverResourceAllocationUnsuccessfulTransfer", "ngap.HandoverResourceAllocationUnsuccessfulTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverType_PDU,
{ "HandoverType", "ngap.HandoverType",
FT_UINT32, BASE_DEC, VALS(ngap_HandoverType_vals), 0,
NULL, HFILL }},
{ &hf_ngap_IAB_Authorized_PDU,
{ "IAB-Authorized", "ngap.IAB_Authorized",
FT_UINT32, BASE_DEC, VALS(ngap_IAB_Authorized_vals), 0,
NULL, HFILL }},
{ &hf_ngap_IAB_Supported_PDU,
{ "IAB-Supported", "ngap.IAB_Supported",
FT_UINT32, BASE_DEC, VALS(ngap_IAB_Supported_vals), 0,
NULL, HFILL }},
{ &hf_ngap_IABNodeIndication_PDU,
{ "IABNodeIndication", "ngap.IABNodeIndication",
FT_UINT32, BASE_DEC, VALS(ngap_IABNodeIndication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_IMSVoiceSupportIndicator_PDU,
{ "IMSVoiceSupportIndicator", "ngap.IMSVoiceSupportIndicator",
FT_UINT32, BASE_DEC, VALS(ngap_IMSVoiceSupportIndicator_vals), 0,
NULL, HFILL }},
{ &hf_ngap_IndexToRFSP_PDU,
{ "IndexToRFSP", "ngap.IndexToRFSP",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_InfoOnRecommendedCellsAndRANNodesForPaging_PDU,
{ "InfoOnRecommendedCellsAndRANNodesForPaging", "ngap.InfoOnRecommendedCellsAndRANNodesForPaging_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_IntersystemSONConfigurationTransfer_PDU,
{ "IntersystemSONConfigurationTransfer", "ngap.IntersystemSONConfigurationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ngap_LastVisitedNGRANCellInformation_PDU,
{ "LastVisitedNGRANCellInformation", "ngap.LastVisitedNGRANCellInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_LocationReportingAdditionalInfo_PDU,
{ "LocationReportingAdditionalInfo", "ngap.LocationReportingAdditionalInfo",
FT_UINT32, BASE_DEC, VALS(ngap_LocationReportingAdditionalInfo_vals), 0,
NULL, HFILL }},
{ &hf_ngap_LocationReportingRequestType_PDU,
{ "LocationReportingRequestType", "ngap.LocationReportingRequestType_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_LTEM_Indication_PDU,
{ "LTEM-Indication", "ngap.LTEM_Indication",
FT_UINT32, BASE_DEC, VALS(ngap_LTEM_Indication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_LTEV2XServicesAuthorized_PDU,
{ "LTEV2XServicesAuthorized", "ngap.LTEV2XServicesAuthorized_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_LTEUESidelinkAggregateMaximumBitrate_PDU,
{ "LTEUESidelinkAggregateMaximumBitrate", "ngap.LTEUESidelinkAggregateMaximumBitrate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_MaskedIMEISV_PDU,
{ "MaskedIMEISV", "ngap.MaskedIMEISV",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_MessageIdentifier_PDU,
{ "MessageIdentifier", "ngap.MessageIdentifier",
FT_UINT16, BASE_DEC|BASE_EXT_STRING, &lte_rrc_messageIdentifier_vals_ext, 0,
NULL, HFILL }},
{ &hf_ngap_MaximumIntegrityProtectedDataRate_PDU,
{ "MaximumIntegrityProtectedDataRate", "ngap.MaximumIntegrityProtectedDataRate",
FT_UINT32, BASE_DEC, VALS(ngap_MaximumIntegrityProtectedDataRate_vals), 0,
NULL, HFILL }},
{ &hf_ngap_MicoAllPLMN_PDU,
{ "MicoAllPLMN", "ngap.MicoAllPLMN",
FT_UINT32, BASE_DEC, VALS(ngap_MicoAllPLMN_vals), 0,
NULL, HFILL }},
{ &hf_ngap_ngap_MobilityRestrictionList_PDU,
{ "MobilityRestrictionList", "ngap.MobilityRestrictionList_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_MDTPLMNList_PDU,
{ "MDTPLMNList", "ngap.MDTPLMNList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ngap_MDT_Configuration_PDU,
{ "MDT-Configuration", "ngap.MDT_Configuration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NAS_PDU_PDU,
{ "NAS-PDU", "ngap.NAS_PDU",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NASSecurityParametersFromNGRAN_PDU,
{ "NASSecurityParametersFromNGRAN", "ngap.NASSecurityParametersFromNGRAN",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NB_IoT_DefaultPagingDRX_PDU,
{ "NB-IoT-DefaultPagingDRX", "ngap.NB_IoT_DefaultPagingDRX",
FT_UINT32, BASE_DEC, VALS(ngap_NB_IoT_DefaultPagingDRX_vals), 0,
NULL, HFILL }},
{ &hf_ngap_NB_IoT_PagingDRX_PDU,
{ "NB-IoT-PagingDRX", "ngap.NB_IoT_PagingDRX",
FT_UINT32, BASE_DEC, VALS(ngap_NB_IoT_PagingDRX_vals), 0,
NULL, HFILL }},
{ &hf_ngap_NB_IoT_Paging_eDRXInfo_PDU,
{ "NB-IoT-Paging-eDRXInfo", "ngap.NB_IoT_Paging_eDRXInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NB_IoT_UEPriority_PDU,
{ "NB-IoT-UEPriority", "ngap.NB_IoT_UEPriority",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NetworkInstance_PDU,
{ "NetworkInstance", "ngap.NetworkInstance",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NewSecurityContextInd_PDU,
{ "NewSecurityContextInd", "ngap.NewSecurityContextInd",
FT_UINT32, BASE_DEC, VALS(ngap_NewSecurityContextInd_vals), 0,
NULL, HFILL }},
{ &hf_ngap_NotifySourceNGRANNode_PDU,
{ "NotifySourceNGRANNode", "ngap.NotifySourceNGRANNode",
FT_UINT32, BASE_DEC, VALS(ngap_NotifySourceNGRANNode_vals), 0,
NULL, HFILL }},
{ &hf_ngap_ngap_NGRAN_CGI_PDU,
{ "NGRAN-CGI", "ngap.NGRAN_CGI",
FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0,
NULL, HFILL }},
{ &hf_ngap_NGRAN_TNLAssociationToRemoveList_PDU,
{ "NGRAN-TNLAssociationToRemoveList", "ngap.NGRAN_TNLAssociationToRemoveList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NGRANTraceID_PDU,
{ "NGRANTraceID", "ngap.NGRANTraceID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NID_PDU,
{ "NID", "ngap.NID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NPN_AccessInformation_PDU,
{ "NPN-AccessInformation", "ngap.NPN_AccessInformation",
FT_UINT32, BASE_DEC, VALS(ngap_NPN_AccessInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_NPN_MobilityInformation_PDU,
{ "NPN-MobilityInformation", "ngap.NPN_MobilityInformation",
FT_UINT32, BASE_DEC, VALS(ngap_NPN_MobilityInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_NPN_PagingAssistanceInformation_PDU,
{ "NPN-PagingAssistanceInformation", "ngap.NPN_PagingAssistanceInformation",
FT_UINT32, BASE_DEC, VALS(ngap_NPN_PagingAssistanceInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_NPN_Support_PDU,
{ "NPN-Support", "ngap.NPN_Support",
FT_UINT32, BASE_DEC, VALS(ngap_NPN_Support_vals), 0,
NULL, HFILL }},
{ &hf_ngap_NR_CGI_PDU,
{ "NR-CGI", "ngap.NR_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NRPPa_PDU_PDU,
{ "NRPPa-PDU", "ngap.NRPPa_PDU",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NumberOfBroadcastsRequested_PDU,
{ "NumberOfBroadcastsRequested", "ngap.NumberOfBroadcastsRequested",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NRV2XServicesAuthorized_PDU,
{ "NRV2XServicesAuthorized", "ngap.NRV2XServicesAuthorized_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NRUESidelinkAggregateMaximumBitrate_PDU,
{ "NRUESidelinkAggregateMaximumBitrate", "ngap.NRUESidelinkAggregateMaximumBitrate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_OverloadResponse_PDU,
{ "OverloadResponse", "ngap.OverloadResponse",
FT_UINT32, BASE_DEC, VALS(ngap_OverloadResponse_vals), 0,
NULL, HFILL }},
{ &hf_ngap_OverloadStartNSSAIList_PDU,
{ "OverloadStartNSSAIList", "ngap.OverloadStartNSSAIList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PagingAssisDataforCEcapabUE_PDU,
{ "PagingAssisDataforCEcapabUE", "ngap.PagingAssisDataforCEcapabUE_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PagingDRX_PDU,
{ "PagingDRX", "ngap.PagingDRX",
FT_UINT32, BASE_DEC, VALS(ngap_PagingDRX_vals), 0,
NULL, HFILL }},
{ &hf_ngap_PagingOrigin_PDU,
{ "PagingOrigin", "ngap.PagingOrigin",
FT_UINT32, BASE_DEC, VALS(ngap_PagingOrigin_vals), 0,
NULL, HFILL }},
{ &hf_ngap_PagingPriority_PDU,
{ "PagingPriority", "ngap.PagingPriority",
FT_UINT32, BASE_DEC, VALS(ngap_PagingPriority_vals), 0,
NULL, HFILL }},
{ &hf_ngap_PagingeDRXInformation_PDU,
{ "PagingeDRXInformation", "ngap.PagingeDRXInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PathSwitchRequestAcknowledgeTransfer_PDU,
{ "PathSwitchRequestAcknowledgeTransfer", "ngap.PathSwitchRequestAcknowledgeTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PathSwitchRequestSetupFailedTransfer_PDU,
{ "PathSwitchRequestSetupFailedTransfer", "ngap.PathSwitchRequestSetupFailedTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PathSwitchRequestTransfer_PDU,
{ "PathSwitchRequestTransfer", "ngap.PathSwitchRequestTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PathSwitchRequestUnsuccessfulTransfer_PDU,
{ "PathSwitchRequestUnsuccessfulTransfer", "ngap.PathSwitchRequestUnsuccessfulTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PC5QoSParameters_PDU,
{ "PC5QoSParameters", "ngap.PC5QoSParameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PrivacyIndicator_PDU,
{ "PrivacyIndicator", "ngap.PrivacyIndicator",
FT_UINT32, BASE_DEC, VALS(ngap_PrivacyIndicator_vals), 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionAggregateMaximumBitRate_PDU,
{ "PDUSessionAggregateMaximumBitRate", "ngap.PDUSessionAggregateMaximumBitRate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceAdmittedList_PDU,
{ "PDUSessionResourceAdmittedList", "ngap.PDUSessionResourceAdmittedList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToModifyListModCfm_PDU,
{ "PDUSessionResourceFailedToModifyListModCfm", "ngap.PDUSessionResourceFailedToModifyListModCfm",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToModifyListModRes_PDU,
{ "PDUSessionResourceFailedToModifyListModRes", "ngap.PDUSessionResourceFailedToModifyListModRes",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToResumeListRESReq_PDU,
{ "PDUSessionResourceFailedToResumeListRESReq", "ngap.PDUSessionResourceFailedToResumeListRESReq",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToResumeListRESRes_PDU,
{ "PDUSessionResourceFailedToResumeListRESRes", "ngap.PDUSessionResourceFailedToResumeListRESRes",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToSetupListCxtFail_PDU,
{ "PDUSessionResourceFailedToSetupListCxtFail", "ngap.PDUSessionResourceFailedToSetupListCxtFail",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToSetupListCxtRes_PDU,
{ "PDUSessionResourceFailedToSetupListCxtRes", "ngap.PDUSessionResourceFailedToSetupListCxtRes",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToSetupListHOAck_PDU,
{ "PDUSessionResourceFailedToSetupListHOAck", "ngap.PDUSessionResourceFailedToSetupListHOAck",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToSetupListPSReq_PDU,
{ "PDUSessionResourceFailedToSetupListPSReq", "ngap.PDUSessionResourceFailedToSetupListPSReq",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToSetupListSURes_PDU,
{ "PDUSessionResourceFailedToSetupListSURes", "ngap.PDUSessionResourceFailedToSetupListSURes",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceHandoverList_PDU,
{ "PDUSessionResourceHandoverList", "ngap.PDUSessionResourceHandoverList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceListCxtRelCpl_PDU,
{ "PDUSessionResourceListCxtRelCpl", "ngap.PDUSessionResourceListCxtRelCpl",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleaseResponseTransfer_OCTET_STRING_PDU,
{ "PDUSessionResourceReleaseResponseTransfer-OCTET-STRING", "ngap.PDUSessionResourceReleaseResponseTransfer_OCTET_STRING",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceListCxtRelReq_PDU,
{ "PDUSessionResourceListCxtRelReq", "ngap.PDUSessionResourceListCxtRelReq",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceListHORqd_PDU,
{ "PDUSessionResourceListHORqd", "ngap.PDUSessionResourceListHORqd",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyConfirmTransfer_PDU,
{ "PDUSessionResourceModifyConfirmTransfer", "ngap.PDUSessionResourceModifyConfirmTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyIndicationUnsuccessfulTransfer_PDU,
{ "PDUSessionResourceModifyIndicationUnsuccessfulTransfer", "ngap.PDUSessionResourceModifyIndicationUnsuccessfulTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyRequestTransfer_PDU,
{ "PDUSessionResourceModifyRequestTransfer", "ngap.PDUSessionResourceModifyRequestTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyResponseTransfer_PDU,
{ "PDUSessionResourceModifyResponseTransfer", "ngap.PDUSessionResourceModifyResponseTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyIndicationTransfer_PDU,
{ "PDUSessionResourceModifyIndicationTransfer", "ngap.PDUSessionResourceModifyIndicationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyListModCfm_PDU,
{ "PDUSessionResourceModifyListModCfm", "ngap.PDUSessionResourceModifyListModCfm",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyListModInd_PDU,
{ "PDUSessionResourceModifyListModInd", "ngap.PDUSessionResourceModifyListModInd",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyListModReq_PDU,
{ "PDUSessionResourceModifyListModReq", "ngap.PDUSessionResourceModifyListModReq",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyListModRes_PDU,
{ "PDUSessionResourceModifyListModRes", "ngap.PDUSessionResourceModifyListModRes",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyUnsuccessfulTransfer_PDU,
{ "PDUSessionResourceModifyUnsuccessfulTransfer", "ngap.PDUSessionResourceModifyUnsuccessfulTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceNotifyList_PDU,
{ "PDUSessionResourceNotifyList", "ngap.PDUSessionResourceNotifyList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceNotifyReleasedTransfer_PDU,
{ "PDUSessionResourceNotifyReleasedTransfer", "ngap.PDUSessionResourceNotifyReleasedTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceNotifyTransfer_PDU,
{ "PDUSessionResourceNotifyTransfer", "ngap.PDUSessionResourceNotifyTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleaseCommandTransfer_PDU,
{ "PDUSessionResourceReleaseCommandTransfer", "ngap.PDUSessionResourceReleaseCommandTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleasedListNot_PDU,
{ "PDUSessionResourceReleasedListNot", "ngap.PDUSessionResourceReleasedListNot",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleasedListPSAck_PDU,
{ "PDUSessionResourceReleasedListPSAck", "ngap.PDUSessionResourceReleasedListPSAck",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleasedListPSFail_PDU,
{ "PDUSessionResourceReleasedListPSFail", "ngap.PDUSessionResourceReleasedListPSFail",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleasedListRelRes_PDU,
{ "PDUSessionResourceReleasedListRelRes", "ngap.PDUSessionResourceReleasedListRelRes",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleaseResponseTransfer_PDU,
{ "PDUSessionResourceReleaseResponseTransfer", "ngap.PDUSessionResourceReleaseResponseTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceResumeListRESReq_PDU,
{ "PDUSessionResourceResumeListRESReq", "ngap.PDUSessionResourceResumeListRESReq",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceResumeListRESRes_PDU,
{ "PDUSessionResourceResumeListRESRes", "ngap.PDUSessionResourceResumeListRESRes",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSecondaryRATUsageList_PDU,
{ "PDUSessionResourceSecondaryRATUsageList", "ngap.PDUSessionResourceSecondaryRATUsageList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupListCxtReq_PDU,
{ "PDUSessionResourceSetupListCxtReq", "ngap.PDUSessionResourceSetupListCxtReq",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupListCxtRes_PDU,
{ "PDUSessionResourceSetupListCxtRes", "ngap.PDUSessionResourceSetupListCxtRes",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupListHOReq_PDU,
{ "PDUSessionResourceSetupListHOReq", "ngap.PDUSessionResourceSetupListHOReq",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupListSUReq_PDU,
{ "PDUSessionResourceSetupListSUReq", "ngap.PDUSessionResourceSetupListSUReq",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupListSURes_PDU,
{ "PDUSessionResourceSetupListSURes", "ngap.PDUSessionResourceSetupListSURes",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupRequestTransfer_PDU,
{ "PDUSessionResourceSetupRequestTransfer", "ngap.PDUSessionResourceSetupRequestTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupResponseTransfer_PDU,
{ "PDUSessionResourceSetupResponseTransfer", "ngap.PDUSessionResourceSetupResponseTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupUnsuccessfulTransfer_PDU,
{ "PDUSessionResourceSetupUnsuccessfulTransfer", "ngap.PDUSessionResourceSetupUnsuccessfulTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSuspendListSUSReq_PDU,
{ "PDUSessionResourceSuspendListSUSReq", "ngap.PDUSessionResourceSuspendListSUSReq",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSwitchedList_PDU,
{ "PDUSessionResourceSwitchedList", "ngap.PDUSessionResourceSwitchedList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceToBeSwitchedDLList_PDU,
{ "PDUSessionResourceToBeSwitchedDLList", "ngap.PDUSessionResourceToBeSwitchedDLList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceToReleaseListHOCmd_PDU,
{ "PDUSessionResourceToReleaseListHOCmd", "ngap.PDUSessionResourceToReleaseListHOCmd",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceToReleaseListRelCmd_PDU,
{ "PDUSessionResourceToReleaseListRelCmd", "ngap.PDUSessionResourceToReleaseListRelCmd",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionType_PDU,
{ "PDUSessionType", "ngap.PDUSessionType",
FT_UINT32, BASE_DEC, VALS(ngap_PDUSessionType_vals), 0,
NULL, HFILL }},
{ &hf_ngap_PLMNIdentity_PDU,
{ "PLMNIdentity", "ngap.PLMNIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PLMNSupportList_PDU,
{ "PLMNSupportList", "ngap.PLMNSupportList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PWSFailedCellIDList_PDU,
{ "PWSFailedCellIDList", "ngap.PWSFailedCellIDList",
FT_UINT32, BASE_DEC, VALS(ngap_PWSFailedCellIDList_vals), 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowAddOrModifyRequestList_PDU,
{ "QosFlowAddOrModifyRequestList", "ngap.QosFlowAddOrModifyRequestList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowFeedbackList_PDU,
{ "QosFlowFeedbackList", "ngap.QosFlowFeedbackList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosMonitoringRequest_PDU,
{ "QosMonitoringRequest", "ngap.QosMonitoringRequest",
FT_UINT32, BASE_DEC, VALS(ngap_QosMonitoringRequest_vals), 0,
NULL, HFILL }},
{ &hf_ngap_QosMonitoringReportingFrequency_PDU,
{ "QosMonitoringReportingFrequency", "ngap.QosMonitoringReportingFrequency",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowListWithCause_PDU,
{ "QosFlowListWithCause", "ngap.QosFlowListWithCause",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowParametersList_PDU,
{ "QosFlowParametersList", "ngap.QosFlowParametersList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowPerTNLInformation_PDU,
{ "QosFlowPerTNLInformation", "ngap.QosFlowPerTNLInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowPerTNLInformationList_PDU,
{ "QosFlowPerTNLInformationList", "ngap.QosFlowPerTNLInformationList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowSetupRequestList_PDU,
{ "QosFlowSetupRequestList", "ngap.QosFlowSetupRequestList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RANNodeName_PDU,
{ "RANNodeName", "ngap.RANNodeName",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RANPagingPriority_PDU,
{ "RANPagingPriority", "ngap.RANPagingPriority",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RANStatusTransfer_TransparentContainer_PDU,
{ "RANStatusTransfer-TransparentContainer", "ngap.RANStatusTransfer_TransparentContainer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RAN_UE_NGAP_ID_PDU,
{ "RAN-UE-NGAP-ID", "ngap.RAN_UE_NGAP_ID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RAT_Information_PDU,
{ "RAT-Information", "ngap.RAT_Information",
FT_UINT32, BASE_DEC, VALS(ngap_RAT_Information_vals), 0,
NULL, HFILL }},
{ &hf_ngap_RedirectionVoiceFallback_PDU,
{ "RedirectionVoiceFallback", "ngap.RedirectionVoiceFallback",
FT_UINT32, BASE_DEC, VALS(ngap_RedirectionVoiceFallback_vals), 0,
NULL, HFILL }},
{ &hf_ngap_RedundantPDUSessionInformation_PDU,
{ "RedundantPDUSessionInformation", "ngap.RedundantPDUSessionInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RedundantQosFlowIndicator_PDU,
{ "RedundantQosFlowIndicator", "ngap.RedundantQosFlowIndicator",
FT_UINT32, BASE_DEC, VALS(ngap_RedundantQosFlowIndicator_vals), 0,
NULL, HFILL }},
{ &hf_ngap_RelativeAMFCapacity_PDU,
{ "RelativeAMFCapacity", "ngap.RelativeAMFCapacity",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RepetitionPeriod_PDU,
{ "RepetitionPeriod", "ngap.RepetitionPeriod",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
NULL, HFILL }},
{ &hf_ngap_ResetType_PDU,
{ "ResetType", "ngap.ResetType",
FT_UINT32, BASE_DEC, VALS(ngap_ResetType_vals), 0,
NULL, HFILL }},
{ &hf_ngap_RGLevelWirelineAccessCharacteristics_PDU,
{ "RGLevelWirelineAccessCharacteristics", "ngap.RGLevelWirelineAccessCharacteristics",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RoutingID_PDU,
{ "RoutingID", "ngap.RoutingID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RRCEstablishmentCause_PDU,
{ "RRCEstablishmentCause", "ngap.RRCEstablishmentCause",
FT_UINT32, BASE_DEC, VALS(ngap_RRCEstablishmentCause_vals), 0,
NULL, HFILL }},
{ &hf_ngap_RRCInactiveTransitionReportRequest_PDU,
{ "RRCInactiveTransitionReportRequest", "ngap.RRCInactiveTransitionReportRequest",
FT_UINT32, BASE_DEC, VALS(ngap_RRCInactiveTransitionReportRequest_vals), 0,
NULL, HFILL }},
{ &hf_ngap_RRCState_PDU,
{ "RRCState", "ngap.RRCState",
FT_UINT32, BASE_DEC, VALS(ngap_RRCState_vals), 0,
NULL, HFILL }},
{ &hf_ngap_RIMInformationTransfer_PDU,
{ "RIMInformationTransfer", "ngap.RIMInformationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SCTP_TLAs_PDU,
{ "SCTP-TLAs", "ngap.SCTP_TLAs",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SecondaryRATUsageInformation_PDU,
{ "SecondaryRATUsageInformation", "ngap.SecondaryRATUsageInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SecondaryRATDataUsageReportTransfer_PDU,
{ "SecondaryRATDataUsageReportTransfer", "ngap.SecondaryRATDataUsageReportTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SecurityContext_PDU,
{ "SecurityContext", "ngap.SecurityContext_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SecurityIndication_PDU,
{ "SecurityIndication", "ngap.SecurityIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SecurityKey_PDU,
{ "SecurityKey", "ngap.SecurityKey",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SecurityResult_PDU,
{ "SecurityResult", "ngap.SecurityResult_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SerialNumber_PDU,
{ "SerialNumber", "ngap.SerialNumber",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ServedGUAMIList_PDU,
{ "ServedGUAMIList", "ngap.ServedGUAMIList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SgNB_UE_X2AP_ID_PDU,
{ "SgNB-UE-X2AP-ID", "ngap.SgNB_UE_X2AP_ID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SliceSupportList_PDU,
{ "SliceSupportList", "ngap.SliceSupportList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_S_NSSAI_PDU,
{ "S-NSSAI", "ngap.S_NSSAI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ngap_SONConfigurationTransfer_PDU,
{ "SONConfigurationTransfer", "ngap.SONConfigurationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SONInformationReport_PDU,
{ "SONInformationReport", "ngap.SONInformationReport",
FT_UINT32, BASE_DEC, VALS(ngap_SONInformationReport_vals), 0,
NULL, HFILL }},
{ &hf_ngap_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU,
{ "SourceNGRANNode-ToTargetNGRANNode-TransparentContainer", "ngap.SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SourceToTarget_TransparentContainer_PDU,
{ "SourceToTarget-TransparentContainer", "ngap.SourceToTarget_TransparentContainer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SourceToTarget_AMFInformationReroute_PDU,
{ "SourceToTarget-AMFInformationReroute", "ngap.SourceToTarget_AMFInformationReroute_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SRVCCOperationPossible_PDU,
{ "SRVCCOperationPossible", "ngap.SRVCCOperationPossible",
FT_UINT32, BASE_DEC, VALS(ngap_SRVCCOperationPossible_vals), 0,
NULL, HFILL }},
{ &hf_ngap_SupportedTAList_PDU,
{ "SupportedTAList", "ngap.SupportedTAList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_Suspend_Request_Indication_PDU,
{ "Suspend-Request-Indication", "ngap.Suspend_Request_Indication",
FT_UINT32, BASE_DEC, VALS(ngap_Suspend_Request_Indication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_Suspend_Response_Indication_PDU,
{ "Suspend-Response-Indication", "ngap.Suspend_Response_Indication",
FT_UINT32, BASE_DEC, VALS(ngap_Suspend_Response_Indication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_TAI_PDU,
{ "TAI", "ngap.TAI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAIListForPaging_PDU,
{ "TAIListForPaging", "ngap.TAIListForPaging",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAIListForRestart_PDU,
{ "TAIListForRestart", "ngap.TAIListForRestart",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TargetID_PDU,
{ "TargetID", "ngap.TargetID",
FT_UINT32, BASE_DEC, VALS(ngap_TargetID_vals), 0,
NULL, HFILL }},
{ &hf_ngap_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU,
{ "TargetNGRANNode-ToSourceNGRANNode-TransparentContainer", "ngap.TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_PDU,
{ "TargetNGRANNode-ToSourceNGRANNode-FailureTransparentContainer", "ngap.TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TargetRNC_ID_PDU,
{ "TargetRNC-ID", "ngap.TargetRNC_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TargetToSource_TransparentContainer_PDU,
{ "TargetToSource-TransparentContainer", "ngap.TargetToSource_TransparentContainer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TargettoSource_Failure_TransparentContainer_PDU,
{ "TargettoSource-Failure-TransparentContainer", "ngap.TargettoSource_Failure_TransparentContainer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TimeToWait_PDU,
{ "TimeToWait", "ngap.TimeToWait",
FT_UINT32, BASE_DEC, VALS(ngap_TimeToWait_vals), 0,
NULL, HFILL }},
{ &hf_ngap_TNLAssociationList_PDU,
{ "TNLAssociationList", "ngap.TNLAssociationList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TraceActivation_PDU,
{ "TraceActivation", "ngap.TraceActivation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TrafficLoadReductionIndication_PDU,
{ "TrafficLoadReductionIndication", "ngap.TrafficLoadReductionIndication",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_percent, 0,
NULL, HFILL }},
{ &hf_ngap_TransportLayerAddress_PDU,
{ "TransportLayerAddress", "ngap.TransportLayerAddress",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TSCTrafficCharacteristics_PDU,
{ "TSCTrafficCharacteristics", "ngap.TSCTrafficCharacteristics_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEAggregateMaximumBitRate_PDU,
{ "UEAggregateMaximumBitRate", "ngap.UEAggregateMaximumBitRate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UE_associatedLogicalNG_connectionList_PDU,
{ "UE-associatedLogicalNG-connectionList", "ngap.UE_associatedLogicalNG_connectionList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UECapabilityInfoRequest_PDU,
{ "UECapabilityInfoRequest", "ngap.UECapabilityInfoRequest",
FT_UINT32, BASE_DEC, VALS(ngap_UECapabilityInfoRequest_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UEContextRequest_PDU,
{ "UEContextRequest", "ngap.UEContextRequest",
FT_UINT32, BASE_DEC, VALS(ngap_UEContextRequest_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UE_DifferentiationInfo_PDU,
{ "UE-DifferentiationInfo", "ngap.UE_DifferentiationInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEHistoryInformationFromTheUE_PDU,
{ "UEHistoryInformationFromTheUE", "ngap.UEHistoryInformationFromTheUE",
FT_UINT32, BASE_DEC, VALS(ngap_UEHistoryInformationFromTheUE_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UE_NGAP_IDs_PDU,
{ "UE-NGAP-IDs", "ngap.UE_NGAP_IDs",
FT_UINT32, BASE_DEC, VALS(ngap_UE_NGAP_IDs_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UEPagingIdentity_PDU,
{ "UEPagingIdentity", "ngap.UEPagingIdentity",
FT_UINT32, BASE_DEC, VALS(ngap_UEPagingIdentity_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UEPresenceInAreaOfInterestList_PDU,
{ "UEPresenceInAreaOfInterestList", "ngap.UEPresenceInAreaOfInterestList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UERadioCapability_PDU,
{ "UERadioCapability", "ngap.UERadioCapability",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UERadioCapabilityForPaging_PDU,
{ "UERadioCapabilityForPaging", "ngap.UERadioCapabilityForPaging_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UERadioCapabilityForPagingOfNB_IoT_PDU,
{ "UERadioCapabilityForPagingOfNB-IoT", "ngap.UERadioCapabilityForPagingOfNB_IoT",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UERadioCapabilityID_PDU,
{ "UERadioCapabilityID", "ngap.UERadioCapabilityID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UERetentionInformation_PDU,
{ "UERetentionInformation", "ngap.UERetentionInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UERetentionInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UESecurityCapabilities_PDU,
{ "UESecurityCapabilities", "ngap.UESecurityCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UE_UP_CIoT_Support_PDU,
{ "UE-UP-CIoT-Support", "ngap.UE_UP_CIoT_Support",
FT_UINT32, BASE_DEC, VALS(ngap_UE_UP_CIoT_Support_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UL_CP_SecurityInformation_PDU,
{ "UL-CP-SecurityInformation", "ngap.UL_CP_SecurityInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UL_NGU_UP_TNLModifyList_PDU,
{ "UL-NGU-UP-TNLModifyList", "ngap.UL_NGU_UP_TNLModifyList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UnavailableGUAMIList_PDU,
{ "UnavailableGUAMIList", "ngap.UnavailableGUAMIList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ULForwarding_PDU,
{ "ULForwarding", "ngap.ULForwarding",
FT_UINT32, BASE_DEC, VALS(ngap_ULForwarding_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UPTransportLayerInformation_PDU,
{ "UPTransportLayerInformation", "ngap.UPTransportLayerInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UPTransportLayerInformationList_PDU,
{ "UPTransportLayerInformationList", "ngap.UPTransportLayerInformationList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UPTransportLayerInformationPairList_PDU,
{ "UPTransportLayerInformationPairList", "ngap.UPTransportLayerInformationPairList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_URI_address_PDU,
{ "URI-address", "ngap.URI_address",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UserLocationInformation_PDU,
{ "UserLocationInformation", "ngap.UserLocationInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UserLocationInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UserLocationInformationTNGF_PDU,
{ "UserLocationInformationTNGF", "ngap.UserLocationInformationTNGF_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UserLocationInformationTWIF_PDU,
{ "UserLocationInformationTWIF", "ngap.UserLocationInformationTWIF_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UserLocationInformationW_AGF_PDU,
{ "UserLocationInformationW-AGF", "ngap.UserLocationInformationW_AGF",
FT_UINT32, BASE_DEC, VALS(ngap_UserLocationInformationW_AGF_vals), 0,
NULL, HFILL }},
{ &hf_ngap_WarningAreaCoordinates_PDU,
{ "WarningAreaCoordinates", "ngap.WarningAreaCoordinates",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_WarningAreaList_PDU,
{ "WarningAreaList", "ngap.WarningAreaList",
FT_UINT32, BASE_DEC, VALS(ngap_WarningAreaList_vals), 0,
NULL, HFILL }},
{ &hf_ngap_WarningMessageContents_PDU,
{ "WarningMessageContents", "ngap.WarningMessageContents",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_WarningSecurityInfo_PDU,
{ "WarningSecurityInfo", "ngap.WarningSecurityInfo",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_WarningType_PDU,
{ "WarningType", "ngap.WarningType",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_WUS_Assistance_Information_PDU,
{ "WUS-Assistance-Information", "ngap.WUS_Assistance_Information_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupRequest_PDU,
{ "PDUSessionResourceSetupRequest", "ngap.PDUSessionResourceSetupRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupResponse_PDU,
{ "PDUSessionResourceSetupResponse", "ngap.PDUSessionResourceSetupResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleaseCommand_PDU,
{ "PDUSessionResourceReleaseCommand", "ngap.PDUSessionResourceReleaseCommand_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleaseResponse_PDU,
{ "PDUSessionResourceReleaseResponse", "ngap.PDUSessionResourceReleaseResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyRequest_PDU,
{ "PDUSessionResourceModifyRequest", "ngap.PDUSessionResourceModifyRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyResponse_PDU,
{ "PDUSessionResourceModifyResponse", "ngap.PDUSessionResourceModifyResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceNotify_PDU,
{ "PDUSessionResourceNotify", "ngap.PDUSessionResourceNotify_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyIndication_PDU,
{ "PDUSessionResourceModifyIndication", "ngap.PDUSessionResourceModifyIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyConfirm_PDU,
{ "PDUSessionResourceModifyConfirm", "ngap.PDUSessionResourceModifyConfirm_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_InitialContextSetupRequest_PDU,
{ "InitialContextSetupRequest", "ngap.InitialContextSetupRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_InitialContextSetupResponse_PDU,
{ "InitialContextSetupResponse", "ngap.InitialContextSetupResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_InitialContextSetupFailure_PDU,
{ "InitialContextSetupFailure", "ngap.InitialContextSetupFailure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextReleaseRequest_PDU,
{ "UEContextReleaseRequest", "ngap.UEContextReleaseRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextReleaseCommand_PDU,
{ "UEContextReleaseCommand", "ngap.UEContextReleaseCommand_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextReleaseComplete_PDU,
{ "UEContextReleaseComplete", "ngap.UEContextReleaseComplete_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextResumeRequest_PDU,
{ "UEContextResumeRequest", "ngap.UEContextResumeRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextResumeResponse_PDU,
{ "UEContextResumeResponse", "ngap.UEContextResumeResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextResumeFailure_PDU,
{ "UEContextResumeFailure", "ngap.UEContextResumeFailure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextSuspendRequest_PDU,
{ "UEContextSuspendRequest", "ngap.UEContextSuspendRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextSuspendResponse_PDU,
{ "UEContextSuspendResponse", "ngap.UEContextSuspendResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextSuspendFailure_PDU,
{ "UEContextSuspendFailure", "ngap.UEContextSuspendFailure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextModificationRequest_PDU,
{ "UEContextModificationRequest", "ngap.UEContextModificationRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextModificationResponse_PDU,
{ "UEContextModificationResponse", "ngap.UEContextModificationResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextModificationFailure_PDU,
{ "UEContextModificationFailure", "ngap.UEContextModificationFailure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RRCInactiveTransitionReport_PDU,
{ "RRCInactiveTransitionReport", "ngap.RRCInactiveTransitionReport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RetrieveUEInformation_PDU,
{ "RetrieveUEInformation", "ngap.RetrieveUEInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEInformationTransfer_PDU,
{ "UEInformationTransfer", "ngap.UEInformationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RANCPRelocationIndication_PDU,
{ "RANCPRelocationIndication", "ngap.RANCPRelocationIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverRequired_PDU,
{ "HandoverRequired", "ngap.HandoverRequired_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverCommand_PDU,
{ "HandoverCommand", "ngap.HandoverCommand_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverPreparationFailure_PDU,
{ "HandoverPreparationFailure", "ngap.HandoverPreparationFailure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverRequest_PDU,
{ "HandoverRequest", "ngap.HandoverRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverRequestAcknowledge_PDU,
{ "HandoverRequestAcknowledge", "ngap.HandoverRequestAcknowledge_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverFailure_PDU,
{ "HandoverFailure", "ngap.HandoverFailure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverNotify_PDU,
{ "HandoverNotify", "ngap.HandoverNotify_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PathSwitchRequest_PDU,
{ "PathSwitchRequest", "ngap.PathSwitchRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PathSwitchRequestAcknowledge_PDU,
{ "PathSwitchRequestAcknowledge", "ngap.PathSwitchRequestAcknowledge_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PathSwitchRequestFailure_PDU,
{ "PathSwitchRequestFailure", "ngap.PathSwitchRequestFailure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverCancel_PDU,
{ "HandoverCancel", "ngap.HandoverCancel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverCancelAcknowledge_PDU,
{ "HandoverCancelAcknowledge", "ngap.HandoverCancelAcknowledge_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_HandoverSuccess_PDU,
{ "HandoverSuccess", "ngap.HandoverSuccess_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UplinkRANEarlyStatusTransfer_PDU,
{ "UplinkRANEarlyStatusTransfer", "ngap.UplinkRANEarlyStatusTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DownlinkRANEarlyStatusTransfer_PDU,
{ "DownlinkRANEarlyStatusTransfer", "ngap.DownlinkRANEarlyStatusTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UplinkRANStatusTransfer_PDU,
{ "UplinkRANStatusTransfer", "ngap.UplinkRANStatusTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DownlinkRANStatusTransfer_PDU,
{ "DownlinkRANStatusTransfer", "ngap.DownlinkRANStatusTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_Paging_PDU,
{ "Paging", "ngap.Paging_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_InitialUEMessage_PDU,
{ "InitialUEMessage", "ngap.InitialUEMessage_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DownlinkNASTransport_PDU,
{ "DownlinkNASTransport", "ngap.DownlinkNASTransport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UplinkNASTransport_PDU,
{ "UplinkNASTransport", "ngap.UplinkNASTransport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_W_AGFIdentityInformation_PDU,
{ "W-AGFIdentityInformation", "ngap.W_AGFIdentityInformation",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TNGFIdentityInformation_PDU,
{ "TNGFIdentityInformation", "ngap.TNGFIdentityInformation",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TWIFIdentityInformation_PDU,
{ "TWIFIdentityInformation", "ngap.TWIFIdentityInformation",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NASNonDeliveryIndication_PDU,
{ "NASNonDeliveryIndication", "ngap.NASNonDeliveryIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RerouteNASRequest_PDU,
{ "RerouteNASRequest", "ngap.RerouteNASRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NGAP_Message_PDU,
{ "NGAP-Message", "ngap.NGAP_Message",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NGSetupRequest_PDU,
{ "NGSetupRequest", "ngap.NGSetupRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NGSetupResponse_PDU,
{ "NGSetupResponse", "ngap.NGSetupResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NGSetupFailure_PDU,
{ "NGSetupFailure", "ngap.NGSetupFailure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RANConfigurationUpdate_PDU,
{ "RANConfigurationUpdate", "ngap.RANConfigurationUpdate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RANConfigurationUpdateAcknowledge_PDU,
{ "RANConfigurationUpdateAcknowledge", "ngap.RANConfigurationUpdateAcknowledge_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RANConfigurationUpdateFailure_PDU,
{ "RANConfigurationUpdateFailure", "ngap.RANConfigurationUpdateFailure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMFConfigurationUpdate_PDU,
{ "AMFConfigurationUpdate", "ngap.AMFConfigurationUpdate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMFConfigurationUpdateAcknowledge_PDU,
{ "AMFConfigurationUpdateAcknowledge", "ngap.AMFConfigurationUpdateAcknowledge_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMFConfigurationUpdateFailure_PDU,
{ "AMFConfigurationUpdateFailure", "ngap.AMFConfigurationUpdateFailure_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMFStatusIndication_PDU,
{ "AMFStatusIndication", "ngap.AMFStatusIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NGReset_PDU,
{ "NGReset", "ngap.NGReset_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NGResetAcknowledge_PDU,
{ "NGResetAcknowledge", "ngap.NGResetAcknowledge_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ErrorIndication_PDU,
{ "ErrorIndication", "ngap.ErrorIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_OverloadStart_PDU,
{ "OverloadStart", "ngap.OverloadStart_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_OverloadStop_PDU,
{ "OverloadStop", "ngap.OverloadStop_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UplinkRANConfigurationTransfer_PDU,
{ "UplinkRANConfigurationTransfer", "ngap.UplinkRANConfigurationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DownlinkRANConfigurationTransfer_PDU,
{ "DownlinkRANConfigurationTransfer", "ngap.DownlinkRANConfigurationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_WriteReplaceWarningRequest_PDU,
{ "WriteReplaceWarningRequest", "ngap.WriteReplaceWarningRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_WriteReplaceWarningResponse_PDU,
{ "WriteReplaceWarningResponse", "ngap.WriteReplaceWarningResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PWSCancelRequest_PDU,
{ "PWSCancelRequest", "ngap.PWSCancelRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PWSCancelResponse_PDU,
{ "PWSCancelResponse", "ngap.PWSCancelResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PWSRestartIndication_PDU,
{ "PWSRestartIndication", "ngap.PWSRestartIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PWSFailureIndication_PDU,
{ "PWSFailureIndication", "ngap.PWSFailureIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DownlinkUEAssociatedNRPPaTransport_PDU,
{ "DownlinkUEAssociatedNRPPaTransport", "ngap.DownlinkUEAssociatedNRPPaTransport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UplinkUEAssociatedNRPPaTransport_PDU,
{ "UplinkUEAssociatedNRPPaTransport", "ngap.UplinkUEAssociatedNRPPaTransport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DownlinkNonUEAssociatedNRPPaTransport_PDU,
{ "DownlinkNonUEAssociatedNRPPaTransport", "ngap.DownlinkNonUEAssociatedNRPPaTransport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UplinkNonUEAssociatedNRPPaTransport_PDU,
{ "UplinkNonUEAssociatedNRPPaTransport", "ngap.UplinkNonUEAssociatedNRPPaTransport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TraceStart_PDU,
{ "TraceStart", "ngap.TraceStart_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TraceFailureIndication_PDU,
{ "TraceFailureIndication", "ngap.TraceFailureIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DeactivateTrace_PDU,
{ "DeactivateTrace", "ngap.DeactivateTrace_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CellTrafficTrace_PDU,
{ "CellTrafficTrace", "ngap.CellTrafficTrace_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_LocationReportingControl_PDU,
{ "LocationReportingControl", "ngap.LocationReportingControl_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_LocationReportingFailureIndication_PDU,
{ "LocationReportingFailureIndication", "ngap.LocationReportingFailureIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_LocationReport_PDU,
{ "LocationReport", "ngap.LocationReport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UETNLABindingReleaseRequest_PDU,
{ "UETNLABindingReleaseRequest", "ngap.UETNLABindingReleaseRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UERadioCapabilityInfoIndication_PDU,
{ "UERadioCapabilityInfoIndication", "ngap.UERadioCapabilityInfoIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UERadioCapabilityCheckRequest_PDU,
{ "UERadioCapabilityCheckRequest", "ngap.UERadioCapabilityCheckRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UERadioCapabilityCheckResponse_PDU,
{ "UERadioCapabilityCheckResponse", "ngap.UERadioCapabilityCheckResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PrivateMessage_PDU,
{ "PrivateMessage", "ngap.PrivateMessage_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SecondaryRATDataUsageReport_PDU,
{ "SecondaryRATDataUsageReport", "ngap.SecondaryRATDataUsageReport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UplinkRIMInformationTransfer_PDU,
{ "UplinkRIMInformationTransfer", "ngap.UplinkRIMInformationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DownlinkRIMInformationTransfer_PDU,
{ "DownlinkRIMInformationTransfer", "ngap.DownlinkRIMInformationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ConnectionEstablishmentIndication_PDU,
{ "ConnectionEstablishmentIndication", "ngap.ConnectionEstablishmentIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UERadioCapabilityIDMappingRequest_PDU,
{ "UERadioCapabilityIDMappingRequest", "ngap.UERadioCapabilityIDMappingRequest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UERadioCapabilityIDMappingResponse_PDU,
{ "UERadioCapabilityIDMappingResponse", "ngap.UERadioCapabilityIDMappingResponse_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMFCPRelocationIndication_PDU,
{ "AMFCPRelocationIndication", "ngap.AMFCPRelocationIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NGAP_PDU_PDU,
{ "NGAP-PDU", "ngap.NGAP_PDU",
FT_UINT32, BASE_DEC, VALS(ngap_NGAP_PDU_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UEContextResumeRequestTransfer_PDU,
{ "UEContextResumeRequestTransfer", "ngap.UEContextResumeRequestTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextResumeResponseTransfer_PDU,
{ "UEContextResumeResponseTransfer", "ngap.UEContextResumeResponseTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEContextSuspendRequestTransfer_PDU,
{ "UEContextSuspendRequestTransfer", "ngap.UEContextSuspendRequestTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_local,
{ "local", "ngap.local",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_65535", HFILL }},
{ &hf_ngap_global,
{ "global", "ngap.global",
FT_OID, BASE_NONE, NULL, 0,
"OBJECT_IDENTIFIER", HFILL }},
{ &hf_ngap_ProtocolIE_Container_item,
{ "ProtocolIE-Field", "ngap.ProtocolIE_Field_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_id,
{ "id", "ngap.id",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ngap_ProtocolIE_ID_vals_ext, 0,
"ProtocolIE_ID", HFILL }},
{ &hf_ngap_criticality,
{ "criticality", "ngap.criticality",
FT_UINT32, BASE_DEC, VALS(ngap_Criticality_vals), 0,
NULL, HFILL }},
{ &hf_ngap_ie_field_value,
{ "value", "ngap.value_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_ie_field_value", HFILL }},
{ &hf_ngap_ProtocolExtensionContainer_item,
{ "ProtocolExtensionField", "ngap.ProtocolExtensionField_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ext_id,
{ "id", "ngap.id",
FT_UINT8, BASE_DEC|BASE_EXT_STRING, &ngap_ProtocolIE_ID_vals_ext, 0,
"ProtocolExtensionID", HFILL }},
{ &hf_ngap_extensionValue,
{ "extensionValue", "ngap.extensionValue_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PrivateIE_Container_item,
{ "PrivateIE-Field", "ngap.PrivateIE_Field_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_private_id,
{ "id", "ngap.id",
FT_UINT32, BASE_DEC, VALS(ngap_PrivateIE_ID_vals), 0,
"PrivateIE_ID", HFILL }},
{ &hf_ngap_private_value,
{ "value", "ngap.value_element",
FT_NONE, BASE_NONE, NULL, 0,
"T_private_value", HFILL }},
{ &hf_ngap_AdditionalDLUPTNLInformationForHOList_item,
{ "AdditionalDLUPTNLInformationForHOItem", "ngap.AdditionalDLUPTNLInformationForHOItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_additionalDL_NGU_UP_TNLInformation,
{ "additionalDL-NGU-UP-TNLInformation", "ngap.additionalDL_NGU_UP_TNLInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
"UPTransportLayerInformation", HFILL }},
{ &hf_ngap_additionalQosFlowSetupResponseList,
{ "additionalQosFlowSetupResponseList", "ngap.additionalQosFlowSetupResponseList",
FT_UINT32, BASE_DEC, NULL, 0,
"QosFlowListWithDataForwarding", HFILL }},
{ &hf_ngap_additionalDLForwardingUPTNLInformation,
{ "additionalDLForwardingUPTNLInformation", "ngap.additionalDLForwardingUPTNLInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
"UPTransportLayerInformation", HFILL }},
{ &hf_ngap_iE_Extensions,
{ "iE-Extensions", "ngap.iE_Extensions",
FT_UINT32, BASE_DEC, NULL, 0,
"ProtocolExtensionContainer", HFILL }},
{ &hf_ngap_priorityLevelARP,
{ "priorityLevelARP", "ngap.priorityLevelARP",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pre_emptionCapability,
{ "pre-emptionCapability", "ngap.pre_emptionCapability",
FT_UINT32, BASE_DEC, VALS(ngap_Pre_emptionCapability_vals), 0,
NULL, HFILL }},
{ &hf_ngap_pre_emptionVulnerability,
{ "pre-emptionVulnerability", "ngap.pre_emptionVulnerability",
FT_UINT32, BASE_DEC, VALS(ngap_Pre_emptionVulnerability_vals), 0,
NULL, HFILL }},
{ &hf_ngap_Allowed_CAG_List_per_PLMN_item,
{ "CAG-ID", "ngap.CAG_ID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AllowedNSSAI_item,
{ "AllowedNSSAI-Item", "ngap.AllowedNSSAI_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_s_NSSAI,
{ "s-NSSAI", "ngap.s_NSSAI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_Allowed_PNI_NPN_List_item,
{ "Allowed-PNI-NPN-Item", "ngap.Allowed_PNI_NPN_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pLMNIdentity,
{ "pLMNIdentity", "ngap.pLMNIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pNI_NPN_restricted,
{ "pNI-NPN-restricted", "ngap.pNI_NPN_restricted",
FT_UINT32, BASE_DEC, VALS(ngap_T_pNI_NPN_restricted_vals), 0,
NULL, HFILL }},
{ &hf_ngap_allowed_CAG_List_per_PLMN,
{ "allowed-CAG-List-per-PLMN", "ngap.allowed_CAG_List_per_PLMN",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AllowedTACs_item,
{ "TAC", "ngap.TAC",
FT_UINT24, BASE_DEC_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AlternativeQoSParaSetList_item,
{ "AlternativeQoSParaSetItem", "ngap.AlternativeQoSParaSetItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_alternativeQoSParaSetIndex,
{ "alternativeQoSParaSetIndex", "ngap.alternativeQoSParaSetIndex",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_guaranteedFlowBitRateDL,
{ "guaranteedFlowBitRateDL", "ngap.guaranteedFlowBitRateDL",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_guaranteedFlowBitRateUL,
{ "guaranteedFlowBitRateUL", "ngap.guaranteedFlowBitRateUL",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_packetDelayBudget,
{ "packetDelayBudget", "ngap.packetDelayBudget",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ngap_PacketDelayBudget_fmt), 0,
NULL, HFILL }},
{ &hf_ngap_packetErrorRate,
{ "packetErrorRate", "ngap.packetErrorRate_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_globalRANNodeID,
{ "globalRANNodeID", "ngap.globalRANNodeID",
FT_UINT32, BASE_DEC, VALS(ngap_GlobalRANNodeID_vals), 0,
NULL, HFILL }},
{ &hf_ngap_tAI,
{ "tAI", "ngap.tAI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_choice_Extensions,
{ "choice-Extensions", "ngap.choice_Extensions_element",
FT_NONE, BASE_NONE, NULL, 0,
"ProtocolIE_SingleContainer", HFILL }},
{ &hf_ngap_AMF_TNLAssociationSetupList_item,
{ "AMF-TNLAssociationSetupItem", "ngap.AMF_TNLAssociationSetupItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_aMF_TNLAssociationAddress,
{ "aMF-TNLAssociationAddress", "ngap.aMF_TNLAssociationAddress",
FT_UINT32, BASE_DEC, VALS(ngap_CPTransportLayerInformation_vals), 0,
"CPTransportLayerInformation", HFILL }},
{ &hf_ngap_AMF_TNLAssociationToAddList_item,
{ "AMF-TNLAssociationToAddItem", "ngap.AMF_TNLAssociationToAddItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tNLAssociationUsage,
{ "tNLAssociationUsage", "ngap.tNLAssociationUsage",
FT_UINT32, BASE_DEC, VALS(ngap_TNLAssociationUsage_vals), 0,
NULL, HFILL }},
{ &hf_ngap_tNLAddressWeightFactor,
{ "tNLAddressWeightFactor", "ngap.tNLAddressWeightFactor",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMF_TNLAssociationToRemoveList_item,
{ "AMF-TNLAssociationToRemoveItem", "ngap.AMF_TNLAssociationToRemoveItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AMF_TNLAssociationToUpdateList_item,
{ "AMF-TNLAssociationToUpdateItem", "ngap.AMF_TNLAssociationToUpdateItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_areaOfInterestTAIList,
{ "areaOfInterestTAIList", "ngap.areaOfInterestTAIList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_areaOfInterestCellList,
{ "areaOfInterestCellList", "ngap.areaOfInterestCellList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_areaOfInterestRANNodeList,
{ "areaOfInterestRANNodeList", "ngap.areaOfInterestRANNodeList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AreaOfInterestCellList_item,
{ "AreaOfInterestCellItem", "ngap.AreaOfInterestCellItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nGRAN_CGI,
{ "nGRAN-CGI", "ngap.nGRAN_CGI",
FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0,
NULL, HFILL }},
{ &hf_ngap_AreaOfInterestList_item,
{ "AreaOfInterestItem", "ngap.AreaOfInterestItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_areaOfInterest,
{ "areaOfInterest", "ngap.areaOfInterest_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_locationReportingReferenceID,
{ "locationReportingReferenceID", "ngap.locationReportingReferenceID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AreaOfInterestRANNodeList_item,
{ "AreaOfInterestRANNodeItem", "ngap.AreaOfInterestRANNodeItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AreaOfInterestTAIList_item,
{ "AreaOfInterestTAIItem", "ngap.AreaOfInterestTAIItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_assistanceDataForRecommendedCells,
{ "assistanceDataForRecommendedCells", "ngap.assistanceDataForRecommendedCells_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pagingAttemptInformation,
{ "pagingAttemptInformation", "ngap.pagingAttemptInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_recommendedCellsForPaging,
{ "recommendedCellsForPaging", "ngap.recommendedCellsForPaging_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_AssociatedQosFlowList_item,
{ "AssociatedQosFlowItem", "ngap.AssociatedQosFlowItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowIdentifier,
{ "qosFlowIdentifier", "ngap.qosFlowIdentifier",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowMappingIndication,
{ "qosFlowMappingIndication", "ngap.qosFlowMappingIndication",
FT_UINT32, BASE_DEC, VALS(ngap_T_qosFlowMappingIndication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_cellBased,
{ "cellBased", "ngap.cellBased_element",
FT_NONE, BASE_NONE, NULL, 0,
"CellBasedMDT_NR", HFILL }},
{ &hf_ngap_tABased,
{ "tABased", "ngap.tABased_element",
FT_NONE, BASE_NONE, NULL, 0,
"TABasedMDT", HFILL }},
{ &hf_ngap_pLMNWide,
{ "pLMNWide", "ngap.pLMNWide_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tAIBased,
{ "tAIBased", "ngap.tAIBased_element",
FT_NONE, BASE_NONE, NULL, 0,
"TAIBasedMDT", HFILL }},
{ &hf_ngap_cellBased_01,
{ "cellBased", "ngap.cellBased_element",
FT_NONE, BASE_NONE, NULL, 0,
"CellBasedMDT_EUTRA", HFILL }},
{ &hf_ngap_AreaScopeOfNeighCellsList_item,
{ "AreaScopeOfNeighCellsItem", "ngap.AreaScopeOfNeighCellsItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nrFrequencyInfo,
{ "nrFrequencyInfo", "ngap.nrFrequencyInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pciListForMDT,
{ "pciListForMDT", "ngap.pciListForMDT",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cellIDCancelledEUTRA,
{ "cellIDCancelledEUTRA", "ngap.cellIDCancelledEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tAICancelledEUTRA,
{ "tAICancelledEUTRA", "ngap.tAICancelledEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_emergencyAreaIDCancelledEUTRA,
{ "emergencyAreaIDCancelledEUTRA", "ngap.emergencyAreaIDCancelledEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cellIDCancelledNR,
{ "cellIDCancelledNR", "ngap.cellIDCancelledNR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tAICancelledNR,
{ "tAICancelledNR", "ngap.tAICancelledNR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_emergencyAreaIDCancelledNR,
{ "emergencyAreaIDCancelledNR", "ngap.emergencyAreaIDCancelledNR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cellIDBroadcastEUTRA,
{ "cellIDBroadcastEUTRA", "ngap.cellIDBroadcastEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tAIBroadcastEUTRA,
{ "tAIBroadcastEUTRA", "ngap.tAIBroadcastEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_emergencyAreaIDBroadcastEUTRA,
{ "emergencyAreaIDBroadcastEUTRA", "ngap.emergencyAreaIDBroadcastEUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cellIDBroadcastNR,
{ "cellIDBroadcastNR", "ngap.cellIDBroadcastNR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tAIBroadcastNR,
{ "tAIBroadcastNR", "ngap.tAIBroadcastNR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_emergencyAreaIDBroadcastNR,
{ "emergencyAreaIDBroadcastNR", "ngap.emergencyAreaIDBroadcastNR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_BroadcastPLMNList_item,
{ "BroadcastPLMNItem", "ngap.BroadcastPLMNItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tAISliceSupportList,
{ "tAISliceSupportList", "ngap.tAISliceSupportList",
FT_UINT32, BASE_DEC, NULL, 0,
"SliceSupportList", HFILL }},
{ &hf_ngap_bluetoothMeasConfig,
{ "bluetoothMeasConfig", "ngap.bluetoothMeasConfig",
FT_UINT32, BASE_DEC, VALS(ngap_BluetoothMeasConfig_vals), 0,
NULL, HFILL }},
{ &hf_ngap_bluetoothMeasConfigNameList,
{ "bluetoothMeasConfigNameList", "ngap.bluetoothMeasConfigNameList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_bt_rssi,
{ "bt-rssi", "ngap.bt_rssi",
FT_UINT32, BASE_DEC, VALS(ngap_T_bt_rssi_vals), 0,
"T_bt_rssi", HFILL }},
{ &hf_ngap_BluetoothMeasConfigNameList_item,
{ "BluetoothMeasConfigNameItem", "ngap.BluetoothMeasConfigNameItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_bluetoothName,
{ "bluetoothName", "ngap.bluetoothName",
FT_STRING, STR_UNICODE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CancelledCellsInEAI_EUTRA_item,
{ "CancelledCellsInEAI-EUTRA-Item", "ngap.CancelledCellsInEAI_EUTRA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_eUTRA_CGI,
{ "eUTRA-CGI", "ngap.eUTRA_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_numberOfBroadcasts,
{ "numberOfBroadcasts", "ngap.numberOfBroadcasts",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CancelledCellsInEAI_NR_item,
{ "CancelledCellsInEAI-NR-Item", "ngap.CancelledCellsInEAI_NR_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nR_CGI,
{ "nR-CGI", "ngap.nR_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CancelledCellsInTAI_EUTRA_item,
{ "CancelledCellsInTAI-EUTRA-Item", "ngap.CancelledCellsInTAI_EUTRA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CancelledCellsInTAI_NR_item,
{ "CancelledCellsInTAI-NR-Item", "ngap.CancelledCellsInTAI_NR_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CandidateCellList_item,
{ "CandidateCellItem", "ngap.CandidateCellItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_candidateCell,
{ "candidateCell", "ngap.candidateCell",
FT_UINT32, BASE_DEC, VALS(ngap_CandidateCell_vals), 0,
NULL, HFILL }},
{ &hf_ngap_candidateCGI,
{ "candidateCGI", "ngap.candidateCGI_element",
FT_NONE, BASE_NONE, NULL, 0,
"CandidateCellID", HFILL }},
{ &hf_ngap_candidatePCI,
{ "candidatePCI", "ngap.candidatePCI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_candidateCellID,
{ "candidateCellID", "ngap.candidateCellID_element",
FT_NONE, BASE_NONE, NULL, 0,
"NR_CGI", HFILL }},
{ &hf_ngap_candidatePCI_01,
{ "candidatePCI", "ngap.candidatePCI",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1007_", HFILL }},
{ &hf_ngap_candidateNRARFCN,
{ "candidateNRARFCN", "ngap.candidateNRARFCN",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3279165", HFILL }},
{ &hf_ngap_radioNetwork,
{ "radioNetwork", "ngap.radioNetwork",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ngap_CauseRadioNetwork_vals_ext, 0,
"CauseRadioNetwork", HFILL }},
{ &hf_ngap_transport,
{ "transport", "ngap.transport",
FT_UINT32, BASE_DEC, VALS(ngap_CauseTransport_vals), 0,
"CauseTransport", HFILL }},
{ &hf_ngap_nas,
{ "nas", "ngap.nas",
FT_UINT32, BASE_DEC, VALS(ngap_CauseNas_vals), 0,
"CauseNas", HFILL }},
{ &hf_ngap_protocol,
{ "protocol", "ngap.protocol",
FT_UINT32, BASE_DEC, VALS(ngap_CauseProtocol_vals), 0,
"CauseProtocol", HFILL }},
{ &hf_ngap_misc,
{ "misc", "ngap.misc",
FT_UINT32, BASE_DEC, VALS(ngap_CauseMisc_vals), 0,
"CauseMisc", HFILL }},
{ &hf_ngap_cellCAGList,
{ "cellCAGList", "ngap.cellCAGList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CellCAGList_item,
{ "CAG-ID", "ngap.CAG_ID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CellIDBroadcastEUTRA_item,
{ "CellIDBroadcastEUTRA-Item", "ngap.CellIDBroadcastEUTRA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CellIDBroadcastNR_item,
{ "CellIDBroadcastNR-Item", "ngap.CellIDBroadcastNR_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CellIDCancelledEUTRA_item,
{ "CellIDCancelledEUTRA-Item", "ngap.CellIDCancelledEUTRA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CellIDCancelledNR_item,
{ "CellIDCancelledNR-Item", "ngap.CellIDCancelledNR_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_eUTRA_CGIListforRestart,
{ "eUTRA-CGIListforRestart", "ngap.eUTRA_CGIListforRestart",
FT_UINT32, BASE_DEC, NULL, 0,
"EUTRA_CGIList", HFILL }},
{ &hf_ngap_nR_CGIListforRestart,
{ "nR-CGIListforRestart", "ngap.nR_CGIListforRestart",
FT_UINT32, BASE_DEC, NULL, 0,
"NR_CGIList", HFILL }},
{ &hf_ngap_cellSize,
{ "cellSize", "ngap.cellSize",
FT_UINT32, BASE_DEC, VALS(ngap_CellSize_vals), 0,
NULL, HFILL }},
{ &hf_ngap_expectedUEBehaviour,
{ "expectedUEBehaviour", "ngap.expectedUEBehaviour_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CNTypeRestrictionsForEquivalent_item,
{ "CNTypeRestrictionsForEquivalentItem", "ngap.CNTypeRestrictionsForEquivalentItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_plmnIdentity,
{ "plmnIdentity", "ngap.plmnIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cn_Type,
{ "cn-Type", "ngap.cn_Type",
FT_UINT32, BASE_DEC, VALS(ngap_T_cn_Type_vals), 0,
NULL, HFILL }},
{ &hf_ngap_CompletedCellsInEAI_EUTRA_item,
{ "CompletedCellsInEAI-EUTRA-Item", "ngap.CompletedCellsInEAI_EUTRA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CompletedCellsInEAI_NR_item,
{ "CompletedCellsInEAI-NR-Item", "ngap.CompletedCellsInEAI_NR_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CompletedCellsInTAI_EUTRA_item,
{ "CompletedCellsInTAI-EUTRA-Item", "ngap.CompletedCellsInTAI_EUTRA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_CompletedCellsInTAI_NR_item,
{ "CompletedCellsInTAI-NR-Item", "ngap.CompletedCellsInTAI_NR_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_uEIdentityIndexValue,
{ "uEIdentityIndexValue", "ngap.uEIdentityIndexValue",
FT_UINT32, BASE_DEC, VALS(ngap_UEIdentityIndexValue_vals), 0,
NULL, HFILL }},
{ &hf_ngap_uESpecificDRX,
{ "uESpecificDRX", "ngap.uESpecificDRX",
FT_UINT32, BASE_DEC, VALS(ngap_PagingDRX_vals), 0,
"PagingDRX", HFILL }},
{ &hf_ngap_periodicRegistrationUpdateTimer,
{ "periodicRegistrationUpdateTimer", "ngap.periodicRegistrationUpdateTimer",
FT_UINT8, BASE_CUSTOM, CF_FUNC(ngap_PeriodicRegistrationUpdateTimer_fmt), 0,
NULL, HFILL }},
{ &hf_ngap_mICOModeIndication,
{ "mICOModeIndication", "ngap.mICOModeIndication",
FT_UINT32, BASE_DEC, VALS(ngap_MICOModeIndication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_tAIListForInactive,
{ "tAIListForInactive", "ngap.tAIListForInactive",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDCP_SN12,
{ "pDCP-SN12", "ngap.pDCP_SN12",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_ngap_hFN_PDCP_SN12,
{ "hFN-PDCP-SN12", "ngap.hFN_PDCP_SN12",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1048575", HFILL }},
{ &hf_ngap_pDCP_SN18,
{ "pDCP-SN18", "ngap.pDCP_SN18",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_262143", HFILL }},
{ &hf_ngap_hFN_PDCP_SN18,
{ "hFN-PDCP-SN18", "ngap.hFN_PDCP_SN18",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_16383", HFILL }},
{ &hf_ngap_endpointIPAddress,
{ "endpointIPAddress", "ngap.endpointIPAddress",
FT_BYTES, BASE_NONE, NULL, 0,
"TransportLayerAddress", HFILL }},
{ &hf_ngap_procedureCode,
{ "procedureCode", "ngap.procedureCode",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ngap_ProcedureCode_vals_ext, 0,
NULL, HFILL }},
{ &hf_ngap_triggeringMessage,
{ "triggeringMessage", "ngap.triggeringMessage",
FT_UINT32, BASE_DEC, VALS(ngap_TriggeringMessage_vals), 0,
NULL, HFILL }},
{ &hf_ngap_procedureCriticality,
{ "procedureCriticality", "ngap.procedureCriticality",
FT_UINT32, BASE_DEC, VALS(ngap_Criticality_vals), 0,
"Criticality", HFILL }},
{ &hf_ngap_iEsCriticalityDiagnostics,
{ "iEsCriticalityDiagnostics", "ngap.iEsCriticalityDiagnostics",
FT_UINT32, BASE_DEC, NULL, 0,
"CriticalityDiagnostics_IE_List", HFILL }},
{ &hf_ngap_CriticalityDiagnostics_IE_List_item,
{ "CriticalityDiagnostics-IE-Item", "ngap.CriticalityDiagnostics_IE_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_iECriticality,
{ "iECriticality", "ngap.iECriticality",
FT_UINT32, BASE_DEC, VALS(ngap_Criticality_vals), 0,
"Criticality", HFILL }},
{ &hf_ngap_iE_ID,
{ "iE-ID", "ngap.iE_ID",
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ngap_ProtocolIE_ID_vals_ext, 0,
"ProtocolIE_ID", HFILL }},
{ &hf_ngap_typeOfError,
{ "typeOfError", "ngap.typeOfError",
FT_UINT32, BASE_DEC, VALS(ngap_TypeOfError_vals), 0,
NULL, HFILL }},
{ &hf_ngap_cellIdListforMDT,
{ "cellIdListforMDT", "ngap.cellIdListforMDT",
FT_UINT32, BASE_DEC, NULL, 0,
"CellIdListforMDT_NR", HFILL }},
{ &hf_ngap_CellIdListforMDT_NR_item,
{ "NR-CGI", "ngap.NR_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cellIdListforMDT_01,
{ "cellIdListforMDT", "ngap.cellIdListforMDT",
FT_UINT32, BASE_DEC, NULL, 0,
"CellIdListforMDT_EUTRA", HFILL }},
{ &hf_ngap_CellIdListforMDT_EUTRA_item,
{ "EUTRA-CGI", "ngap.EUTRA_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DataForwardingResponseDRBList_item,
{ "DataForwardingResponseDRBItem", "ngap.DataForwardingResponseDRBItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dRB_ID,
{ "dRB-ID", "ngap.dRB_ID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dLForwardingUP_TNLInformation,
{ "dLForwardingUP-TNLInformation", "ngap.dLForwardingUP_TNLInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
"UPTransportLayerInformation", HFILL }},
{ &hf_ngap_uLForwardingUP_TNLInformation,
{ "uLForwardingUP-TNLInformation", "ngap.uLForwardingUP_TNLInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
"UPTransportLayerInformation", HFILL }},
{ &hf_ngap_dAPSIndicator,
{ "dAPSIndicator", "ngap.dAPSIndicator",
FT_UINT32, BASE_DEC, VALS(ngap_T_dAPSIndicator_vals), 0,
NULL, HFILL }},
{ &hf_ngap_DAPSResponseInfoList_item,
{ "DAPSResponseInfoItem", "ngap.DAPSResponseInfoItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dAPSResponseInfo,
{ "dAPSResponseInfo", "ngap.dAPSResponseInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_iE_Extension,
{ "iE-Extension", "ngap.iE_Extension",
FT_UINT32, BASE_DEC, NULL, 0,
"ProtocolExtensionContainer", HFILL }},
{ &hf_ngap_dapsresponseindicator,
{ "dapsresponseindicator", "ngap.dapsresponseindicator",
FT_UINT32, BASE_DEC, VALS(ngap_T_dapsresponseindicator_vals), 0,
NULL, HFILL }},
{ &hf_ngap_DataForwardingResponseERABList_item,
{ "DataForwardingResponseERABListItem", "ngap.DataForwardingResponseERABListItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_e_RAB_ID,
{ "e-RAB-ID", "ngap.e_RAB_ID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dl_NAS_MAC,
{ "dl-NAS-MAC", "ngap.dl_NAS_MAC",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_DRBsSubjectToStatusTransferList_item,
{ "DRBsSubjectToStatusTransferItem", "ngap.DRBsSubjectToStatusTransferItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dRBStatusUL,
{ "dRBStatusUL", "ngap.dRBStatusUL",
FT_UINT32, BASE_DEC, VALS(ngap_DRBStatusUL_vals), 0,
NULL, HFILL }},
{ &hf_ngap_dRBStatusDL,
{ "dRBStatusDL", "ngap.dRBStatusDL",
FT_UINT32, BASE_DEC, VALS(ngap_DRBStatusDL_vals), 0,
NULL, HFILL }},
{ &hf_ngap_dRBStatusDL12,
{ "dRBStatusDL12", "ngap.dRBStatusDL12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dRBStatusDL18,
{ "dRBStatusDL18", "ngap.dRBStatusDL18_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dL_COUNTValue,
{ "dL-COUNTValue", "ngap.dL_COUNTValue_element",
FT_NONE, BASE_NONE, NULL, 0,
"COUNTValueForPDCP_SN12", HFILL }},
{ &hf_ngap_dL_COUNTValue_01,
{ "dL-COUNTValue", "ngap.dL_COUNTValue_element",
FT_NONE, BASE_NONE, NULL, 0,
"COUNTValueForPDCP_SN18", HFILL }},
{ &hf_ngap_dRBStatusUL12,
{ "dRBStatusUL12", "ngap.dRBStatusUL12_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dRBStatusUL18,
{ "dRBStatusUL18", "ngap.dRBStatusUL18_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_uL_COUNTValue,
{ "uL-COUNTValue", "ngap.uL_COUNTValue_element",
FT_NONE, BASE_NONE, NULL, 0,
"COUNTValueForPDCP_SN12", HFILL }},
{ &hf_ngap_receiveStatusOfUL_PDCP_SDUs,
{ "receiveStatusOfUL-PDCP-SDUs", "ngap.receiveStatusOfUL_PDCP_SDUs",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1_2048", HFILL }},
{ &hf_ngap_uL_COUNTValue_01,
{ "uL-COUNTValue", "ngap.uL_COUNTValue_element",
FT_NONE, BASE_NONE, NULL, 0,
"COUNTValueForPDCP_SN18", HFILL }},
{ &hf_ngap_receiveStatusOfUL_PDCP_SDUs_01,
{ "receiveStatusOfUL-PDCP-SDUs", "ngap.receiveStatusOfUL_PDCP_SDUs",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_1_131072", HFILL }},
{ &hf_ngap_DRBsToQosFlowsMappingList_item,
{ "DRBsToQosFlowsMappingItem", "ngap.DRBsToQosFlowsMappingItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_associatedQosFlowList,
{ "associatedQosFlowList", "ngap.associatedQosFlowList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_priorityLevelQos,
{ "priorityLevelQos", "ngap.priorityLevelQos",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_fiveQI,
{ "fiveQI", "ngap.fiveQI",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_delayCritical,
{ "delayCritical", "ngap.delayCritical",
FT_UINT32, BASE_DEC, VALS(ngap_DelayCritical_vals), 0,
NULL, HFILL }},
{ &hf_ngap_averagingWindow,
{ "averagingWindow", "ngap.averagingWindow",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_milliseconds, 0,
NULL, HFILL }},
{ &hf_ngap_maximumDataBurstVolume,
{ "maximumDataBurstVolume", "ngap.maximumDataBurstVolume",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_byte_bytes, 0,
NULL, HFILL }},
{ &hf_ngap_procedureStage,
{ "procedureStage", "ngap.procedureStage",
FT_UINT32, BASE_DEC, VALS(ngap_ProcedureStageChoice_vals), 0,
"ProcedureStageChoice", HFILL }},
{ &hf_ngap_first_dl_count,
{ "first-dl-count", "ngap.first_dl_count_element",
FT_NONE, BASE_NONE, NULL, 0,
"FirstDLCount", HFILL }},
{ &hf_ngap_dRBsSubjectToEarlyStatusTransfer,
{ "dRBsSubjectToEarlyStatusTransfer", "ngap.dRBsSubjectToEarlyStatusTransfer",
FT_UINT32, BASE_DEC, NULL, 0,
"DRBsSubjectToEarlyStatusTransfer_List", HFILL }},
{ &hf_ngap_DRBsSubjectToEarlyStatusTransfer_List_item,
{ "DRBsSubjectToEarlyStatusTransfer-Item", "ngap.DRBsSubjectToEarlyStatusTransfer_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_firstDLCOUNT,
{ "firstDLCOUNT", "ngap.firstDLCOUNT",
FT_UINT32, BASE_DEC, VALS(ngap_DRBStatusDL_vals), 0,
"DRBStatusDL", HFILL }},
{ &hf_ngap_EmergencyAreaIDBroadcastEUTRA_item,
{ "EmergencyAreaIDBroadcastEUTRA-Item", "ngap.EmergencyAreaIDBroadcastEUTRA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_emergencyAreaID,
{ "emergencyAreaID", "ngap.emergencyAreaID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_completedCellsInEAI_EUTRA,
{ "completedCellsInEAI-EUTRA", "ngap.completedCellsInEAI_EUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EmergencyAreaIDBroadcastNR_item,
{ "EmergencyAreaIDBroadcastNR-Item", "ngap.EmergencyAreaIDBroadcastNR_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_completedCellsInEAI_NR,
{ "completedCellsInEAI-NR", "ngap.completedCellsInEAI_NR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EmergencyAreaIDCancelledEUTRA_item,
{ "EmergencyAreaIDCancelledEUTRA-Item", "ngap.EmergencyAreaIDCancelledEUTRA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cancelledCellsInEAI_EUTRA,
{ "cancelledCellsInEAI-EUTRA", "ngap.cancelledCellsInEAI_EUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EmergencyAreaIDCancelledNR_item,
{ "EmergencyAreaIDCancelledNR-Item", "ngap.EmergencyAreaIDCancelledNR_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cancelledCellsInEAI_NR,
{ "cancelledCellsInEAI-NR", "ngap.cancelledCellsInEAI_NR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EmergencyAreaIDList_item,
{ "EmergencyAreaID", "ngap.EmergencyAreaID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EmergencyAreaIDListForRestart_item,
{ "EmergencyAreaID", "ngap.EmergencyAreaID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_emergencyFallbackRequestIndicator,
{ "emergencyFallbackRequestIndicator", "ngap.emergencyFallbackRequestIndicator",
FT_UINT32, BASE_DEC, VALS(ngap_EmergencyFallbackRequestIndicator_vals), 0,
NULL, HFILL }},
{ &hf_ngap_emergencyServiceTargetCN,
{ "emergencyServiceTargetCN", "ngap.emergencyServiceTargetCN",
FT_UINT32, BASE_DEC, VALS(ngap_EmergencyServiceTargetCN_vals), 0,
NULL, HFILL }},
{ &hf_ngap_macroENB_ID,
{ "macroENB-ID", "ngap.macroENB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_20", HFILL }},
{ &hf_ngap_homeENB_ID,
{ "homeENB-ID", "ngap.homeENB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_28", HFILL }},
{ &hf_ngap_short_macroENB_ID,
{ "short-macroENB-ID", "ngap.short_macroENB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_18", HFILL }},
{ &hf_ngap_long_macroENB_ID,
{ "long-macroENB-ID", "ngap.long_macroENB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_21", HFILL }},
{ &hf_ngap_portNumber,
{ "portNumber", "ngap.portNumber",
FT_UINT16, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EquivalentPLMNs_item,
{ "PLMNIdentity", "ngap.PLMNIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ePS_TAC,
{ "ePS-TAC", "ngap.ePS_TAC",
FT_UINT16, BASE_DEC_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_E_RABInformationList_item,
{ "E-RABInformationItem", "ngap.E_RABInformationItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dLForwarding,
{ "dLForwarding", "ngap.dLForwarding",
FT_UINT32, BASE_DEC, VALS(ngap_DLForwarding_vals), 0,
NULL, HFILL }},
{ &hf_ngap_eUTRACellIdentity,
{ "eUTRACellIdentity", "ngap.EUTRACellIdentity",
FT_UINT32, BASE_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EUTRA_CGIList_item,
{ "EUTRA-CGI", "ngap.EUTRA_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_EUTRA_CGIListForWarning_item,
{ "EUTRA-CGI", "ngap.EUTRA_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_expectedActivityPeriod,
{ "expectedActivityPeriod", "ngap.expectedActivityPeriod",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
NULL, HFILL }},
{ &hf_ngap_expectedIdlePeriod,
{ "expectedIdlePeriod", "ngap.expectedIdlePeriod",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
NULL, HFILL }},
{ &hf_ngap_sourceOfUEActivityBehaviourInformation,
{ "sourceOfUEActivityBehaviourInformation", "ngap.sourceOfUEActivityBehaviourInformation",
FT_UINT32, BASE_DEC, VALS(ngap_SourceOfUEActivityBehaviourInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_expectedUEActivityBehaviour,
{ "expectedUEActivityBehaviour", "ngap.expectedUEActivityBehaviour_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_expectedHOInterval,
{ "expectedHOInterval", "ngap.expectedHOInterval",
FT_UINT32, BASE_DEC, VALS(ngap_ExpectedHOInterval_vals), 0,
NULL, HFILL }},
{ &hf_ngap_expectedUEMobility,
{ "expectedUEMobility", "ngap.expectedUEMobility",
FT_UINT32, BASE_DEC, VALS(ngap_ExpectedUEMobility_vals), 0,
NULL, HFILL }},
{ &hf_ngap_expectedUEMovingTrajectory,
{ "expectedUEMovingTrajectory", "ngap.expectedUEMovingTrajectory",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ExpectedUEMovingTrajectory_item,
{ "ExpectedUEMovingTrajectoryItem", "ngap.ExpectedUEMovingTrajectoryItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_timeStayedInCell,
{ "timeStayedInCell", "ngap.timeStayedInCell",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
"INTEGER_0_4095", HFILL }},
{ &hf_ngap_aMFNameVisibleString,
{ "aMFNameVisibleString", "ngap.aMFNameVisibleString",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_aMFNameUTF8String,
{ "aMFNameUTF8String", "ngap.aMFNameUTF8String",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rANNodeNameVisibleString,
{ "rANNodeNameVisibleString", "ngap.rANNodeNameVisibleString",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rANNodeNameUTF8String,
{ "rANNodeNameUTF8String", "ngap.rANNodeNameUTF8String",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_primaryRATRestriction,
{ "primaryRATRestriction", "ngap.primaryRATRestriction",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_secondaryRATRestriction,
{ "secondaryRATRestriction", "ngap.secondaryRATRestriction",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ExtendedSliceSupportList_item,
{ "SliceSupportItem", "ngap.SliceSupportItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_outOfCoverage,
{ "outOfCoverage", "ngap.outOfCoverage",
FT_UINT32, BASE_DEC, VALS(ngap_T_outOfCoverage_vals), 0,
NULL, HFILL }},
{ &hf_ngap_eventL1LoggedMDTConfig,
{ "eventL1LoggedMDTConfig", "ngap.eventL1LoggedMDTConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_l1Threshold,
{ "l1Threshold", "ngap.l1Threshold",
FT_UINT32, BASE_DEC, VALS(ngap_MeasurementThresholdL1LoggedMDT_vals), 0,
"MeasurementThresholdL1LoggedMDT", HFILL }},
{ &hf_ngap_hysteresis,
{ "hysteresis", "ngap.hysteresis",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_timeToTrigger,
{ "timeToTrigger", "ngap.timeToTrigger",
FT_UINT32, BASE_DEC, VALS(ngap_TimeToTrigger_vals), 0,
NULL, HFILL }},
{ &hf_ngap_threshold_RSRP,
{ "threshold-RSRP", "ngap.threshold_RSRP",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ngap_Threshold_RSRP_fmt), 0,
NULL, HFILL }},
{ &hf_ngap_threshold_RSRQ,
{ "threshold-RSRQ", "ngap.threshold_RSRQ",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ngap_Threshold_RSRQ_fmt), 0,
NULL, HFILL }},
{ &hf_ngap_uERLFReportContainer,
{ "uERLFReportContainer", "ngap.uERLFReportContainer",
FT_UINT32, BASE_DEC, VALS(ngap_UERLFReportContainer_vals), 0,
NULL, HFILL }},
{ &hf_ngap_aMFSetID,
{ "aMFSetID", "ngap.aMFSetID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_aMFPointer,
{ "aMFPointer", "ngap.aMFPointer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_fiveG_TMSI,
{ "fiveG-TMSI", "ngap.fiveG_TMSI",
FT_UINT32, BASE_DEC_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ForbiddenAreaInformation_item,
{ "ForbiddenAreaInformation-Item", "ngap.ForbiddenAreaInformation_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_forbiddenTACs,
{ "forbiddenTACs", "ngap.forbiddenTACs",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ForbiddenTACs_item,
{ "TAC", "ngap.TAC",
FT_UINT24, BASE_DEC_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sourceeNBID,
{ "sourceeNBID", "ngap.sourceeNBID_element",
FT_NONE, BASE_NONE, NULL, 0,
"IntersystemSONeNBID", HFILL }},
{ &hf_ngap_targetNGRANnodeID,
{ "targetNGRANnodeID", "ngap.targetNGRANnodeID_element",
FT_NONE, BASE_NONE, NULL, 0,
"IntersystemSONNGRANnodeID", HFILL }},
{ &hf_ngap_sourceNGRANnodeID,
{ "sourceNGRANnodeID", "ngap.sourceNGRANnodeID_element",
FT_NONE, BASE_NONE, NULL, 0,
"IntersystemSONNGRANnodeID", HFILL }},
{ &hf_ngap_targeteNBID,
{ "targeteNBID", "ngap.targeteNBID_element",
FT_NONE, BASE_NONE, NULL, 0,
"IntersystemSONeNBID", HFILL }},
{ &hf_ngap_maximumFlowBitRateDL,
{ "maximumFlowBitRateDL", "ngap.maximumFlowBitRateDL",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_maximumFlowBitRateUL,
{ "maximumFlowBitRateUL", "ngap.maximumFlowBitRateUL",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_notificationControl,
{ "notificationControl", "ngap.notificationControl",
FT_UINT32, BASE_DEC, VALS(ngap_NotificationControl_vals), 0,
NULL, HFILL }},
{ &hf_ngap_maximumPacketLossRateDL,
{ "maximumPacketLossRateDL", "ngap.maximumPacketLossRateDL",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ngap_PacketLossRate_fmt), 0,
"PacketLossRate", HFILL }},
{ &hf_ngap_maximumPacketLossRateUL,
{ "maximumPacketLossRateUL", "ngap.maximumPacketLossRateUL",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ngap_PacketLossRate_fmt), 0,
"PacketLossRate", HFILL }},
{ &hf_ngap_pLMNidentity,
{ "pLMNidentity", "ngap.pLMNidentity",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_eNB_ID,
{ "eNB-ID", "ngap.eNB_ID",
FT_UINT32, BASE_DEC, VALS(ngap_ENB_ID_vals), 0,
NULL, HFILL }},
{ &hf_ngap_globalGNB_ID_gNB_ID,
{ "gNB-ID", "ngap.globalGNB_ID.gNB_ID",
FT_UINT32, BASE_DEC, VALS(ngap_GNB_ID_vals), 0,
NULL, HFILL }},
{ &hf_ngap_globalN3IWF_ID_n3IWF_ID,
{ "n3IWF-ID", "ngap.globalN3IWF_ID_n3IWF_ID",
FT_UINT32, BASE_DEC, VALS(ngap_N3IWF_ID_vals), 0,
NULL, HFILL }},
{ &hf_ngap_globalLineIdentity,
{ "globalLineIdentity", "ngap.globalLineIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_lineType,
{ "lineType", "ngap.lineType",
FT_UINT32, BASE_DEC, VALS(ngap_LineType_vals), 0,
NULL, HFILL }},
{ &hf_ngap_ngENB_ID,
{ "ngENB-ID", "ngap.ngENB_ID",
FT_UINT32, BASE_DEC, VALS(ngap_NgENB_ID_vals), 0,
NULL, HFILL }},
{ &hf_ngap_globalGNB_ID,
{ "globalGNB-ID", "ngap.globalGNB_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_globalNgENB_ID,
{ "globalNgENB-ID", "ngap.globalNgENB_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_globalN3IWF_ID,
{ "globalN3IWF-ID", "ngap.globalN3IWF_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_globalTNGF_ID_tNGF_ID,
{ "tNGF-ID", "ngap.globalTNGF_ID.tNGF_ID",
FT_UINT32, BASE_DEC, VALS(ngap_TNGF_ID_vals), 0,
NULL, HFILL }},
{ &hf_ngap_globalTWIF_ID_tWIF_ID,
{ "tWIF-ID", "ngap.globalTWIF_ID.tWIF_ID",
FT_UINT32, BASE_DEC, VALS(ngap_TWIF_ID_vals), 0,
NULL, HFILL }},
{ &hf_ngap_globalW_AGF_ID_w_AGF_ID,
{ "w-AGF-ID", "ngap.globalW_AGF_ID.w_AGF_ID",
FT_UINT32, BASE_DEC, VALS(ngap_W_AGF_ID_vals), 0,
NULL, HFILL }},
{ &hf_ngap_gNB_ID,
{ "gNB-ID", "ngap.gNB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_22_32", HFILL }},
{ &hf_ngap_transportLayerAddress,
{ "transportLayerAddress", "ngap.transportLayerAddress",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_gTP_TEID,
{ "gTP-TEID", "ngap.gTP_TEID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_aMFRegionID,
{ "aMFRegionID", "ngap.aMFRegionID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowToBeForwardedList,
{ "qosFlowToBeForwardedList", "ngap.qosFlowToBeForwardedList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dataForwardingResponseDRBList,
{ "dataForwardingResponseDRBList", "ngap.dataForwardingResponseDRBList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cause,
{ "cause", "ngap.cause",
FT_UINT32, BASE_DEC, VALS(ngap_Cause_vals), 0,
NULL, HFILL }},
{ &hf_ngap_dL_NGU_UP_TNLInformation,
{ "dL-NGU-UP-TNLInformation", "ngap.dL_NGU_UP_TNLInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
"UPTransportLayerInformation", HFILL }},
{ &hf_ngap_securityResult,
{ "securityResult", "ngap.securityResult_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowSetupResponseList,
{ "qosFlowSetupResponseList", "ngap.qosFlowSetupResponseList",
FT_UINT32, BASE_DEC, NULL, 0,
"QosFlowListWithDataForwarding", HFILL }},
{ &hf_ngap_qosFlowFailedToSetupList,
{ "qosFlowFailedToSetupList", "ngap.qosFlowFailedToSetupList",
FT_UINT32, BASE_DEC, NULL, 0,
"QosFlowListWithCause", HFILL }},
{ &hf_ngap_directForwardingPathAvailability,
{ "directForwardingPathAvailability", "ngap.directForwardingPathAvailability",
FT_UINT32, BASE_DEC, VALS(ngap_DirectForwardingPathAvailability_vals), 0,
NULL, HFILL }},
{ &hf_ngap_criticalityDiagnostics,
{ "criticalityDiagnostics", "ngap.criticalityDiagnostics_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_handoverReportType,
{ "handoverReportType", "ngap.handoverReportType",
FT_UINT32, BASE_DEC, VALS(ngap_T_handoverReportType_vals), 0,
NULL, HFILL }},
{ &hf_ngap_handoverCause,
{ "handoverCause", "ngap.handoverCause",
FT_UINT32, BASE_DEC, VALS(ngap_Cause_vals), 0,
"Cause", HFILL }},
{ &hf_ngap_sourcecellCGI,
{ "sourcecellCGI", "ngap.sourcecellCGI",
FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0,
"NGRAN_CGI", HFILL }},
{ &hf_ngap_targetcellCGI,
{ "targetcellCGI", "ngap.targetcellCGI",
FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0,
"NGRAN_CGI", HFILL }},
{ &hf_ngap_reestablishmentcellCGI,
{ "reestablishmentcellCGI", "ngap.reestablishmentcellCGI",
FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0,
"NGRAN_CGI", HFILL }},
{ &hf_ngap_sourcecellC_RNTI,
{ "sourcecellC-RNTI", "ngap.sourcecellC_RNTI",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16", HFILL }},
{ &hf_ngap_targetcellinE_UTRAN,
{ "targetcellinE-UTRAN", "ngap.targetcellinE_UTRAN_element",
FT_NONE, BASE_NONE, NULL, 0,
"EUTRA_CGI", HFILL }},
{ &hf_ngap_mobilityInformation,
{ "mobilityInformation", "ngap.mobilityInformation",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_recommendRANNodesForPaging,
{ "recommendRANNodesForPaging", "ngap.recommendRANNodesForPaging_element",
FT_NONE, BASE_NONE, NULL, 0,
"RecommendedRANNodesForPaging", HFILL }},
{ &hf_ngap_measurementsToActivate,
{ "measurementsToActivate", "ngap.measurementsToActivate",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_m1Configuration,
{ "m1Configuration", "ngap.m1Configuration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_m4Configuration,
{ "m4Configuration", "ngap.m4Configuration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_m5Configuration,
{ "m5Configuration", "ngap.m5Configuration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_m6Configuration,
{ "m6Configuration", "ngap.m6Configuration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_m7Configuration,
{ "m7Configuration", "ngap.m7Configuration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_bluetoothMeasurementConfiguration,
{ "bluetoothMeasurementConfiguration", "ngap.bluetoothMeasurementConfiguration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_wLANMeasurementConfiguration,
{ "wLANMeasurementConfiguration", "ngap.wLANMeasurementConfiguration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_mDT_Location_Info,
{ "mDT-Location-Info", "ngap.mDT_Location_Info_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sensorMeasurementConfiguration,
{ "sensorMeasurementConfiguration", "ngap.sensorMeasurementConfiguration_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_transferType,
{ "transferType", "ngap.transferType",
FT_UINT32, BASE_DEC, VALS(ngap_IntersystemSONTransferType_vals), 0,
"IntersystemSONTransferType", HFILL }},
{ &hf_ngap_intersystemSONInformation,
{ "intersystemSONInformation", "ngap.intersystemSONInformation",
FT_UINT32, BASE_DEC, VALS(ngap_IntersystemSONInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_fromEUTRANtoNGRAN,
{ "fromEUTRANtoNGRAN", "ngap.fromEUTRANtoNGRAN_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_fromNGRANtoEUTRAN,
{ "fromNGRANtoEUTRAN", "ngap.fromNGRANtoEUTRAN_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_globaleNBID,
{ "globaleNBID", "ngap.globaleNBID_element",
FT_NONE, BASE_NONE, NULL, 0,
"GlobalENB_ID", HFILL }},
{ &hf_ngap_selectedEPSTAI,
{ "selectedEPSTAI", "ngap.selectedEPSTAI_element",
FT_NONE, BASE_NONE, NULL, 0,
"EPS_TAI", HFILL }},
{ &hf_ngap_selectedTAI,
{ "selectedTAI", "ngap.selectedTAI_element",
FT_NONE, BASE_NONE, NULL, 0,
"TAI", HFILL }},
{ &hf_ngap_intersystemSONInformationReport,
{ "intersystemSONInformationReport", "ngap.intersystemSONInformationReport",
FT_UINT32, BASE_DEC, VALS(ngap_IntersystemSONInformationReport_vals), 0,
NULL, HFILL }},
{ &hf_ngap_hOReportInformation,
{ "hOReportInformation", "ngap.hOReportInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
"InterSystemHOReport", HFILL }},
{ &hf_ngap_failureIndicationInformation,
{ "failureIndicationInformation", "ngap.failureIndicationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
"InterSystemFailureIndication", HFILL }},
{ &hf_ngap_handoverReportType_01,
{ "handoverReportType", "ngap.handoverReportType",
FT_UINT32, BASE_DEC, VALS(ngap_InterSystemHandoverReportType_vals), 0,
"InterSystemHandoverReportType", HFILL }},
{ &hf_ngap_tooearlyIntersystemHO,
{ "tooearlyIntersystemHO", "ngap.tooearlyIntersystemHO_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_intersystemUnnecessaryHO,
{ "intersystemUnnecessaryHO", "ngap.intersystemUnnecessaryHO_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sourcecellID,
{ "sourcecellID", "ngap.sourcecellID",
FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0,
"NGRAN_CGI", HFILL }},
{ &hf_ngap_targetcellID,
{ "targetcellID", "ngap.targetcellID_element",
FT_NONE, BASE_NONE, NULL, 0,
"EUTRA_CGI", HFILL }},
{ &hf_ngap_earlyIRATHO,
{ "earlyIRATHO", "ngap.earlyIRATHO",
FT_UINT32, BASE_DEC, VALS(ngap_T_earlyIRATHO_vals), 0,
NULL, HFILL }},
{ &hf_ngap_candidateCellList,
{ "candidateCellList", "ngap.candidateCellList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_lAC,
{ "lAC", "ngap.lAC",
FT_UINT16, BASE_DEC_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nGRANCell,
{ "nGRANCell", "ngap.nGRANCell_element",
FT_NONE, BASE_NONE, NULL, 0,
"LastVisitedNGRANCellInformation", HFILL }},
{ &hf_ngap_eUTRANCell,
{ "eUTRANCell", "ngap.eUTRANCell",
FT_BYTES, BASE_NONE, NULL, 0,
"LastVisitedEUTRANCellInformation", HFILL }},
{ &hf_ngap_uTRANCell,
{ "uTRANCell", "ngap.uTRANCell",
FT_BYTES, BASE_NONE, NULL, 0,
"LastVisitedUTRANCellInformation", HFILL }},
{ &hf_ngap_gERANCell,
{ "gERANCell", "ngap.gERANCell",
FT_BYTES, BASE_NONE, NULL, 0,
"LastVisitedGERANCellInformation", HFILL }},
{ &hf_ngap_lastVisitedCellInformation,
{ "lastVisitedCellInformation", "ngap.lastVisitedCellInformation",
FT_UINT32, BASE_DEC, VALS(ngap_LastVisitedCellInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_globalCellID,
{ "globalCellID", "ngap.globalCellID",
FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0,
"NGRAN_CGI", HFILL }},
{ &hf_ngap_cellType,
{ "cellType", "ngap.cellType_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_timeUEStayedInCell,
{ "timeUEStayedInCell", "ngap.timeUEStayedInCell",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
NULL, HFILL }},
{ &hf_ngap_timeUEStayedInCellEnhancedGranularity,
{ "timeUEStayedInCellEnhancedGranularity", "ngap.timeUEStayedInCellEnhancedGranularity",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ngap_TimeUEStayedInCellEnhancedGranularity_fmt), 0,
NULL, HFILL }},
{ &hf_ngap_hOCauseValue,
{ "hOCauseValue", "ngap.hOCauseValue",
FT_UINT32, BASE_DEC, VALS(ngap_Cause_vals), 0,
"Cause", HFILL }},
{ &hf_ngap_eventType,
{ "eventType", "ngap.eventType",
FT_UINT32, BASE_DEC, VALS(ngap_EventType_vals), 0,
NULL, HFILL }},
{ &hf_ngap_reportArea,
{ "reportArea", "ngap.reportArea",
FT_UINT32, BASE_DEC, VALS(ngap_ReportArea_vals), 0,
NULL, HFILL }},
{ &hf_ngap_areaOfInterestList,
{ "areaOfInterestList", "ngap.areaOfInterestList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_locationReportingReferenceIDToBeCancelled,
{ "locationReportingReferenceIDToBeCancelled", "ngap.locationReportingReferenceIDToBeCancelled",
FT_UINT32, BASE_DEC, NULL, 0,
"LocationReportingReferenceID", HFILL }},
{ &hf_ngap_loggingInterval,
{ "loggingInterval", "ngap.loggingInterval",
FT_UINT32, BASE_DEC, VALS(ngap_LoggingInterval_vals), 0,
NULL, HFILL }},
{ &hf_ngap_loggingDuration,
{ "loggingDuration", "ngap.loggingDuration",
FT_UINT32, BASE_DEC, VALS(ngap_LoggingDuration_vals), 0,
NULL, HFILL }},
{ &hf_ngap_loggedMDTTrigger,
{ "loggedMDTTrigger", "ngap.loggedMDTTrigger",
FT_UINT32, BASE_DEC, VALS(ngap_LoggedMDTTrigger_vals), 0,
NULL, HFILL }},
{ &hf_ngap_areaScopeOfNeighCellsList,
{ "areaScopeOfNeighCellsList", "ngap.areaScopeOfNeighCellsList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_periodical,
{ "periodical", "ngap.periodical_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_eventTrigger,
{ "eventTrigger", "ngap.eventTrigger",
FT_UINT32, BASE_DEC, VALS(ngap_EventTrigger_vals), 0,
NULL, HFILL }},
{ &hf_ngap_vehicleUE,
{ "vehicleUE", "ngap.vehicleUE",
FT_UINT32, BASE_DEC, VALS(ngap_VehicleUE_vals), 0,
NULL, HFILL }},
{ &hf_ngap_pedestrianUE,
{ "pedestrianUE", "ngap.pedestrianUE",
FT_UINT32, BASE_DEC, VALS(ngap_PedestrianUE_vals), 0,
NULL, HFILL }},
{ &hf_ngap_uESidelinkAggregateMaximumBitRate,
{ "uESidelinkAggregateMaximumBitRate", "ngap.uESidelinkAggregateMaximumBitRate",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_servingPLMN,
{ "servingPLMN", "ngap.servingPLMN",
FT_BYTES, BASE_NONE, NULL, 0,
"PLMNIdentity", HFILL }},
{ &hf_ngap_equivalentPLMNs,
{ "equivalentPLMNs", "ngap.equivalentPLMNs",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rATRestrictions,
{ "rATRestrictions", "ngap.rATRestrictions",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_forbiddenAreaInformation,
{ "forbiddenAreaInformation", "ngap.forbiddenAreaInformation",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_serviceAreaInformation,
{ "serviceAreaInformation", "ngap.serviceAreaInformation",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_MDTPLMNList_item,
{ "PLMNIdentity", "ngap.PLMNIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_mdt_Config_NR,
{ "mdt-Config-NR", "ngap.mdt_Config_NR_element",
FT_NONE, BASE_NONE, NULL, 0,
"MDT_Configuration_NR", HFILL }},
{ &hf_ngap_mdt_Config_EUTRA,
{ "mdt-Config-EUTRA", "ngap.mdt_Config_EUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
"MDT_Configuration_EUTRA", HFILL }},
{ &hf_ngap_mdt_Activation,
{ "mdt-Activation", "ngap.mdt_Activation",
FT_UINT32, BASE_DEC, VALS(ngap_MDT_Activation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_areaScopeOfMDT,
{ "areaScopeOfMDT", "ngap.areaScopeOfMDT",
FT_UINT32, BASE_DEC, VALS(ngap_AreaScopeOfMDT_NR_vals), 0,
"AreaScopeOfMDT_NR", HFILL }},
{ &hf_ngap_mDTModeNr,
{ "mDTModeNr", "ngap.mDTModeNr",
FT_UINT32, BASE_DEC, VALS(ngap_MDTModeNr_vals), 0,
NULL, HFILL }},
{ &hf_ngap_signallingBasedMDTPLMNList,
{ "signallingBasedMDTPLMNList", "ngap.signallingBasedMDTPLMNList",
FT_UINT32, BASE_DEC, NULL, 0,
"MDTPLMNList", HFILL }},
{ &hf_ngap_areaScopeOfMDT_01,
{ "areaScopeOfMDT", "ngap.areaScopeOfMDT",
FT_UINT32, BASE_DEC, VALS(ngap_AreaScopeOfMDT_EUTRA_vals), 0,
"AreaScopeOfMDT_EUTRA", HFILL }},
{ &hf_ngap_mDTMode,
{ "mDTMode", "ngap.mDTMode",
FT_BYTES, BASE_NONE, NULL, 0,
"MDTModeEutra", HFILL }},
{ &hf_ngap_immediateMDTNr,
{ "immediateMDTNr", "ngap.immediateMDTNr_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_loggedMDTNr,
{ "loggedMDTNr", "ngap.loggedMDTNr_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_m1reportingTrigger,
{ "m1reportingTrigger", "ngap.m1reportingTrigger",
FT_UINT32, BASE_DEC, VALS(ngap_M1ReportingTrigger_vals), 0,
NULL, HFILL }},
{ &hf_ngap_m1thresholdEventA2,
{ "m1thresholdEventA2", "ngap.m1thresholdEventA2_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_m1periodicReporting,
{ "m1periodicReporting", "ngap.m1periodicReporting_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_m1ThresholdType,
{ "m1ThresholdType", "ngap.m1ThresholdType",
FT_UINT32, BASE_DEC, VALS(ngap_M1ThresholdType_vals), 0,
NULL, HFILL }},
{ &hf_ngap_threshold_SINR,
{ "threshold-SINR", "ngap.threshold_SINR",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ngap_Threshold_SINR_fmt), 0,
NULL, HFILL }},
{ &hf_ngap_reportInterval,
{ "reportInterval", "ngap.reportInterval",
FT_UINT32, BASE_DEC, VALS(ngap_ReportIntervalMDT_vals), 0,
"ReportIntervalMDT", HFILL }},
{ &hf_ngap_reportAmount,
{ "reportAmount", "ngap.reportAmount",
FT_UINT32, BASE_DEC, VALS(ngap_ReportAmountMDT_vals), 0,
"ReportAmountMDT", HFILL }},
{ &hf_ngap_m4period,
{ "m4period", "ngap.m4period",
FT_UINT32, BASE_DEC, VALS(ngap_M4period_vals), 0,
NULL, HFILL }},
{ &hf_ngap_m4_links_to_log,
{ "m4-links-to-log", "ngap.m4_links_to_log",
FT_UINT32, BASE_DEC, VALS(ngap_Links_to_log_vals), 0,
"Links_to_log", HFILL }},
{ &hf_ngap_m5period,
{ "m5period", "ngap.m5period",
FT_UINT32, BASE_DEC, VALS(ngap_M5period_vals), 0,
NULL, HFILL }},
{ &hf_ngap_m5_links_to_log,
{ "m5-links-to-log", "ngap.m5_links_to_log",
FT_UINT32, BASE_DEC, VALS(ngap_Links_to_log_vals), 0,
"Links_to_log", HFILL }},
{ &hf_ngap_m6report_Interval,
{ "m6report-Interval", "ngap.m6report_Interval",
FT_UINT32, BASE_DEC, VALS(ngap_M6report_Interval_vals), 0,
NULL, HFILL }},
{ &hf_ngap_m6_links_to_log,
{ "m6-links-to-log", "ngap.m6_links_to_log",
FT_UINT32, BASE_DEC, VALS(ngap_Links_to_log_vals), 0,
"Links_to_log", HFILL }},
{ &hf_ngap_m7period,
{ "m7period", "ngap.m7period",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_m7_links_to_log,
{ "m7-links-to-log", "ngap.m7_links_to_log",
FT_UINT32, BASE_DEC, VALS(ngap_Links_to_log_vals), 0,
"Links_to_log", HFILL }},
{ &hf_ngap_mDT_Location_Information,
{ "mDT-Location-Information", "ngap.mDT_Location_Information",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_n3IWF_ID,
{ "n3IWF-ID", "ngap.n3IWF_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16", HFILL }},
{ &hf_ngap_nB_IoT_Paging_eDRXCycle,
{ "nB-IoT-Paging-eDRXCycle", "ngap.nB_IoT_Paging_eDRXCycle",
FT_UINT32, BASE_DEC, VALS(ngap_NB_IoT_Paging_eDRXCycle_vals), 0,
NULL, HFILL }},
{ &hf_ngap_nB_IoT_Paging_TimeWindow,
{ "nB-IoT-Paging-TimeWindow", "ngap.nB_IoT_Paging_TimeWindow",
FT_UINT32, BASE_DEC, VALS(ngap_NB_IoT_Paging_TimeWindow_vals), 0,
NULL, HFILL }},
{ &hf_ngap_macroNgENB_ID,
{ "macroNgENB-ID", "ngap.macroNgENB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_20", HFILL }},
{ &hf_ngap_shortMacroNgENB_ID,
{ "shortMacroNgENB-ID", "ngap.shortMacroNgENB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_18", HFILL }},
{ &hf_ngap_longMacroNgENB_ID,
{ "longMacroNgENB-ID", "ngap.longMacroNgENB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_21", HFILL }},
{ &hf_ngap_NGRAN_TNLAssociationToRemoveList_item,
{ "NGRAN-TNLAssociationToRemoveItem", "ngap.NGRAN_TNLAssociationToRemoveItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tNLAssociationTransportLayerAddress,
{ "tNLAssociationTransportLayerAddress", "ngap.tNLAssociationTransportLayerAddress",
FT_UINT32, BASE_DEC, VALS(ngap_CPTransportLayerInformation_vals), 0,
"CPTransportLayerInformation", HFILL }},
{ &hf_ngap_tNLAssociationTransportLayerAddressAMF,
{ "tNLAssociationTransportLayerAddressAMF", "ngap.tNLAssociationTransportLayerAddressAMF",
FT_UINT32, BASE_DEC, VALS(ngap_CPTransportLayerInformation_vals), 0,
"CPTransportLayerInformation", HFILL }},
{ &hf_ngap_NotAllowedTACs_item,
{ "TAC", "ngap.TAC",
FT_UINT24, BASE_DEC_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pNI_NPN_Access_Information,
{ "pNI-NPN-Access-Information", "ngap.pNI_NPN_Access_Information",
FT_UINT32, BASE_DEC, NULL, 0,
"CellCAGList", HFILL }},
{ &hf_ngap_sNPN_MobilityInformation,
{ "sNPN-MobilityInformation", "ngap.sNPN_MobilityInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pNI_NPN_MobilityInformation,
{ "pNI-NPN-MobilityInformation", "ngap.pNI_NPN_MobilityInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pNI_NPN_PagingAssistance,
{ "pNI-NPN-PagingAssistance", "ngap.pNI_NPN_PagingAssistance",
FT_UINT32, BASE_DEC, NULL, 0,
"Allowed_PNI_NPN_List", HFILL }},
{ &hf_ngap_sNPN,
{ "sNPN", "ngap.sNPN",
FT_BYTES, BASE_NONE, NULL, 0,
"NID", HFILL }},
{ &hf_ngap_nRCellIdentity,
{ "nRCellIdentity", "ngap.NRCellIdentity",
FT_UINT40, BASE_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NR_CGIList_item,
{ "NR-CGI", "ngap.NR_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NR_CGIListForWarning_item,
{ "NR-CGI", "ngap.NR_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_NRFrequencyBand_List_item,
{ "NRFrequencyBandItem", "ngap.NRFrequencyBandItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nr_frequency_band,
{ "nr-frequency-band", "ngap.nr_frequency_band",
FT_UINT32, BASE_DEC, NULL, 0,
"NRFrequencyBand", HFILL }},
{ &hf_ngap_nrARFCN,
{ "nrARFCN", "ngap.nrARFCN",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_frequencyBand_List,
{ "frequencyBand-List", "ngap.frequencyBand_List",
FT_UINT32, BASE_DEC, NULL, 0,
"NRFrequencyBand_List", HFILL }},
{ &hf_ngap_overloadAction,
{ "overloadAction", "ngap.overloadAction",
FT_UINT32, BASE_DEC, VALS(ngap_OverloadAction_vals), 0,
NULL, HFILL }},
{ &hf_ngap_OverloadStartNSSAIList_item,
{ "OverloadStartNSSAIItem", "ngap.OverloadStartNSSAIItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sliceOverloadList,
{ "sliceOverloadList", "ngap.sliceOverloadList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sliceOverloadResponse,
{ "sliceOverloadResponse", "ngap.sliceOverloadResponse",
FT_UINT32, BASE_DEC, VALS(ngap_OverloadResponse_vals), 0,
"OverloadResponse", HFILL }},
{ &hf_ngap_sliceTrafficLoadReductionIndication,
{ "sliceTrafficLoadReductionIndication", "ngap.sliceTrafficLoadReductionIndication",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_percent, 0,
"TrafficLoadReductionIndication", HFILL }},
{ &hf_ngap_pERScalar,
{ "pERScalar", "ngap.pERScalar",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9_", HFILL }},
{ &hf_ngap_pERExponent,
{ "pERExponent", "ngap.pERExponent",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_9_", HFILL }},
{ &hf_ngap_coverageEnhancementLevel,
{ "coverageEnhancementLevel", "ngap.coverageEnhancementLevel",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pagingAttemptCount,
{ "pagingAttemptCount", "ngap.pagingAttemptCount",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_intendedNumberOfPagingAttempts,
{ "intendedNumberOfPagingAttempts", "ngap.intendedNumberOfPagingAttempts",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nextPagingAreaScope,
{ "nextPagingAreaScope", "ngap.nextPagingAreaScope",
FT_UINT32, BASE_DEC, VALS(ngap_NextPagingAreaScope_vals), 0,
NULL, HFILL }},
{ &hf_ngap_paging_eDRX_Cycle,
{ "paging-eDRX-Cycle", "ngap.paging_eDRX_Cycle",
FT_UINT32, BASE_DEC, VALS(ngap_Paging_eDRX_Cycle_vals), 0,
NULL, HFILL }},
{ &hf_ngap_paging_Time_Window,
{ "paging-Time-Window", "ngap.paging_Time_Window",
FT_UINT32, BASE_DEC, VALS(ngap_Paging_Time_Window_vals), 0,
NULL, HFILL }},
{ &hf_ngap_uL_NGU_UP_TNLInformation,
{ "uL-NGU-UP-TNLInformation", "ngap.uL_NGU_UP_TNLInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
"UPTransportLayerInformation", HFILL }},
{ &hf_ngap_securityIndication,
{ "securityIndication", "ngap.securityIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dL_NGU_TNLInformationReused,
{ "dL-NGU-TNLInformationReused", "ngap.dL_NGU_TNLInformationReused",
FT_UINT32, BASE_DEC, VALS(ngap_DL_NGU_TNLInformationReused_vals), 0,
NULL, HFILL }},
{ &hf_ngap_userPlaneSecurityInformation,
{ "userPlaneSecurityInformation", "ngap.userPlaneSecurityInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowAcceptedList,
{ "qosFlowAcceptedList", "ngap.qosFlowAcceptedList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pc5QoSFlowList,
{ "pc5QoSFlowList", "ngap.pc5QoSFlowList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pc5LinkAggregateBitRates,
{ "pc5LinkAggregateBitRates", "ngap.pc5LinkAggregateBitRates",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_PC5QoSFlowList_item,
{ "PC5QoSFlowItem", "ngap.PC5QoSFlowItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pQI,
{ "pQI", "ngap.pQI",
FT_UINT32, BASE_DEC, NULL, 0,
"FiveQI", HFILL }},
{ &hf_ngap_pc5FlowBitRates,
{ "pc5FlowBitRates", "ngap.pc5FlowBitRates_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_range,
{ "range", "ngap.range",
FT_UINT32, BASE_DEC, VALS(ngap_Range_vals), 0,
NULL, HFILL }},
{ &hf_ngap_guaranteedFlowBitRate,
{ "guaranteedFlowBitRate", "ngap.guaranteedFlowBitRate",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_maximumFlowBitRate,
{ "maximumFlowBitRate", "ngap.maximumFlowBitRate",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_PCIListForMDT_item,
{ "NR-PCI", "ngap.NR_PCI",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionAggregateMaximumBitRateDL,
{ "pDUSessionAggregateMaximumBitRateDL", "ngap.pDUSessionAggregateMaximumBitRateDL",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_pDUSessionAggregateMaximumBitRateUL,
{ "pDUSessionAggregateMaximumBitRateUL", "ngap.pDUSessionAggregateMaximumBitRateUL",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_PDUSessionResourceAdmittedList_item,
{ "PDUSessionResourceAdmittedItem", "ngap.PDUSessionResourceAdmittedItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionID,
{ "pDUSessionID", "ngap.pDUSessionID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_handoverRequestAcknowledgeTransfer,
{ "handoverRequestAcknowledgeTransfer", "ngap.handoverRequestAcknowledgeTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToModifyListModCfm_item,
{ "PDUSessionResourceFailedToModifyItemModCfm", "ngap.PDUSessionResourceFailedToModifyItemModCfm_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceModifyIndicationUnsuccessfulTransfer,
{ "pDUSessionResourceModifyIndicationUnsuccessfulTransfer", "ngap.pDUSessionResourceModifyIndicationUnsuccessfulTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToModifyListModRes_item,
{ "PDUSessionResourceFailedToModifyItemModRes", "ngap.PDUSessionResourceFailedToModifyItemModRes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceModifyUnsuccessfulTransfer,
{ "pDUSessionResourceModifyUnsuccessfulTransfer", "ngap.pDUSessionResourceModifyUnsuccessfulTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToResumeListRESReq_item,
{ "PDUSessionResourceFailedToResumeItemRESReq", "ngap.PDUSessionResourceFailedToResumeItemRESReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToResumeListRESRes_item,
{ "PDUSessionResourceFailedToResumeItemRESRes", "ngap.PDUSessionResourceFailedToResumeItemRESRes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToSetupListCxtFail_item,
{ "PDUSessionResourceFailedToSetupItemCxtFail", "ngap.PDUSessionResourceFailedToSetupItemCxtFail_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceSetupUnsuccessfulTransfer,
{ "pDUSessionResourceSetupUnsuccessfulTransfer", "ngap.pDUSessionResourceSetupUnsuccessfulTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToSetupListCxtRes_item,
{ "PDUSessionResourceFailedToSetupItemCxtRes", "ngap.PDUSessionResourceFailedToSetupItemCxtRes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceSetupUnsuccessfulTransfer_01,
{ "pDUSessionResourceSetupUnsuccessfulTransfer", "ngap.pDUSessionResourceSetupUnsuccessfulTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
"T_pDUSessionResourceSetupUnsuccessfulTransfer_01", HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToSetupListHOAck_item,
{ "PDUSessionResourceFailedToSetupItemHOAck", "ngap.PDUSessionResourceFailedToSetupItemHOAck_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_handoverResourceAllocationUnsuccessfulTransfer,
{ "handoverResourceAllocationUnsuccessfulTransfer", "ngap.handoverResourceAllocationUnsuccessfulTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToSetupListPSReq_item,
{ "PDUSessionResourceFailedToSetupItemPSReq", "ngap.PDUSessionResourceFailedToSetupItemPSReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pathSwitchRequestSetupFailedTransfer,
{ "pathSwitchRequestSetupFailedTransfer", "ngap.pathSwitchRequestSetupFailedTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceFailedToSetupListSURes_item,
{ "PDUSessionResourceFailedToSetupItemSURes", "ngap.PDUSessionResourceFailedToSetupItemSURes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceSetupUnsuccessfulTransfer_02,
{ "pDUSessionResourceSetupUnsuccessfulTransfer", "ngap.pDUSessionResourceSetupUnsuccessfulTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
"T_pDUSessionResourceSetupUnsuccessfulTransfer_02", HFILL }},
{ &hf_ngap_PDUSessionResourceHandoverList_item,
{ "PDUSessionResourceHandoverItem", "ngap.PDUSessionResourceHandoverItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_handoverCommandTransfer,
{ "handoverCommandTransfer", "ngap.handoverCommandTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceInformationList_item,
{ "PDUSessionResourceInformationItem", "ngap.PDUSessionResourceInformationItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowInformationList,
{ "qosFlowInformationList", "ngap.qosFlowInformationList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dRBsToQosFlowsMappingList,
{ "dRBsToQosFlowsMappingList", "ngap.dRBsToQosFlowsMappingList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceListCxtRelCpl_item,
{ "PDUSessionResourceItemCxtRelCpl", "ngap.PDUSessionResourceItemCxtRelCpl_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceListCxtRelReq_item,
{ "PDUSessionResourceItemCxtRelReq", "ngap.PDUSessionResourceItemCxtRelReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceListHORqd_item,
{ "PDUSessionResourceItemHORqd", "ngap.PDUSessionResourceItemHORqd_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_handoverRequiredTransfer,
{ "handoverRequiredTransfer", "ngap.handoverRequiredTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowModifyConfirmList,
{ "qosFlowModifyConfirmList", "ngap.qosFlowModifyConfirmList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_uLNGU_UP_TNLInformation,
{ "uLNGU-UP-TNLInformation", "ngap.uLNGU_UP_TNLInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
"UPTransportLayerInformation", HFILL }},
{ &hf_ngap_additionalNG_UUPTNLInformation,
{ "additionalNG-UUPTNLInformation", "ngap.additionalNG_UUPTNLInformation",
FT_UINT32, BASE_DEC, NULL, 0,
"UPTransportLayerInformationPairList", HFILL }},
{ &hf_ngap_qosFlowFailedToModifyList,
{ "qosFlowFailedToModifyList", "ngap.qosFlowFailedToModifyList",
FT_UINT32, BASE_DEC, NULL, 0,
"QosFlowListWithCause", HFILL }},
{ &hf_ngap_protocolIEs,
{ "protocolIEs", "ngap.protocolIEs",
FT_UINT32, BASE_DEC, NULL, 0,
"ProtocolIE_Container", HFILL }},
{ &hf_ngap_qosFlowAddOrModifyResponseList,
{ "qosFlowAddOrModifyResponseList", "ngap.qosFlowAddOrModifyResponseList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_additionalDLQosFlowPerTNLInformation,
{ "additionalDLQosFlowPerTNLInformation", "ngap.additionalDLQosFlowPerTNLInformation",
FT_UINT32, BASE_DEC, NULL, 0,
"QosFlowPerTNLInformationList", HFILL }},
{ &hf_ngap_qosFlowFailedToAddOrModifyList,
{ "qosFlowFailedToAddOrModifyList", "ngap.qosFlowFailedToAddOrModifyList",
FT_UINT32, BASE_DEC, NULL, 0,
"QosFlowListWithCause", HFILL }},
{ &hf_ngap_dLQosFlowPerTNLInformation,
{ "dLQosFlowPerTNLInformation", "ngap.dLQosFlowPerTNLInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
"QosFlowPerTNLInformation", HFILL }},
{ &hf_ngap_PDUSessionResourceModifyListModCfm_item,
{ "PDUSessionResourceModifyItemModCfm", "ngap.PDUSessionResourceModifyItemModCfm_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceModifyConfirmTransfer,
{ "pDUSessionResourceModifyConfirmTransfer", "ngap.pDUSessionResourceModifyConfirmTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyListModInd_item,
{ "PDUSessionResourceModifyItemModInd", "ngap.PDUSessionResourceModifyItemModInd_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceModifyIndicationTransfer,
{ "pDUSessionResourceModifyIndicationTransfer", "ngap.pDUSessionResourceModifyIndicationTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyListModReq_item,
{ "PDUSessionResourceModifyItemModReq", "ngap.PDUSessionResourceModifyItemModReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nAS_PDU,
{ "nAS-PDU", "ngap.nAS_PDU",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceModifyRequestTransfer,
{ "pDUSessionResourceModifyRequestTransfer", "ngap.pDUSessionResourceModifyRequestTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceModifyListModRes_item,
{ "PDUSessionResourceModifyItemModRes", "ngap.PDUSessionResourceModifyItemModRes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceModifyResponseTransfer,
{ "pDUSessionResourceModifyResponseTransfer", "ngap.pDUSessionResourceModifyResponseTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceNotifyList_item,
{ "PDUSessionResourceNotifyItem", "ngap.PDUSessionResourceNotifyItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceNotifyTransfer,
{ "pDUSessionResourceNotifyTransfer", "ngap.pDUSessionResourceNotifyTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowNotifyList,
{ "qosFlowNotifyList", "ngap.qosFlowNotifyList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowReleasedList,
{ "qosFlowReleasedList", "ngap.qosFlowReleasedList",
FT_UINT32, BASE_DEC, NULL, 0,
"QosFlowListWithCause", HFILL }},
{ &hf_ngap_PDUSessionResourceReleasedListNot_item,
{ "PDUSessionResourceReleasedItemNot", "ngap.PDUSessionResourceReleasedItemNot_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceNotifyReleasedTransfer,
{ "pDUSessionResourceNotifyReleasedTransfer", "ngap.pDUSessionResourceNotifyReleasedTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleasedListPSAck_item,
{ "PDUSessionResourceReleasedItemPSAck", "ngap.PDUSessionResourceReleasedItemPSAck_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pathSwitchRequestUnsuccessfulTransfer,
{ "pathSwitchRequestUnsuccessfulTransfer", "ngap.pathSwitchRequestUnsuccessfulTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceReleasedListPSFail_item,
{ "PDUSessionResourceReleasedItemPSFail", "ngap.PDUSessionResourceReleasedItemPSFail_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pathSwitchRequestUnsuccessfulTransfer_01,
{ "pathSwitchRequestUnsuccessfulTransfer", "ngap.pathSwitchRequestUnsuccessfulTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
"T_pathSwitchRequestUnsuccessfulTransfer_01", HFILL }},
{ &hf_ngap_PDUSessionResourceReleasedListRelRes_item,
{ "PDUSessionResourceReleasedItemRelRes", "ngap.PDUSessionResourceReleasedItemRelRes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceReleaseResponseTransfer,
{ "pDUSessionResourceReleaseResponseTransfer", "ngap.pDUSessionResourceReleaseResponseTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceResumeListRESReq_item,
{ "PDUSessionResourceResumeItemRESReq", "ngap.PDUSessionResourceResumeItemRESReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_uEContextResumeRequestTransfer,
{ "uEContextResumeRequestTransfer", "ngap.uEContextResumeRequestTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceResumeListRESRes_item,
{ "PDUSessionResourceResumeItemRESRes", "ngap.PDUSessionResourceResumeItemRESRes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_uEContextResumeResponseTransfer,
{ "uEContextResumeResponseTransfer", "ngap.uEContextResumeResponseTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSecondaryRATUsageList_item,
{ "PDUSessionResourceSecondaryRATUsageItem", "ngap.PDUSessionResourceSecondaryRATUsageItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_secondaryRATDataUsageReportTransfer,
{ "secondaryRATDataUsageReportTransfer", "ngap.secondaryRATDataUsageReportTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupListCxtReq_item,
{ "PDUSessionResourceSetupItemCxtReq", "ngap.PDUSessionResourceSetupItemCxtReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceSetupRequestTransfer,
{ "pDUSessionResourceSetupRequestTransfer", "ngap.pDUSessionResourceSetupRequestTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupListCxtRes_item,
{ "PDUSessionResourceSetupItemCxtRes", "ngap.PDUSessionResourceSetupItemCxtRes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceSetupResponseTransfer,
{ "pDUSessionResourceSetupResponseTransfer", "ngap.pDUSessionResourceSetupResponseTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupListHOReq_item,
{ "PDUSessionResourceSetupItemHOReq", "ngap.PDUSessionResourceSetupItemHOReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_handoverRequestTransfer,
{ "handoverRequestTransfer", "ngap.handoverRequestTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSetupListSUReq_item,
{ "PDUSessionResourceSetupItemSUReq", "ngap.PDUSessionResourceSetupItemSUReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionNAS_PDU,
{ "pDUSessionNAS-PDU", "ngap.pDUSessionNAS_PDU",
FT_BYTES, BASE_NONE, NULL, 0,
"NAS_PDU", HFILL }},
{ &hf_ngap_pDUSessionResourceSetupRequestTransfer_01,
{ "pDUSessionResourceSetupRequestTransfer", "ngap.pDUSessionResourceSetupRequestTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
"T_pDUSessionResourceSetupRequestTransfer_01", HFILL }},
{ &hf_ngap_PDUSessionResourceSetupListSURes_item,
{ "PDUSessionResourceSetupItemSURes", "ngap.PDUSessionResourceSetupItemSURes_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceSetupResponseTransfer_01,
{ "pDUSessionResourceSetupResponseTransfer", "ngap.pDUSessionResourceSetupResponseTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
"T_pDUSessionResourceSetupResponseTransfer_01", HFILL }},
{ &hf_ngap_PDUSessionResourceSuspendListSUSReq_item,
{ "PDUSessionResourceSuspendItemSUSReq", "ngap.PDUSessionResourceSuspendItemSUSReq_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_uEContextSuspendRequestTransfer,
{ "uEContextSuspendRequestTransfer", "ngap.uEContextSuspendRequestTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceSwitchedList_item,
{ "PDUSessionResourceSwitchedItem", "ngap.PDUSessionResourceSwitchedItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pathSwitchRequestAcknowledgeTransfer,
{ "pathSwitchRequestAcknowledgeTransfer", "ngap.pathSwitchRequestAcknowledgeTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceToBeSwitchedDLList_item,
{ "PDUSessionResourceToBeSwitchedDLItem", "ngap.PDUSessionResourceToBeSwitchedDLItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pathSwitchRequestTransfer,
{ "pathSwitchRequestTransfer", "ngap.pathSwitchRequestTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceToReleaseListHOCmd_item,
{ "PDUSessionResourceToReleaseItemHOCmd", "ngap.PDUSessionResourceToReleaseItemHOCmd_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_handoverPreparationUnsuccessfulTransfer,
{ "handoverPreparationUnsuccessfulTransfer", "ngap.handoverPreparationUnsuccessfulTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_PDUSessionResourceToReleaseListRelCmd_item,
{ "PDUSessionResourceToReleaseItemRelCmd", "ngap.PDUSessionResourceToReleaseItemRelCmd_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceReleaseCommandTransfer,
{ "pDUSessionResourceReleaseCommandTransfer", "ngap.pDUSessionResourceReleaseCommandTransfer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rATType,
{ "rATType", "ngap.rATType",
FT_UINT32, BASE_DEC, VALS(ngap_T_rATType_vals), 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionTimedReportList,
{ "pDUSessionTimedReportList", "ngap.pDUSessionTimedReportList",
FT_UINT32, BASE_DEC, NULL, 0,
"VolumeTimedReportList", HFILL }},
{ &hf_ngap_PLMNSupportList_item,
{ "PLMNSupportItem", "ngap.PLMNSupportItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sliceSupportList,
{ "sliceSupportList", "ngap.sliceSupportList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_allowed_PNI_NPI_List,
{ "allowed-PNI-NPI-List", "ngap.allowed_PNI_NPI_List",
FT_UINT32, BASE_DEC, NULL, 0,
"Allowed_PNI_NPN_List", HFILL }},
{ &hf_ngap_eUTRA_CGI_PWSFailedList,
{ "eUTRA-CGI-PWSFailedList", "ngap.eUTRA_CGI_PWSFailedList",
FT_UINT32, BASE_DEC, NULL, 0,
"EUTRA_CGIList", HFILL }},
{ &hf_ngap_nR_CGI_PWSFailedList,
{ "nR-CGI-PWSFailedList", "ngap.nR_CGI_PWSFailedList",
FT_UINT32, BASE_DEC, NULL, 0,
"NR_CGIList", HFILL }},
{ &hf_ngap_nonDynamic5QI,
{ "nonDynamic5QI", "ngap.nonDynamic5QI_element",
FT_NONE, BASE_NONE, NULL, 0,
"NonDynamic5QIDescriptor", HFILL }},
{ &hf_ngap_dynamic5QI,
{ "dynamic5QI", "ngap.dynamic5QI_element",
FT_NONE, BASE_NONE, NULL, 0,
"Dynamic5QIDescriptor", HFILL }},
{ &hf_ngap_QosFlowAcceptedList_item,
{ "QosFlowAcceptedItem", "ngap.QosFlowAcceptedItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowAddOrModifyRequestList_item,
{ "QosFlowAddOrModifyRequestItem", "ngap.QosFlowAddOrModifyRequestItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowLevelQosParameters,
{ "qosFlowLevelQosParameters", "ngap.qosFlowLevelQosParameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowAddOrModifyResponseList_item,
{ "QosFlowAddOrModifyResponseItem", "ngap.QosFlowAddOrModifyResponseItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowFeedbackList_item,
{ "QosFlowFeedbackItem", "ngap.QosFlowFeedbackItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_updateFeedback,
{ "updateFeedback", "ngap.updateFeedback",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cNpacketDelayBudgetDL,
{ "cNpacketDelayBudgetDL", "ngap.cNpacketDelayBudgetDL",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ngap_ExtendedPacketDelayBudget_fmt), 0,
"ExtendedPacketDelayBudget", HFILL }},
{ &hf_ngap_cNpacketDelayBudgetUL,
{ "cNpacketDelayBudgetUL", "ngap.cNpacketDelayBudgetUL",
FT_UINT32, BASE_CUSTOM, CF_FUNC(ngap_ExtendedPacketDelayBudget_fmt), 0,
"ExtendedPacketDelayBudget", HFILL }},
{ &hf_ngap_QosFlowInformationList_item,
{ "QosFlowInformationItem", "ngap.QosFlowInformationItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosCharacteristics,
{ "qosCharacteristics", "ngap.qosCharacteristics",
FT_UINT32, BASE_DEC, VALS(ngap_QosCharacteristics_vals), 0,
NULL, HFILL }},
{ &hf_ngap_allocationAndRetentionPriority,
{ "allocationAndRetentionPriority", "ngap.allocationAndRetentionPriority_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_gBR_QosInformation,
{ "gBR-QosInformation", "ngap.gBR_QosInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_reflectiveQosAttribute,
{ "reflectiveQosAttribute", "ngap.reflectiveQosAttribute",
FT_UINT32, BASE_DEC, VALS(ngap_ReflectiveQosAttribute_vals), 0,
NULL, HFILL }},
{ &hf_ngap_additionalQosFlowInformation,
{ "additionalQosFlowInformation", "ngap.additionalQosFlowInformation",
FT_UINT32, BASE_DEC, VALS(ngap_AdditionalQosFlowInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowListWithCause_item,
{ "QosFlowWithCauseItem", "ngap.QosFlowWithCauseItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowModifyConfirmList_item,
{ "QosFlowModifyConfirmItem", "ngap.QosFlowModifyConfirmItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowNotifyList_item,
{ "QosFlowNotifyItem", "ngap.QosFlowNotifyItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_notificationCause,
{ "notificationCause", "ngap.notificationCause",
FT_UINT32, BASE_DEC, VALS(ngap_NotificationCause_vals), 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowParametersList_item,
{ "QosFlowParametersItem", "ngap.QosFlowParametersItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_alternativeQoSParaSetList,
{ "alternativeQoSParaSetList", "ngap.alternativeQoSParaSetList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_uPTransportLayerInformation,
{ "uPTransportLayerInformation", "ngap.uPTransportLayerInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowPerTNLInformationList_item,
{ "QosFlowPerTNLInformationItem", "ngap.QosFlowPerTNLInformationItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowPerTNLInformation,
{ "qosFlowPerTNLInformation", "ngap.qosFlowPerTNLInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowSetupRequestList_item,
{ "QosFlowSetupRequestItem", "ngap.QosFlowSetupRequestItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowListWithDataForwarding_item,
{ "QosFlowItemWithDataForwarding", "ngap.QosFlowItemWithDataForwarding_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_dataForwardingAccepted,
{ "dataForwardingAccepted", "ngap.dataForwardingAccepted",
FT_UINT32, BASE_DEC, VALS(ngap_DataForwardingAccepted_vals), 0,
NULL, HFILL }},
{ &hf_ngap_QosFlowToBeForwardedList_item,
{ "QosFlowToBeForwardedItem", "ngap.QosFlowToBeForwardedItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_QoSFlowsUsageReportList_item,
{ "QoSFlowsUsageReport-Item", "ngap.QoSFlowsUsageReport_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rATType_01,
{ "rATType", "ngap.rATType",
FT_UINT32, BASE_DEC, VALS(ngap_T_rATType_01_vals), 0,
"T_rATType_01", HFILL }},
{ &hf_ngap_qoSFlowsTimedReportList,
{ "qoSFlowsTimedReportList", "ngap.qoSFlowsTimedReportList",
FT_UINT32, BASE_DEC, NULL, 0,
"VolumeTimedReportList", HFILL }},
{ &hf_ngap_dRBsSubjectToStatusTransferList,
{ "dRBsSubjectToStatusTransferList", "ngap.dRBsSubjectToStatusTransferList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RATRestrictions_item,
{ "RATRestrictions-Item", "ngap.RATRestrictions_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rATRestrictionInformation,
{ "rATRestrictionInformation", "ngap.rATRestrictionInformation",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_recommendedCellList,
{ "recommendedCellList", "ngap.recommendedCellList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RecommendedCellList_item,
{ "RecommendedCellItem", "ngap.RecommendedCellItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_recommendedRANNodeList,
{ "recommendedRANNodeList", "ngap.recommendedRANNodeList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_RecommendedRANNodeList_item,
{ "RecommendedRANNodeItem", "ngap.RecommendedRANNodeItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_aMFPagingTarget,
{ "aMFPagingTarget", "ngap.aMFPagingTarget",
FT_UINT32, BASE_DEC, VALS(ngap_AMFPagingTarget_vals), 0,
NULL, HFILL }},
{ &hf_ngap_rSN,
{ "rSN", "ngap.rSN",
FT_UINT32, BASE_DEC, VALS(ngap_RSN_vals), 0,
NULL, HFILL }},
{ &hf_ngap_nG_Interface,
{ "nG-Interface", "ngap.nG_Interface",
FT_UINT32, BASE_DEC, VALS(ngap_ResetAll_vals), 0,
"ResetAll", HFILL }},
{ &hf_ngap_partOfNG_Interface,
{ "partOfNG-Interface", "ngap.partOfNG_Interface",
FT_UINT32, BASE_DEC, NULL, 0,
"UE_associatedLogicalNG_connectionList", HFILL }},
{ &hf_ngap_targetRANNodeID,
{ "targetRANNodeID", "ngap.targetRANNodeID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sourceRANNodeID,
{ "sourceRANNodeID", "ngap.sourceRANNodeID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rIMInformation,
{ "rIMInformation", "ngap.rIMInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_targetgNBSetID,
{ "targetgNBSetID", "ngap.targetgNBSetID",
FT_BYTES, BASE_NONE, NULL, 0,
"GNBSetID", HFILL }},
{ &hf_ngap_rIM_RSDetection,
{ "rIM-RSDetection", "ngap.rIM_RSDetection",
FT_UINT32, BASE_DEC, VALS(ngap_T_rIM_RSDetection_vals), 0,
NULL, HFILL }},
{ &hf_ngap_dayofWeek,
{ "dayofWeek", "ngap.dayofWeek",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_7", HFILL }},
{ &hf_ngap_timeofDayStart,
{ "timeofDayStart", "ngap.timeofDayStart",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_86399_", HFILL }},
{ &hf_ngap_timeofDayEnd,
{ "timeofDayEnd", "ngap.timeofDayEnd",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_86399_", HFILL }},
{ &hf_ngap_SCTP_TLAs_item,
{ "TransportLayerAddress", "ngap.TransportLayerAddress",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionUsageReport,
{ "pDUSessionUsageReport", "ngap.pDUSessionUsageReport_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowsUsageReportList,
{ "qosFlowsUsageReportList", "ngap.qosFlowsUsageReportList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_secondaryRATUsageInformation,
{ "secondaryRATUsageInformation", "ngap.secondaryRATUsageInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nextHopChainingCount,
{ "nextHopChainingCount", "ngap.nextHopChainingCount",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nextHopNH,
{ "nextHopNH", "ngap.nextHopNH",
FT_BYTES, BASE_NONE, NULL, 0,
"SecurityKey", HFILL }},
{ &hf_ngap_integrityProtectionIndication,
{ "integrityProtectionIndication", "ngap.integrityProtectionIndication",
FT_UINT32, BASE_DEC, VALS(ngap_IntegrityProtectionIndication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_confidentialityProtectionIndication,
{ "confidentialityProtectionIndication", "ngap.confidentialityProtectionIndication",
FT_UINT32, BASE_DEC, VALS(ngap_ConfidentialityProtectionIndication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_maximumIntegrityProtectedDataRate_UL,
{ "maximumIntegrityProtectedDataRate-UL", "ngap.maximumIntegrityProtectedDataRate_UL",
FT_UINT32, BASE_DEC, VALS(ngap_MaximumIntegrityProtectedDataRate_vals), 0,
"MaximumIntegrityProtectedDataRate", HFILL }},
{ &hf_ngap_integrityProtectionResult,
{ "integrityProtectionResult", "ngap.integrityProtectionResult",
FT_UINT32, BASE_DEC, VALS(ngap_IntegrityProtectionResult_vals), 0,
NULL, HFILL }},
{ &hf_ngap_confidentialityProtectionResult,
{ "confidentialityProtectionResult", "ngap.confidentialityProtectionResult",
FT_UINT32, BASE_DEC, VALS(ngap_ConfidentialityProtectionResult_vals), 0,
NULL, HFILL }},
{ &hf_ngap_sensorMeasConfig,
{ "sensorMeasConfig", "ngap.sensorMeasConfig",
FT_UINT32, BASE_DEC, VALS(ngap_SensorMeasConfig_vals), 0,
NULL, HFILL }},
{ &hf_ngap_sensorMeasConfigNameList,
{ "sensorMeasConfigNameList", "ngap.sensorMeasConfigNameList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SensorMeasConfigNameList_item,
{ "SensorMeasConfigNameItem", "ngap.SensorMeasConfigNameItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sensorNameConfig,
{ "sensorNameConfig", "ngap.sensorNameConfig",
FT_UINT32, BASE_DEC, VALS(ngap_SensorNameConfig_vals), 0,
NULL, HFILL }},
{ &hf_ngap_uncompensatedBarometricConfig,
{ "uncompensatedBarometricConfig", "ngap.uncompensatedBarometricConfig",
FT_UINT32, BASE_DEC, VALS(ngap_T_uncompensatedBarometricConfig_vals), 0,
NULL, HFILL }},
{ &hf_ngap_ueSpeedConfig,
{ "ueSpeedConfig", "ngap.ueSpeedConfig",
FT_UINT32, BASE_DEC, VALS(ngap_T_ueSpeedConfig_vals), 0,
NULL, HFILL }},
{ &hf_ngap_ueOrientationConfig,
{ "ueOrientationConfig", "ngap.ueOrientationConfig",
FT_UINT32, BASE_DEC, VALS(ngap_T_ueOrientationConfig_vals), 0,
NULL, HFILL }},
{ &hf_ngap_ServedGUAMIList_item,
{ "ServedGUAMIItem", "ngap.ServedGUAMIItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_gUAMI,
{ "gUAMI", "ngap.gUAMI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_backupAMFName,
{ "backupAMFName", "ngap.backupAMFName",
FT_STRING, BASE_NONE, NULL, 0,
"AMFName", HFILL }},
{ &hf_ngap_ServiceAreaInformation_item,
{ "ServiceAreaInformation-Item", "ngap.ServiceAreaInformation_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_allowedTACs,
{ "allowedTACs", "ngap.allowedTACs",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_notAllowedTACs,
{ "notAllowedTACs", "ngap.notAllowedTACs",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SliceOverloadList_item,
{ "SliceOverloadItem", "ngap.SliceOverloadItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SliceSupportList_item,
{ "SliceSupportItem", "ngap.SliceSupportItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_serving_NID,
{ "serving-NID", "ngap.serving_NID",
FT_BYTES, BASE_NONE, NULL, 0,
"NID", HFILL }},
{ &hf_ngap_sST,
{ "sST", "ngap.sST",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sD,
{ "sD", "ngap.sD",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sONInformation,
{ "sONInformation", "ngap.sONInformation",
FT_UINT32, BASE_DEC, VALS(ngap_SONInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_xnTNLConfigurationInfo,
{ "xnTNLConfigurationInfo", "ngap.xnTNLConfigurationInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_sONInformationRequest,
{ "sONInformationRequest", "ngap.sONInformationRequest",
FT_UINT32, BASE_DEC, VALS(ngap_SONInformationRequest_vals), 0,
NULL, HFILL }},
{ &hf_ngap_sONInformationReply,
{ "sONInformationReply", "ngap.sONInformationReply_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_failureIndicationInformation_01,
{ "failureIndicationInformation", "ngap.failureIndicationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
"FailureIndication", HFILL }},
{ &hf_ngap_hOReportInformation_01,
{ "hOReportInformation", "ngap.hOReportInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
"HOReport", HFILL }},
{ &hf_ngap_rRCContainer,
{ "rRCContainer", "ngap.rRCContainer",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pDUSessionResourceInformationList,
{ "pDUSessionResourceInformationList", "ngap.pDUSessionResourceInformationList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_e_RABInformationList,
{ "e-RABInformationList", "ngap.e_RABInformationList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_targetCell_ID,
{ "targetCell-ID", "ngap.targetCell_ID",
FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0,
"NGRAN_CGI", HFILL }},
{ &hf_ngap_indexToRFSP,
{ "indexToRFSP", "ngap.indexToRFSP",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_uEHistoryInformation,
{ "uEHistoryInformation", "ngap.uEHistoryInformation",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_configuredNSSAI,
{ "configuredNSSAI", "ngap.configuredNSSAI",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rejectedNSSAIinPLMN,
{ "rejectedNSSAIinPLMN", "ngap.rejectedNSSAIinPLMN",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rejectedNSSAIinTA,
{ "rejectedNSSAIinTA", "ngap.rejectedNSSAIinTA",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_SupportedTAList_item,
{ "SupportedTAItem", "ngap.SupportedTAItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tAC,
{ "tAC", "ngap.tAC",
FT_UINT24, BASE_DEC_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_broadcastPLMNList,
{ "broadcastPLMNList", "ngap.broadcastPLMNList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAIBroadcastEUTRA_item,
{ "TAIBroadcastEUTRA-Item", "ngap.TAIBroadcastEUTRA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_completedCellsInTAI_EUTRA,
{ "completedCellsInTAI-EUTRA", "ngap.completedCellsInTAI_EUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAIBroadcastNR_item,
{ "TAIBroadcastNR-Item", "ngap.TAIBroadcastNR_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_completedCellsInTAI_NR,
{ "completedCellsInTAI-NR", "ngap.completedCellsInTAI_NR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAICancelledEUTRA_item,
{ "TAICancelledEUTRA-Item", "ngap.TAICancelledEUTRA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cancelledCellsInTAI_EUTRA,
{ "cancelledCellsInTAI-EUTRA", "ngap.cancelledCellsInTAI_EUTRA",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAICancelledNR_item,
{ "TAICancelledNR-Item", "ngap.TAICancelledNR_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cancelledCellsInTAI_NR,
{ "cancelledCellsInTAI-NR", "ngap.cancelledCellsInTAI_NR",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAIListForInactive_item,
{ "TAIListForInactiveItem", "ngap.TAIListForInactiveItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAIListForPaging_item,
{ "TAIListForPagingItem", "ngap.TAIListForPagingItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAIListForRestart_item,
{ "TAI", "ngap.TAI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAIListForWarning_item,
{ "TAI", "ngap.TAI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_globalENB_ID,
{ "globalENB-ID", "ngap.globalENB_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
"GlobalNgENB_ID", HFILL }},
{ &hf_ngap_selected_EPS_TAI,
{ "selected-EPS-TAI", "ngap.selected_EPS_TAI_element",
FT_NONE, BASE_NONE, NULL, 0,
"EPS_TAI", HFILL }},
{ &hf_ngap_targeteNB_ID,
{ "targeteNB-ID", "ngap.targeteNB_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_cell_CAGInformation,
{ "cell-CAGInformation", "ngap.cell_CAGInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_lAI,
{ "lAI", "ngap.lAI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rNC_ID,
{ "rNC-ID", "ngap.rNC_ID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_extendedRNC_ID,
{ "extendedRNC-ID", "ngap.extendedRNC_ID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tNGF_ID,
{ "tNGF-ID", "ngap.tNGF_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_32_", HFILL }},
{ &hf_ngap_TNLAssociationList_item,
{ "TNLAssociationItem", "ngap.TNLAssociationItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tNLAssociationAddress,
{ "tNLAssociationAddress", "ngap.tNLAssociationAddress",
FT_UINT32, BASE_DEC, VALS(ngap_CPTransportLayerInformation_vals), 0,
"CPTransportLayerInformation", HFILL }},
{ &hf_ngap_sourcecellID_01,
{ "sourcecellID", "ngap.sourcecellID_element",
FT_NONE, BASE_NONE, NULL, 0,
"EUTRA_CGI", HFILL }},
{ &hf_ngap_failurecellID,
{ "failurecellID", "ngap.failurecellID",
FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0,
"NGRAN_CGI", HFILL }},
{ &hf_ngap_nGRANTraceID,
{ "nGRANTraceID", "ngap.nGRANTraceID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_interfacesToTrace,
{ "interfacesToTrace", "ngap.interfacesToTrace",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_traceDepth,
{ "traceDepth", "ngap.traceDepth",
FT_UINT32, BASE_DEC, VALS(ngap_TraceDepth_vals), 0,
NULL, HFILL }},
{ &hf_ngap_traceCollectionEntityIPAddress,
{ "traceCollectionEntityIPAddress", "ngap.traceCollectionEntityIPAddress",
FT_BYTES, BASE_NONE, NULL, 0,
"TransportLayerAddress", HFILL }},
{ &hf_ngap_tAIListforMDT,
{ "tAIListforMDT", "ngap.tAIListforMDT",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAIListforMDT_item,
{ "TAI", "ngap.TAI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tAListforMDT,
{ "tAListforMDT", "ngap.tAListforMDT",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_TAListforMDT_item,
{ "TAC", "ngap.TAC",
FT_UINT24, BASE_DEC_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tWIF_ID,
{ "tWIF-ID", "ngap.tWIF_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_32_", HFILL }},
{ &hf_ngap_periodicity,
{ "periodicity", "ngap.periodicity",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_microseconds, 0,
NULL, HFILL }},
{ &hf_ngap_burstArrivalTime,
{ "burstArrivalTime", "ngap.burstArrivalTime",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tSCAssistanceInformationDL,
{ "tSCAssistanceInformationDL", "ngap.tSCAssistanceInformationDL_element",
FT_NONE, BASE_NONE, NULL, 0,
"TSCAssistanceInformation", HFILL }},
{ &hf_ngap_tSCAssistanceInformationUL,
{ "tSCAssistanceInformationUL", "ngap.tSCAssistanceInformationUL_element",
FT_NONE, BASE_NONE, NULL, 0,
"TSCAssistanceInformation", HFILL }},
{ &hf_ngap_uEAggregateMaximumBitRateDL,
{ "uEAggregateMaximumBitRateDL", "ngap.uEAggregateMaximumBitRateDL",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_uEAggregateMaximumBitRateUL,
{ "uEAggregateMaximumBitRateUL", "ngap.uEAggregateMaximumBitRateUL",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
"BitRate", HFILL }},
{ &hf_ngap_UE_associatedLogicalNG_connectionList_item,
{ "UE-associatedLogicalNG-connectionItem", "ngap.UE_associatedLogicalNG_connectionItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_aMF_UE_NGAP_ID,
{ "aMF-UE-NGAP-ID", "ngap.AMF_UE_NGAP_ID",
FT_UINT64, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_rAN_UE_NGAP_ID,
{ "rAN-UE-NGAP-ID", "ngap.RAN_UE_NGAP_ID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_qosFlowFailedToResumeList,
{ "qosFlowFailedToResumeList", "ngap.qosFlowFailedToResumeList",
FT_UINT32, BASE_DEC, NULL, 0,
"QosFlowListWithCause", HFILL }},
{ &hf_ngap_suspendIndicator,
{ "suspendIndicator", "ngap.suspendIndicator",
FT_UINT32, BASE_DEC, VALS(ngap_SuspendIndicator_vals), 0,
NULL, HFILL }},
{ &hf_ngap_periodicCommunicationIndicator,
{ "periodicCommunicationIndicator", "ngap.periodicCommunicationIndicator",
FT_UINT32, BASE_DEC, VALS(ngap_T_periodicCommunicationIndicator_vals), 0,
NULL, HFILL }},
{ &hf_ngap_periodicTime,
{ "periodicTime", "ngap.periodicTime",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_1_3600_", HFILL }},
{ &hf_ngap_scheduledCommunicationTime,
{ "scheduledCommunicationTime", "ngap.scheduledCommunicationTime_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_stationaryIndication,
{ "stationaryIndication", "ngap.stationaryIndication",
FT_UINT32, BASE_DEC, VALS(ngap_T_stationaryIndication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_trafficProfile,
{ "trafficProfile", "ngap.trafficProfile",
FT_UINT32, BASE_DEC, VALS(ngap_T_trafficProfile_vals), 0,
NULL, HFILL }},
{ &hf_ngap_batteryIndication,
{ "batteryIndication", "ngap.batteryIndication",
FT_UINT32, BASE_DEC, VALS(ngap_T_batteryIndication_vals), 0,
NULL, HFILL }},
{ &hf_ngap_UEHistoryInformation_item,
{ "LastVisitedCellItem", "ngap.LastVisitedCellItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nR,
{ "nR", "ngap.nR",
FT_BYTES, BASE_NONE, NULL, 0,
"NRMobilityHistoryReport", HFILL }},
{ &hf_ngap_indexLength10,
{ "indexLength10", "ngap.indexLength10",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_10", HFILL }},
{ &hf_ngap_uE_NGAP_ID_pair,
{ "uE-NGAP-ID-pair", "ngap.uE_NGAP_ID_pair_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_fiveG_S_TMSI,
{ "fiveG-S-TMSI", "ngap.fiveG_S_TMSI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UEPresenceInAreaOfInterestList_item,
{ "UEPresenceInAreaOfInterestItem", "ngap.UEPresenceInAreaOfInterestItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_uEPresence,
{ "uEPresence", "ngap.uEPresence",
FT_UINT32, BASE_DEC, VALS(ngap_UEPresence_vals), 0,
NULL, HFILL }},
{ &hf_ngap_uERadioCapabilityForPagingOfNR,
{ "uERadioCapabilityForPagingOfNR", "ngap.uERadioCapabilityForPagingOfNR",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_uERadioCapabilityForPagingOfEUTRA,
{ "uERadioCapabilityForPagingOfEUTRA", "ngap.uERadioCapabilityForPagingOfEUTRA",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nR_01,
{ "nR", "ngap.nR",
FT_BYTES, BASE_NONE, NULL, 0,
"NRUERLFReportContainer", HFILL }},
{ &hf_ngap_lTE,
{ "lTE", "ngap.lTE",
FT_BYTES, BASE_NONE, NULL, 0,
"LTEUERLFReportContainer", HFILL }},
{ &hf_ngap_nRencryptionAlgorithms,
{ "nRencryptionAlgorithms", "ngap.nRencryptionAlgorithms",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nRintegrityProtectionAlgorithms,
{ "nRintegrityProtectionAlgorithms", "ngap.nRintegrityProtectionAlgorithms",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_eUTRAencryptionAlgorithms,
{ "eUTRAencryptionAlgorithms", "ngap.eUTRAencryptionAlgorithms",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_eUTRAintegrityProtectionAlgorithms,
{ "eUTRAintegrityProtectionAlgorithms", "ngap.eUTRAintegrityProtectionAlgorithms",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ul_NAS_MAC,
{ "ul-NAS-MAC", "ngap.ul_NAS_MAC",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_ul_NAS_Count,
{ "ul-NAS-Count", "ngap.ul_NAS_Count",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UL_NGU_UP_TNLModifyList_item,
{ "UL-NGU-UP-TNLModifyItem", "ngap.UL_NGU_UP_TNLModifyItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UnavailableGUAMIList_item,
{ "UnavailableGUAMIItem", "ngap.UnavailableGUAMIItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_timerApproachForGUAMIRemoval,
{ "timerApproachForGUAMIRemoval", "ngap.timerApproachForGUAMIRemoval",
FT_UINT32, BASE_DEC, VALS(ngap_TimerApproachForGUAMIRemoval_vals), 0,
NULL, HFILL }},
{ &hf_ngap_gTPTunnel,
{ "gTPTunnel", "ngap.gTPTunnel_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_UPTransportLayerInformationList_item,
{ "UPTransportLayerInformationItem", "ngap.UPTransportLayerInformationItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nGU_UP_TNLInformation,
{ "nGU-UP-TNLInformation", "ngap.nGU_UP_TNLInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
"UPTransportLayerInformation", HFILL }},
{ &hf_ngap_UPTransportLayerInformationPairList_item,
{ "UPTransportLayerInformationPairItem", "ngap.UPTransportLayerInformationPairItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_userLocationInformationEUTRA,
{ "userLocationInformationEUTRA", "ngap.userLocationInformationEUTRA_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_userLocationInformationNR,
{ "userLocationInformationNR", "ngap.userLocationInformationNR_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_userLocationInformationN3IWF,
{ "userLocationInformationN3IWF", "ngap.userLocationInformationN3IWF_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_timeStamp,
{ "timeStamp", "ngap.timeStamp",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_iPAddress,
{ "iPAddress", "ngap.iPAddress",
FT_BYTES, BASE_NONE, NULL, 0,
"TransportLayerAddress", HFILL }},
{ &hf_ngap_tNAP_ID,
{ "tNAP-ID", "ngap.tNAP_ID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tWAP_ID,
{ "tWAP-ID", "ngap.tWAP_ID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_globalLine_ID,
{ "globalLine-ID", "ngap.globalLine_ID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_hFCNode_ID,
{ "hFCNode-ID", "ngap.hFCNode_ID",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_VolumeTimedReportList_item,
{ "VolumeTimedReport-Item", "ngap.VolumeTimedReport_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_startTimeStamp,
{ "startTimeStamp", "ngap.startTimeStamp",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_endTimeStamp,
{ "endTimeStamp", "ngap.endTimeStamp",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_usageCountUL,
{ "usageCountUL", "ngap.usageCountUL",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_octet_octets, 0,
"INTEGER_0_18446744073709551615", HFILL }},
{ &hf_ngap_usageCountDL,
{ "usageCountDL", "ngap.usageCountDL",
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_octet_octets, 0,
"INTEGER_0_18446744073709551615", HFILL }},
{ &hf_ngap_w_AGF_ID,
{ "w-AGF-ID", "ngap.w_AGF_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_16_", HFILL }},
{ &hf_ngap_eUTRA_CGIListForWarning,
{ "eUTRA-CGIListForWarning", "ngap.eUTRA_CGIListForWarning",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_nR_CGIListForWarning,
{ "nR-CGIListForWarning", "ngap.nR_CGIListForWarning",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_tAIListForWarning,
{ "tAIListForWarning", "ngap.tAIListForWarning",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_emergencyAreaIDList,
{ "emergencyAreaIDList", "ngap.emergencyAreaIDList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_wlanMeasConfig,
{ "wlanMeasConfig", "ngap.wlanMeasConfig",
FT_UINT32, BASE_DEC, VALS(ngap_WLANMeasConfig_vals), 0,
NULL, HFILL }},
{ &hf_ngap_wlanMeasConfigNameList,
{ "wlanMeasConfigNameList", "ngap.wlanMeasConfigNameList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_wlan_rssi,
{ "wlan-rssi", "ngap.wlan_rssi",
FT_UINT32, BASE_DEC, VALS(ngap_T_wlan_rssi_vals), 0,
NULL, HFILL }},
{ &hf_ngap_wlan_rtt,
{ "wlan-rtt", "ngap.wlan_rtt",
FT_UINT32, BASE_DEC, VALS(ngap_T_wlan_rtt_vals), 0,
NULL, HFILL }},
{ &hf_ngap_WLANMeasConfigNameList_item,
{ "WLANMeasConfigNameItem", "ngap.WLANMeasConfigNameItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_wLANName,
{ "wLANName", "ngap.wLANName",
FT_STRING, STR_UNICODE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_pagingProbabilityInformation,
{ "pagingProbabilityInformation", "ngap.pagingProbabilityInformation",
FT_UINT32, BASE_DEC, VALS(ngap_PagingProbabilityInformation_vals), 0,
NULL, HFILL }},
{ &hf_ngap_XnExtTLAs_item,
{ "XnExtTLA-Item", "ngap.XnExtTLA_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_iPsecTLA,
{ "iPsecTLA", "ngap.iPsecTLA",
FT_BYTES, BASE_NONE, NULL, 0,
"TransportLayerAddress", HFILL }},
{ &hf_ngap_gTP_TLAs,
{ "gTP-TLAs", "ngap.gTP_TLAs",
FT_UINT32, BASE_DEC, NULL, 0,
"XnGTP_TLAs", HFILL }},
{ &hf_ngap_XnGTP_TLAs_item,
{ "TransportLayerAddress", "ngap.TransportLayerAddress",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_XnTLAs_item,
{ "TransportLayerAddress", "ngap.TransportLayerAddress",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_xnTransportLayerAddresses,
{ "xnTransportLayerAddresses", "ngap.xnTransportLayerAddresses",
FT_UINT32, BASE_DEC, NULL, 0,
"XnTLAs", HFILL }},
{ &hf_ngap_xnExtendedTransportLayerAddresses,
{ "xnExtendedTransportLayerAddresses", "ngap.xnExtendedTransportLayerAddresses",
FT_UINT32, BASE_DEC, NULL, 0,
"XnExtTLAs", HFILL }},
{ &hf_ngap_privateIEs,
{ "privateIEs", "ngap.privateIEs",
FT_UINT32, BASE_DEC, NULL, 0,
"PrivateIE_Container", HFILL }},
{ &hf_ngap_initiatingMessage,
{ "initiatingMessage", "ngap.initiatingMessage_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_successfulOutcome,
{ "successfulOutcome", "ngap.successfulOutcome_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_unsuccessfulOutcome,
{ "unsuccessfulOutcome", "ngap.unsuccessfulOutcome_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ngap_initiatingMessagevalue,
{ "value", "ngap.value_element",
FT_NONE, BASE_NONE, NULL, 0,
"InitiatingMessage_value", HFILL }},
{ &hf_ngap_successfulOutcome_value,
{ "value", "ngap.value_element",
FT_NONE, BASE_NONE, NULL, 0,
"SuccessfulOutcome_value", HFILL }},
{ &hf_ngap_unsuccessfulOutcome_value,
{ "value", "ngap.value_element",
FT_NONE, BASE_NONE, NULL, 0,
"UnsuccessfulOutcome_value", HFILL }},
/*--- End of included file: packet-ngap-hfarr.c ---*/
#line 1299 "./asn1/ngap/packet-ngap-template.c"
};
/* List of subtrees */
static gint *ett[] = {
&ett_ngap,
&ett_ngap_TransportLayerAddress,
&ett_ngap_DataCodingScheme,
&ett_ngap_SerialNumber,
&ett_ngap_WarningType,
&ett_ngap_WarningMessageContents,
&ett_ngap_PLMNIdentity,
&ett_ngap_NGAP_Message,
&ett_ngap_NGRANTraceID,
&ett_ngap_InterfacesToTrace,
&ett_ngap_SourceToTarget_TransparentContainer,
&ett_ngap_TargetToSource_TransparentContainer,
&ett_ngap_RRCContainer,
&ett_ngap_RATRestrictionInformation,
&ett_ngap_primaryRATRestriction,
&ett_ngap_secondaryRATRestriction,
&ett_ngap_NrencryptionAlgorithms,
&ett_ngap_NrintegrityProtectionAlgorithms,
&ett_ngap_EUTRAencryptionAlgorithms,
&ett_ngap_EUTRAintegrityProtectionAlgorithms,
&ett_ngap_UERadioCapabilityForPagingOfNR,
&ett_ngap_UERadioCapabilityForPagingOfEUTRA,
&ett_ngap_UERadioCapability,
&ett_ngap_LastVisitedEUTRANCellInformation,
&ett_ngap_LastVisitedUTRANCellInformation,
&ett_ngap_LastVisitedGERANCellInformation,
&ett_ngap_NASSecurityParametersFromNGRAN,
&ett_ngap_NASC,
&ett_ngap_NAS_PDU,
&ett_ngap_EN_DCSONConfigurationTransfer,
&ett_ngap_BurstArrivalTime,
&ett_ngap_CoverageEnhancementLevel,
&ett_ngap_MDTModeEutra,
&ett_ngap_MeasurementsToActivate,
&ett_ngap_MDT_Location_Information,
&ett_ngap_NRMobilityHistoryReport,
&ett_ngap_LTEUERLFReportContainer,
&ett_ngap_NRUERLFReportContainer,
&ett_ngap_TargettoSource_Failure_TransparentContainer,
&ett_ngap_UERadioCapabilityForPagingOfNB_IoT,
&ett_ngap_GlobalCable_ID,
&ett_ngap_UpdateFeedback,
/*--- Included file: packet-ngap-ettarr.c ---*/
#line 1 "./asn1/ngap/packet-ngap-ettarr.c"
&ett_ngap_PrivateIE_ID,
&ett_ngap_ProtocolIE_Container,
&ett_ngap_ProtocolIE_Field,
&ett_ngap_ProtocolExtensionContainer,
&ett_ngap_ProtocolExtensionField,
&ett_ngap_PrivateIE_Container,
&ett_ngap_PrivateIE_Field,
&ett_ngap_AdditionalDLUPTNLInformationForHOList,
&ett_ngap_AdditionalDLUPTNLInformationForHOItem,
&ett_ngap_AllocationAndRetentionPriority,
&ett_ngap_Allowed_CAG_List_per_PLMN,
&ett_ngap_AllowedNSSAI,
&ett_ngap_AllowedNSSAI_Item,
&ett_ngap_Allowed_PNI_NPN_List,
&ett_ngap_Allowed_PNI_NPN_Item,
&ett_ngap_AllowedTACs,
&ett_ngap_AlternativeQoSParaSetList,
&ett_ngap_AlternativeQoSParaSetItem,
&ett_ngap_AMFPagingTarget,
&ett_ngap_AMF_TNLAssociationSetupList,
&ett_ngap_AMF_TNLAssociationSetupItem,
&ett_ngap_AMF_TNLAssociationToAddList,
&ett_ngap_AMF_TNLAssociationToAddItem,
&ett_ngap_AMF_TNLAssociationToRemoveList,
&ett_ngap_AMF_TNLAssociationToRemoveItem,
&ett_ngap_AMF_TNLAssociationToUpdateList,
&ett_ngap_AMF_TNLAssociationToUpdateItem,
&ett_ngap_AreaOfInterest,
&ett_ngap_AreaOfInterestCellList,
&ett_ngap_AreaOfInterestCellItem,
&ett_ngap_AreaOfInterestList,
&ett_ngap_AreaOfInterestItem,
&ett_ngap_AreaOfInterestRANNodeList,
&ett_ngap_AreaOfInterestRANNodeItem,
&ett_ngap_AreaOfInterestTAIList,
&ett_ngap_AreaOfInterestTAIItem,
&ett_ngap_AssistanceDataForPaging,
&ett_ngap_AssistanceDataForRecommendedCells,
&ett_ngap_AssociatedQosFlowList,
&ett_ngap_AssociatedQosFlowItem,
&ett_ngap_AreaScopeOfMDT_NR,
&ett_ngap_AreaScopeOfMDT_EUTRA,
&ett_ngap_AreaScopeOfNeighCellsList,
&ett_ngap_AreaScopeOfNeighCellsItem,
&ett_ngap_BroadcastCancelledAreaList,
&ett_ngap_BroadcastCompletedAreaList,
&ett_ngap_BroadcastPLMNList,
&ett_ngap_BroadcastPLMNItem,
&ett_ngap_BluetoothMeasurementConfiguration,
&ett_ngap_BluetoothMeasConfigNameList,
&ett_ngap_BluetoothMeasConfigNameItem,
&ett_ngap_CancelledCellsInEAI_EUTRA,
&ett_ngap_CancelledCellsInEAI_EUTRA_Item,
&ett_ngap_CancelledCellsInEAI_NR,
&ett_ngap_CancelledCellsInEAI_NR_Item,
&ett_ngap_CancelledCellsInTAI_EUTRA,
&ett_ngap_CancelledCellsInTAI_EUTRA_Item,
&ett_ngap_CancelledCellsInTAI_NR,
&ett_ngap_CancelledCellsInTAI_NR_Item,
&ett_ngap_CandidateCellList,
&ett_ngap_CandidateCellItem,
&ett_ngap_CandidateCell,
&ett_ngap_CandidateCellID,
&ett_ngap_CandidatePCI,
&ett_ngap_Cause,
&ett_ngap_Cell_CAGInformation,
&ett_ngap_CellCAGList,
&ett_ngap_CellIDBroadcastEUTRA,
&ett_ngap_CellIDBroadcastEUTRA_Item,
&ett_ngap_CellIDBroadcastNR,
&ett_ngap_CellIDBroadcastNR_Item,
&ett_ngap_CellIDCancelledEUTRA,
&ett_ngap_CellIDCancelledEUTRA_Item,
&ett_ngap_CellIDCancelledNR,
&ett_ngap_CellIDCancelledNR_Item,
&ett_ngap_CellIDListForRestart,
&ett_ngap_CellType,
&ett_ngap_CNAssistedRANTuning,
&ett_ngap_CNTypeRestrictionsForEquivalent,
&ett_ngap_CNTypeRestrictionsForEquivalentItem,
&ett_ngap_CompletedCellsInEAI_EUTRA,
&ett_ngap_CompletedCellsInEAI_EUTRA_Item,
&ett_ngap_CompletedCellsInEAI_NR,
&ett_ngap_CompletedCellsInEAI_NR_Item,
&ett_ngap_CompletedCellsInTAI_EUTRA,
&ett_ngap_CompletedCellsInTAI_EUTRA_Item,
&ett_ngap_CompletedCellsInTAI_NR,
&ett_ngap_CompletedCellsInTAI_NR_Item,
&ett_ngap_CoreNetworkAssistanceInformationForInactive,
&ett_ngap_COUNTValueForPDCP_SN12,
&ett_ngap_COUNTValueForPDCP_SN18,
&ett_ngap_CPTransportLayerInformation,
&ett_ngap_CriticalityDiagnostics,
&ett_ngap_CriticalityDiagnostics_IE_List,
&ett_ngap_CriticalityDiagnostics_IE_Item,
&ett_ngap_CellBasedMDT_NR,
&ett_ngap_CellIdListforMDT_NR,
&ett_ngap_CellBasedMDT_EUTRA,
&ett_ngap_CellIdListforMDT_EUTRA,
&ett_ngap_DataForwardingResponseDRBList,
&ett_ngap_DataForwardingResponseDRBItem,
&ett_ngap_DAPSRequestInfo,
&ett_ngap_DAPSResponseInfoList,
&ett_ngap_DAPSResponseInfoItem,
&ett_ngap_DAPSResponseInfo,
&ett_ngap_DataForwardingResponseERABList,
&ett_ngap_DataForwardingResponseERABListItem,
&ett_ngap_DL_CP_SecurityInformation,
&ett_ngap_DRBsSubjectToStatusTransferList,
&ett_ngap_DRBsSubjectToStatusTransferItem,
&ett_ngap_DRBStatusDL,
&ett_ngap_DRBStatusDL12,
&ett_ngap_DRBStatusDL18,
&ett_ngap_DRBStatusUL,
&ett_ngap_DRBStatusUL12,
&ett_ngap_DRBStatusUL18,
&ett_ngap_DRBsToQosFlowsMappingList,
&ett_ngap_DRBsToQosFlowsMappingItem,
&ett_ngap_Dynamic5QIDescriptor,
&ett_ngap_EarlyStatusTransfer_TransparentContainer,
&ett_ngap_ProcedureStageChoice,
&ett_ngap_FirstDLCount,
&ett_ngap_DRBsSubjectToEarlyStatusTransfer_List,
&ett_ngap_DRBsSubjectToEarlyStatusTransfer_Item,
&ett_ngap_EmergencyAreaIDBroadcastEUTRA,
&ett_ngap_EmergencyAreaIDBroadcastEUTRA_Item,
&ett_ngap_EmergencyAreaIDBroadcastNR,
&ett_ngap_EmergencyAreaIDBroadcastNR_Item,
&ett_ngap_EmergencyAreaIDCancelledEUTRA,
&ett_ngap_EmergencyAreaIDCancelledEUTRA_Item,
&ett_ngap_EmergencyAreaIDCancelledNR,
&ett_ngap_EmergencyAreaIDCancelledNR_Item,
&ett_ngap_EmergencyAreaIDList,
&ett_ngap_EmergencyAreaIDListForRestart,
&ett_ngap_EmergencyFallbackIndicator,
&ett_ngap_ENB_ID,
&ett_ngap_EndpointIPAddressAndPort,
&ett_ngap_EquivalentPLMNs,
&ett_ngap_EPS_TAI,
&ett_ngap_E_RABInformationList,
&ett_ngap_E_RABInformationItem,
&ett_ngap_EUTRA_CGI,
&ett_ngap_EUTRA_CGIList,
&ett_ngap_EUTRA_CGIListForWarning,
&ett_ngap_ExpectedUEActivityBehaviour,
&ett_ngap_ExpectedUEBehaviour,
&ett_ngap_ExpectedUEMovingTrajectory,
&ett_ngap_ExpectedUEMovingTrajectoryItem,
&ett_ngap_Extended_AMFName,
&ett_ngap_Extended_RANNodeName,
&ett_ngap_ExtendedRATRestrictionInformation,
&ett_ngap_ExtendedSliceSupportList,
&ett_ngap_EventTrigger,
&ett_ngap_EventL1LoggedMDTConfig,
&ett_ngap_MeasurementThresholdL1LoggedMDT,
&ett_ngap_FailureIndication,
&ett_ngap_FiveG_S_TMSI,
&ett_ngap_ForbiddenAreaInformation,
&ett_ngap_ForbiddenAreaInformation_Item,
&ett_ngap_ForbiddenTACs,
&ett_ngap_FromEUTRANtoNGRAN,
&ett_ngap_FromNGRANtoEUTRAN,
&ett_ngap_GBR_QosInformation,
&ett_ngap_GlobalENB_ID,
&ett_ngap_GlobalGNB_ID,
&ett_ngap_GlobalN3IWF_ID,
&ett_ngap_GlobalLine_ID,
&ett_ngap_GlobalNgENB_ID,
&ett_ngap_GlobalRANNodeID,
&ett_ngap_GlobalTNGF_ID,
&ett_ngap_GlobalTWIF_ID,
&ett_ngap_GlobalW_AGF_ID,
&ett_ngap_GNB_ID,
&ett_ngap_GTPTunnel,
&ett_ngap_GUAMI,
&ett_ngap_HandoverCommandTransfer,
&ett_ngap_HandoverPreparationUnsuccessfulTransfer,
&ett_ngap_HandoverRequestAcknowledgeTransfer,
&ett_ngap_HandoverRequiredTransfer,
&ett_ngap_HandoverResourceAllocationUnsuccessfulTransfer,
&ett_ngap_HOReport,
&ett_ngap_InfoOnRecommendedCellsAndRANNodesForPaging,
&ett_ngap_ImmediateMDTNr,
&ett_ngap_InterSystemFailureIndication,
&ett_ngap_IntersystemSONConfigurationTransfer,
&ett_ngap_IntersystemSONTransferType,
&ett_ngap_IntersystemSONeNBID,
&ett_ngap_IntersystemSONNGRANnodeID,
&ett_ngap_IntersystemSONInformation,
&ett_ngap_IntersystemSONInformationReport,
&ett_ngap_InterSystemHOReport,
&ett_ngap_InterSystemHandoverReportType,
&ett_ngap_IntersystemUnnecessaryHO,
&ett_ngap_LAI,
&ett_ngap_LastVisitedCellInformation,
&ett_ngap_LastVisitedCellItem,
&ett_ngap_LastVisitedNGRANCellInformation,
&ett_ngap_LocationReportingRequestType,
&ett_ngap_LoggedMDTNr,
&ett_ngap_LoggedMDTTrigger,
&ett_ngap_LTEV2XServicesAuthorized,
&ett_ngap_LTEUESidelinkAggregateMaximumBitrate,
&ett_ngap_MobilityRestrictionList,
&ett_ngap_MDTPLMNList,
&ett_ngap_MDT_Configuration,
&ett_ngap_MDT_Configuration_NR,
&ett_ngap_MDT_Configuration_EUTRA,
&ett_ngap_MDTModeNr,
&ett_ngap_M1Configuration,
&ett_ngap_M1ThresholdEventA2,
&ett_ngap_M1ThresholdType,
&ett_ngap_M1PeriodicReporting,
&ett_ngap_M4Configuration,
&ett_ngap_M5Configuration,
&ett_ngap_M6Configuration,
&ett_ngap_M7Configuration,
&ett_ngap_MDT_Location_Info,
&ett_ngap_N3IWF_ID,
&ett_ngap_NB_IoT_Paging_eDRXInfo,
&ett_ngap_NgENB_ID,
&ett_ngap_NGRAN_CGI,
&ett_ngap_NGRAN_TNLAssociationToRemoveList,
&ett_ngap_NGRAN_TNLAssociationToRemoveItem,
&ett_ngap_NonDynamic5QIDescriptor,
&ett_ngap_NotAllowedTACs,
&ett_ngap_NPN_AccessInformation,
&ett_ngap_NPN_MobilityInformation,
&ett_ngap_NPN_PagingAssistanceInformation,
&ett_ngap_NPN_Support,
&ett_ngap_NR_CGI,
&ett_ngap_NR_CGIList,
&ett_ngap_NR_CGIListForWarning,
&ett_ngap_NRFrequencyBand_List,
&ett_ngap_NRFrequencyBandItem,
&ett_ngap_NRFrequencyInfo,
&ett_ngap_NRV2XServicesAuthorized,
&ett_ngap_NRUESidelinkAggregateMaximumBitrate,
&ett_ngap_OverloadResponse,
&ett_ngap_OverloadStartNSSAIList,
&ett_ngap_OverloadStartNSSAIItem,
&ett_ngap_PacketErrorRate,
&ett_ngap_PagingAssisDataforCEcapabUE,
&ett_ngap_PagingAttemptInformation,
&ett_ngap_PagingeDRXInformation,
&ett_ngap_PathSwitchRequestAcknowledgeTransfer,
&ett_ngap_PathSwitchRequestSetupFailedTransfer,
&ett_ngap_PathSwitchRequestTransfer,
&ett_ngap_PathSwitchRequestUnsuccessfulTransfer,
&ett_ngap_PC5QoSParameters,
&ett_ngap_PC5QoSFlowList,
&ett_ngap_PC5QoSFlowItem,
&ett_ngap_PC5FlowBitRates,
&ett_ngap_PCIListForMDT,
&ett_ngap_PDUSessionAggregateMaximumBitRate,
&ett_ngap_PDUSessionResourceAdmittedList,
&ett_ngap_PDUSessionResourceAdmittedItem,
&ett_ngap_PDUSessionResourceFailedToModifyListModCfm,
&ett_ngap_PDUSessionResourceFailedToModifyItemModCfm,
&ett_ngap_PDUSessionResourceFailedToModifyListModRes,
&ett_ngap_PDUSessionResourceFailedToModifyItemModRes,
&ett_ngap_PDUSessionResourceFailedToResumeListRESReq,
&ett_ngap_PDUSessionResourceFailedToResumeItemRESReq,
&ett_ngap_PDUSessionResourceFailedToResumeListRESRes,
&ett_ngap_PDUSessionResourceFailedToResumeItemRESRes,
&ett_ngap_PDUSessionResourceFailedToSetupListCxtFail,
&ett_ngap_PDUSessionResourceFailedToSetupItemCxtFail,
&ett_ngap_PDUSessionResourceFailedToSetupListCxtRes,
&ett_ngap_PDUSessionResourceFailedToSetupItemCxtRes,
&ett_ngap_PDUSessionResourceFailedToSetupListHOAck,
&ett_ngap_PDUSessionResourceFailedToSetupItemHOAck,
&ett_ngap_PDUSessionResourceFailedToSetupListPSReq,
&ett_ngap_PDUSessionResourceFailedToSetupItemPSReq,
&ett_ngap_PDUSessionResourceFailedToSetupListSURes,
&ett_ngap_PDUSessionResourceFailedToSetupItemSURes,
&ett_ngap_PDUSessionResourceHandoverList,
&ett_ngap_PDUSessionResourceHandoverItem,
&ett_ngap_PDUSessionResourceInformationList,
&ett_ngap_PDUSessionResourceInformationItem,
&ett_ngap_PDUSessionResourceListCxtRelCpl,
&ett_ngap_PDUSessionResourceItemCxtRelCpl,
&ett_ngap_PDUSessionResourceListCxtRelReq,
&ett_ngap_PDUSessionResourceItemCxtRelReq,
&ett_ngap_PDUSessionResourceListHORqd,
&ett_ngap_PDUSessionResourceItemHORqd,
&ett_ngap_PDUSessionResourceModifyConfirmTransfer,
&ett_ngap_PDUSessionResourceModifyIndicationUnsuccessfulTransfer,
&ett_ngap_PDUSessionResourceModifyRequestTransfer,
&ett_ngap_PDUSessionResourceModifyResponseTransfer,
&ett_ngap_PDUSessionResourceModifyIndicationTransfer,
&ett_ngap_PDUSessionResourceModifyListModCfm,
&ett_ngap_PDUSessionResourceModifyItemModCfm,
&ett_ngap_PDUSessionResourceModifyListModInd,
&ett_ngap_PDUSessionResourceModifyItemModInd,
&ett_ngap_PDUSessionResourceModifyListModReq,
&ett_ngap_PDUSessionResourceModifyItemModReq,
&ett_ngap_PDUSessionResourceModifyListModRes,
&ett_ngap_PDUSessionResourceModifyItemModRes,
&ett_ngap_PDUSessionResourceModifyUnsuccessfulTransfer,
&ett_ngap_PDUSessionResourceNotifyList,
&ett_ngap_PDUSessionResourceNotifyItem,
&ett_ngap_PDUSessionResourceNotifyReleasedTransfer,
&ett_ngap_PDUSessionResourceNotifyTransfer,
&ett_ngap_PDUSessionResourceReleaseCommandTransfer,
&ett_ngap_PDUSessionResourceReleasedListNot,
&ett_ngap_PDUSessionResourceReleasedItemNot,
&ett_ngap_PDUSessionResourceReleasedListPSAck,
&ett_ngap_PDUSessionResourceReleasedItemPSAck,
&ett_ngap_PDUSessionResourceReleasedListPSFail,
&ett_ngap_PDUSessionResourceReleasedItemPSFail,
&ett_ngap_PDUSessionResourceReleasedListRelRes,
&ett_ngap_PDUSessionResourceReleasedItemRelRes,
&ett_ngap_PDUSessionResourceReleaseResponseTransfer,
&ett_ngap_PDUSessionResourceResumeListRESReq,
&ett_ngap_PDUSessionResourceResumeItemRESReq,
&ett_ngap_PDUSessionResourceResumeListRESRes,
&ett_ngap_PDUSessionResourceResumeItemRESRes,
&ett_ngap_PDUSessionResourceSecondaryRATUsageList,
&ett_ngap_PDUSessionResourceSecondaryRATUsageItem,
&ett_ngap_PDUSessionResourceSetupListCxtReq,
&ett_ngap_PDUSessionResourceSetupItemCxtReq,
&ett_ngap_PDUSessionResourceSetupListCxtRes,
&ett_ngap_PDUSessionResourceSetupItemCxtRes,
&ett_ngap_PDUSessionResourceSetupListHOReq,
&ett_ngap_PDUSessionResourceSetupItemHOReq,
&ett_ngap_PDUSessionResourceSetupListSUReq,
&ett_ngap_PDUSessionResourceSetupItemSUReq,
&ett_ngap_PDUSessionResourceSetupListSURes,
&ett_ngap_PDUSessionResourceSetupItemSURes,
&ett_ngap_PDUSessionResourceSetupRequestTransfer,
&ett_ngap_PDUSessionResourceSetupResponseTransfer,
&ett_ngap_PDUSessionResourceSetupUnsuccessfulTransfer,
&ett_ngap_PDUSessionResourceSuspendListSUSReq,
&ett_ngap_PDUSessionResourceSuspendItemSUSReq,
&ett_ngap_PDUSessionResourceSwitchedList,
&ett_ngap_PDUSessionResourceSwitchedItem,
&ett_ngap_PDUSessionResourceToBeSwitchedDLList,
&ett_ngap_PDUSessionResourceToBeSwitchedDLItem,
&ett_ngap_PDUSessionResourceToReleaseListHOCmd,
&ett_ngap_PDUSessionResourceToReleaseItemHOCmd,
&ett_ngap_PDUSessionResourceToReleaseListRelCmd,
&ett_ngap_PDUSessionResourceToReleaseItemRelCmd,
&ett_ngap_PDUSessionUsageReport,
&ett_ngap_PLMNSupportList,
&ett_ngap_PLMNSupportItem,
&ett_ngap_PNI_NPN_MobilityInformation,
&ett_ngap_PWSFailedCellIDList,
&ett_ngap_QosCharacteristics,
&ett_ngap_QosFlowAcceptedList,
&ett_ngap_QosFlowAcceptedItem,
&ett_ngap_QosFlowAddOrModifyRequestList,
&ett_ngap_QosFlowAddOrModifyRequestItem,
&ett_ngap_QosFlowAddOrModifyResponseList,
&ett_ngap_QosFlowAddOrModifyResponseItem,
&ett_ngap_QosFlowFeedbackList,
&ett_ngap_QosFlowFeedbackItem,
&ett_ngap_QosFlowInformationList,
&ett_ngap_QosFlowInformationItem,
&ett_ngap_QosFlowLevelQosParameters,
&ett_ngap_QosFlowListWithCause,
&ett_ngap_QosFlowWithCauseItem,
&ett_ngap_QosFlowModifyConfirmList,
&ett_ngap_QosFlowModifyConfirmItem,
&ett_ngap_QosFlowNotifyList,
&ett_ngap_QosFlowNotifyItem,
&ett_ngap_QosFlowParametersList,
&ett_ngap_QosFlowParametersItem,
&ett_ngap_QosFlowPerTNLInformation,
&ett_ngap_QosFlowPerTNLInformationList,
&ett_ngap_QosFlowPerTNLInformationItem,
&ett_ngap_QosFlowSetupRequestList,
&ett_ngap_QosFlowSetupRequestItem,
&ett_ngap_QosFlowListWithDataForwarding,
&ett_ngap_QosFlowItemWithDataForwarding,
&ett_ngap_QosFlowToBeForwardedList,
&ett_ngap_QosFlowToBeForwardedItem,
&ett_ngap_QoSFlowsUsageReportList,
&ett_ngap_QoSFlowsUsageReport_Item,
&ett_ngap_RANStatusTransfer_TransparentContainer,
&ett_ngap_RATRestrictions,
&ett_ngap_RATRestrictions_Item,
&ett_ngap_RecommendedCellsForPaging,
&ett_ngap_RecommendedCellList,
&ett_ngap_RecommendedCellItem,
&ett_ngap_RecommendedRANNodesForPaging,
&ett_ngap_RecommendedRANNodeList,
&ett_ngap_RecommendedRANNodeItem,
&ett_ngap_RedundantPDUSessionInformation,
&ett_ngap_ResetType,
&ett_ngap_RIMInformationTransfer,
&ett_ngap_RIMInformation,
&ett_ngap_ScheduledCommunicationTime,
&ett_ngap_SCTP_TLAs,
&ett_ngap_SecondaryRATUsageInformation,
&ett_ngap_SecondaryRATDataUsageReportTransfer,
&ett_ngap_SecurityContext,
&ett_ngap_SecurityIndication,
&ett_ngap_SecurityResult,
&ett_ngap_SensorMeasurementConfiguration,
&ett_ngap_SensorMeasConfigNameList,
&ett_ngap_SensorMeasConfigNameItem,
&ett_ngap_SensorNameConfig,
&ett_ngap_ServedGUAMIList,
&ett_ngap_ServedGUAMIItem,
&ett_ngap_ServiceAreaInformation,
&ett_ngap_ServiceAreaInformation_Item,
&ett_ngap_SliceOverloadList,
&ett_ngap_SliceOverloadItem,
&ett_ngap_SliceSupportList,
&ett_ngap_SliceSupportItem,
&ett_ngap_SNPN_MobilityInformation,
&ett_ngap_S_NSSAI,
&ett_ngap_SONConfigurationTransfer,
&ett_ngap_SONInformation,
&ett_ngap_SONInformationReply,
&ett_ngap_SONInformationReport,
&ett_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer,
&ett_ngap_SourceRANNodeID,
&ett_ngap_SourceToTarget_AMFInformationReroute,
&ett_ngap_SupportedTAList,
&ett_ngap_SupportedTAItem,
&ett_ngap_TAI,
&ett_ngap_TAIBroadcastEUTRA,
&ett_ngap_TAIBroadcastEUTRA_Item,
&ett_ngap_TAIBroadcastNR,
&ett_ngap_TAIBroadcastNR_Item,
&ett_ngap_TAICancelledEUTRA,
&ett_ngap_TAICancelledEUTRA_Item,
&ett_ngap_TAICancelledNR,
&ett_ngap_TAICancelledNR_Item,
&ett_ngap_TAIListForInactive,
&ett_ngap_TAIListForInactiveItem,
&ett_ngap_TAIListForPaging,
&ett_ngap_TAIListForPagingItem,
&ett_ngap_TAIListForRestart,
&ett_ngap_TAIListForWarning,
&ett_ngap_TargeteNB_ID,
&ett_ngap_TargetID,
&ett_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer,
&ett_ngap_TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer,
&ett_ngap_TargetRANNodeID,
&ett_ngap_TargetRNC_ID,
&ett_ngap_TNGF_ID,
&ett_ngap_TNLAssociationList,
&ett_ngap_TNLAssociationItem,
&ett_ngap_TooearlyIntersystemHO,
&ett_ngap_TraceActivation,
&ett_ngap_TAIBasedMDT,
&ett_ngap_TAIListforMDT,
&ett_ngap_TABasedMDT,
&ett_ngap_TAListforMDT,
&ett_ngap_TWIF_ID,
&ett_ngap_TSCAssistanceInformation,
&ett_ngap_TSCTrafficCharacteristics,
&ett_ngap_UEAggregateMaximumBitRate,
&ett_ngap_UE_associatedLogicalNG_connectionList,
&ett_ngap_UE_associatedLogicalNG_connectionItem,
&ett_ngap_UEContextResumeRequestTransfer,
&ett_ngap_UEContextResumeResponseTransfer,
&ett_ngap_UEContextSuspendRequestTransfer,
&ett_ngap_UE_DifferentiationInfo,
&ett_ngap_UEHistoryInformation,
&ett_ngap_UEHistoryInformationFromTheUE,
&ett_ngap_UEIdentityIndexValue,
&ett_ngap_UE_NGAP_IDs,
&ett_ngap_UE_NGAP_ID_pair,
&ett_ngap_UEPagingIdentity,
&ett_ngap_UEPresenceInAreaOfInterestList,
&ett_ngap_UEPresenceInAreaOfInterestItem,
&ett_ngap_UERadioCapabilityForPaging,
&ett_ngap_UERLFReportContainer,
&ett_ngap_UESecurityCapabilities,
&ett_ngap_UL_CP_SecurityInformation,
&ett_ngap_UL_NGU_UP_TNLModifyList,
&ett_ngap_UL_NGU_UP_TNLModifyItem,
&ett_ngap_UnavailableGUAMIList,
&ett_ngap_UnavailableGUAMIItem,
&ett_ngap_UPTransportLayerInformation,
&ett_ngap_UPTransportLayerInformationList,
&ett_ngap_UPTransportLayerInformationItem,
&ett_ngap_UPTransportLayerInformationPairList,
&ett_ngap_UPTransportLayerInformationPairItem,
&ett_ngap_UserLocationInformation,
&ett_ngap_UserLocationInformationEUTRA,
&ett_ngap_UserLocationInformationN3IWF,
&ett_ngap_UserLocationInformationTNGF,
&ett_ngap_UserLocationInformationTWIF,
&ett_ngap_UserLocationInformationW_AGF,
&ett_ngap_UserLocationInformationNR,
&ett_ngap_UserPlaneSecurityInformation,
&ett_ngap_VolumeTimedReportList,
&ett_ngap_VolumeTimedReport_Item,
&ett_ngap_W_AGF_ID,
&ett_ngap_WarningAreaList,
&ett_ngap_WLANMeasurementConfiguration,
&ett_ngap_WLANMeasConfigNameList,
&ett_ngap_WLANMeasConfigNameItem,
&ett_ngap_WUS_Assistance_Information,
&ett_ngap_XnExtTLAs,
&ett_ngap_XnExtTLA_Item,
&ett_ngap_XnGTP_TLAs,
&ett_ngap_XnTLAs,
&ett_ngap_XnTNLConfigurationInfo,
&ett_ngap_PDUSessionResourceSetupRequest,
&ett_ngap_PDUSessionResourceSetupResponse,
&ett_ngap_PDUSessionResourceReleaseCommand,
&ett_ngap_PDUSessionResourceReleaseResponse,
&ett_ngap_PDUSessionResourceModifyRequest,
&ett_ngap_PDUSessionResourceModifyResponse,
&ett_ngap_PDUSessionResourceNotify,
&ett_ngap_PDUSessionResourceModifyIndication,
&ett_ngap_PDUSessionResourceModifyConfirm,
&ett_ngap_InitialContextSetupRequest,
&ett_ngap_InitialContextSetupResponse,
&ett_ngap_InitialContextSetupFailure,
&ett_ngap_UEContextReleaseRequest,
&ett_ngap_UEContextReleaseCommand,
&ett_ngap_UEContextReleaseComplete,
&ett_ngap_UEContextResumeRequest,
&ett_ngap_UEContextResumeResponse,
&ett_ngap_UEContextResumeFailure,
&ett_ngap_UEContextSuspendRequest,
&ett_ngap_UEContextSuspendResponse,
&ett_ngap_UEContextSuspendFailure,
&ett_ngap_UEContextModificationRequest,
&ett_ngap_UEContextModificationResponse,
&ett_ngap_UEContextModificationFailure,
&ett_ngap_RRCInactiveTransitionReport,
&ett_ngap_RetrieveUEInformation,
&ett_ngap_UEInformationTransfer,
&ett_ngap_RANCPRelocationIndication,
&ett_ngap_HandoverRequired,
&ett_ngap_HandoverCommand,
&ett_ngap_HandoverPreparationFailure,
&ett_ngap_HandoverRequest,
&ett_ngap_HandoverRequestAcknowledge,
&ett_ngap_HandoverFailure,
&ett_ngap_HandoverNotify,
&ett_ngap_PathSwitchRequest,
&ett_ngap_PathSwitchRequestAcknowledge,
&ett_ngap_PathSwitchRequestFailure,
&ett_ngap_HandoverCancel,
&ett_ngap_HandoverCancelAcknowledge,
&ett_ngap_HandoverSuccess,
&ett_ngap_UplinkRANEarlyStatusTransfer,
&ett_ngap_DownlinkRANEarlyStatusTransfer,
&ett_ngap_UplinkRANStatusTransfer,
&ett_ngap_DownlinkRANStatusTransfer,
&ett_ngap_Paging,
&ett_ngap_InitialUEMessage,
&ett_ngap_DownlinkNASTransport,
&ett_ngap_UplinkNASTransport,
&ett_ngap_NASNonDeliveryIndication,
&ett_ngap_RerouteNASRequest,
&ett_ngap_NGSetupRequest,
&ett_ngap_NGSetupResponse,
&ett_ngap_NGSetupFailure,
&ett_ngap_RANConfigurationUpdate,
&ett_ngap_RANConfigurationUpdateAcknowledge,
&ett_ngap_RANConfigurationUpdateFailure,
&ett_ngap_AMFConfigurationUpdate,
&ett_ngap_AMFConfigurationUpdateAcknowledge,
&ett_ngap_AMFConfigurationUpdateFailure,
&ett_ngap_AMFStatusIndication,
&ett_ngap_NGReset,
&ett_ngap_NGResetAcknowledge,
&ett_ngap_ErrorIndication,
&ett_ngap_OverloadStart,
&ett_ngap_OverloadStop,
&ett_ngap_UplinkRANConfigurationTransfer,
&ett_ngap_DownlinkRANConfigurationTransfer,
&ett_ngap_WriteReplaceWarningRequest,
&ett_ngap_WriteReplaceWarningResponse,
&ett_ngap_PWSCancelRequest,
&ett_ngap_PWSCancelResponse,
&ett_ngap_PWSRestartIndication,
&ett_ngap_PWSFailureIndication,
&ett_ngap_DownlinkUEAssociatedNRPPaTransport,
&ett_ngap_UplinkUEAssociatedNRPPaTransport,
&ett_ngap_DownlinkNonUEAssociatedNRPPaTransport,
&ett_ngap_UplinkNonUEAssociatedNRPPaTransport,
&ett_ngap_TraceStart,
&ett_ngap_TraceFailureIndication,
&ett_ngap_DeactivateTrace,
&ett_ngap_CellTrafficTrace,
&ett_ngap_LocationReportingControl,
&ett_ngap_LocationReportingFailureIndication,
&ett_ngap_LocationReport,
&ett_ngap_UETNLABindingReleaseRequest,
&ett_ngap_UERadioCapabilityInfoIndication,
&ett_ngap_UERadioCapabilityCheckRequest,
&ett_ngap_UERadioCapabilityCheckResponse,
&ett_ngap_PrivateMessage,
&ett_ngap_SecondaryRATDataUsageReport,
&ett_ngap_UplinkRIMInformationTransfer,
&ett_ngap_DownlinkRIMInformationTransfer,
&ett_ngap_ConnectionEstablishmentIndication,
&ett_ngap_UERadioCapabilityIDMappingRequest,
&ett_ngap_UERadioCapabilityIDMappingResponse,
&ett_ngap_AMFCPRelocationIndication,
&ett_ngap_NGAP_PDU,
&ett_ngap_InitiatingMessage,
&ett_ngap_SuccessfulOutcome,
&ett_ngap_UnsuccessfulOutcome,
/*--- End of included file: packet-ngap-ettarr.c ---*/
#line 1346 "./asn1/ngap/packet-ngap-template.c"
};
static ei_register_info ei[] = {
{ &ei_ngap_number_pages_le15, { "ngap.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }}
};
module_t *ngap_module;
expert_module_t* expert_ngap;
/* Register protocol */
proto_ngap = proto_register_protocol(PNAME, PSNAME, PFNAME);
/* Register fields and subtrees */
proto_register_field_array(proto_ngap, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_ngap = expert_register_protocol(proto_ngap);
expert_register_field_array(expert_ngap, ei, array_length(ei));
/* Register dissector */
ngap_handle = register_dissector("ngap", dissect_ngap, proto_ngap);
ngap_media_type_handle = register_dissector("ngap_media_type", dissect_ngap_media_type, proto_ngap);
/* Register dissector tables */
ngap_ies_dissector_table = register_dissector_table("ngap.ies", "NGAP-PROTOCOL-IES", proto_ngap, FT_UINT32, BASE_DEC);
ngap_ies_p1_dissector_table = register_dissector_table("ngap.ies.pair.first", "NGAP-PROTOCOL-IES-PAIR FirstValue", proto_ngap, FT_UINT32, BASE_DEC);
ngap_ies_p2_dissector_table = register_dissector_table("ngap.ies.pair.second", "NGAP-PROTOCOL-IES-PAIR SecondValue", proto_ngap, FT_UINT32, BASE_DEC);
ngap_extension_dissector_table = register_dissector_table("ngap.extension", "NGAP-PROTOCOL-EXTENSION", proto_ngap, FT_UINT32, BASE_DEC);
ngap_proc_imsg_dissector_table = register_dissector_table("ngap.proc.imsg", "NGAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_ngap, FT_UINT32, BASE_DEC);
ngap_proc_sout_dissector_table = register_dissector_table("ngap.proc.sout", "NGAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_ngap, FT_UINT32, BASE_DEC);
ngap_proc_uout_dissector_table = register_dissector_table("ngap.proc.uout", "NGAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_ngap, FT_UINT32, BASE_DEC);
ngap_n2_ie_type_dissector_table = register_dissector_table("ngap.n2_ie_type", "NGAP N2 IE Type", proto_ngap, FT_STRING, FALSE);
/* Register configuration options for ports */
ngap_module = prefs_register_protocol(proto_ngap, proto_reg_handoff_ngap);
prefs_register_uint_preference(ngap_module, "sctp.port",
"NGAP SCTP Port",
"Set the SCTP port for NGAP messages",
10,
&gbl_ngapSctpPort);
prefs_register_bool_preference(ngap_module, "dissect_container",
"Dissect TransparentContainer",
"Dissect TransparentContainers that are opaque to NGAP",
&ngap_dissect_container);
prefs_register_enum_preference(ngap_module, "dissect_target_ng_ran_container_as",
"Dissect target NG-RAN container as",
"Select whether target NG-RAN container should be decoded automatically"
" (based on NG Setup procedure) or manually",
&ngap_dissect_target_ng_ran_container_as, ngap_target_ng_ran_container_vals, FALSE);
prefs_register_enum_preference(ngap_module, "dissect_lte_container_as", "Dissect LTE container as",
"Select whether LTE container should be dissected as NB-IOT or legacy LTE",
&ngap_dissect_lte_container_as, ngap_lte_container_vals, FALSE);
ngap_tap = register_tap("ngap");
}
/*
* Editor modelines
*
* Local Variables:
* c-basic-offset: 2
* tab-width: 8
* indent-tabs-mode: nil
* End:
*
* ex: set shiftwidth=2 tabstop=8 expandtab:
* :indentSize=2:tabSize=8:noTabs=true:
*/