9604 lines
422 KiB
C
9604 lines
422 KiB
C
/* Do not modify this file. Changes will be overwritten. */
|
|
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
|
|
/* packet-xnap.c */
|
|
/* asn2wrs.py -p xnap -c ./xnap.cnf -s ./packet-xnap-template -D . -O ../.. XnAP-CommonDataTypes.asn XnAP-Constants.asn XnAP-Containers.asn XnAP-IEs.asn XnAP-PDU-Contents.asn XnAP-PDU-Descriptions.asn */
|
|
|
|
/* Input file: packet-xnap-template.c */
|
|
|
|
#line 1 "./asn1/xnap/packet-xnap-template.c"
|
|
/* packet-xnap.c
|
|
* Routines for dissecting NG-RAN Xn application protocol (XnAP)
|
|
* 3GPP TS 38.423 packet dissection
|
|
* Copyright 2018, Pascal Quantin <pascal.quantin@gmail.com>
|
|
*
|
|
* Wireshark - Network traffic analyzer
|
|
* By Gerald Combs <gerald@wireshark.org>
|
|
* Copyright 1998 Gerald Combs
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*
|
|
* Ref:
|
|
* 3GPP TS 38.423 V15.0.0 (2018-06)
|
|
*/
|
|
|
|
#include "config.h"
|
|
|
|
#include <epan/packet.h>
|
|
#include <epan/asn1.h>
|
|
#include <epan/prefs.h>
|
|
#include <epan/sctpppids.h>
|
|
#include <epan/proto_data.h>
|
|
#include <epan/conversation.h>
|
|
|
|
#include "packet-per.h"
|
|
#include "packet-lte-rrc.h"
|
|
#include "packet-nr-rrc.h"
|
|
#include "packet-e212.h"
|
|
|
|
#ifdef _MSC_VER
|
|
/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
|
|
#pragma warning(disable:4146)
|
|
#endif
|
|
|
|
#define PNAME "NG-RAN Xn Application Protocol (XnAP)"
|
|
#define PSNAME "XnAP"
|
|
#define PFNAME "xnap"
|
|
|
|
/* Dissector will use SCTP PPID 61 or SCTP port. IANA assigned port = 38422 */
|
|
#define SCTP_PORT_XnAP 38422
|
|
|
|
|
|
/*--- Included file: packet-xnap-val.h ---*/
|
|
#line 1 "./asn1/xnap/packet-xnap-val.h"
|
|
#define maxPrivateIEs 65535
|
|
#define maxProtocolExtensions 65535
|
|
#define maxProtocolIEs 65535
|
|
#define maxEARFCN 262143
|
|
#define maxnoofAllowedAreas 16
|
|
#define maxnoofAoIs 64
|
|
#define maxnoofBPLMNs 6
|
|
#define maxnoofCellsinAoI 256
|
|
#define maxnoofCellsinNGRANnode 16384
|
|
#define maxnoofCellsinRNA 32
|
|
#define maxnoofDRBs 32
|
|
#define maxnoofEUTRABands 16
|
|
#define maxnoofEPLMNs 15
|
|
#define maxnoofForbiddenTACs 4096
|
|
#define maxnoofMBSFNEUTRA 8
|
|
#define maxnoofNeighbours 1024
|
|
#define maxnoofNRCellBands 32
|
|
#define maxnoofPLMNs 16
|
|
#define maxnoofPDUSessions 256
|
|
#define maxnoofQoSFlows 64
|
|
#define maxnoofRANAreaCodes 32
|
|
#define maxnoofRANAreasinRNA 16
|
|
#define maxnoofSliceItems 1024
|
|
#define maxnoofsupportedPLMNs 16
|
|
#define maxnoofsupportedTACs 1024
|
|
#define maxnoofTAI 16
|
|
#define maxnoofTAIsinAoI 16
|
|
#define maxnoofUEContexts 8292
|
|
#define maxNRARFCN 3279165
|
|
#define maxNrOfErrors 256
|
|
|
|
typedef enum _ProcedureCode_enum {
|
|
id_handoverPreparation = 0,
|
|
id_sNStatusTransfer = 1,
|
|
id_handoverCancel = 2,
|
|
id_retrieveUEContext = 3,
|
|
id_rANPaging = 4,
|
|
id_dataForwardingAddressIndication = 5,
|
|
id_uEContextRelease = 6,
|
|
id_sNGRANnodeAdditionPreparation = 7,
|
|
id_sNGRANnodeReconfigurationCompletion = 8,
|
|
id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation = 9,
|
|
id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation = 10,
|
|
id_mNGRANnodeinitiatedSNGRANnodeRelease = 11,
|
|
id_sNGRANnodeinitiatedSNGRANnodeRelease = 12,
|
|
id_sNGRANnodeCounterCheck = 13,
|
|
id_sNGRANnodeChange = 14,
|
|
id_rRCTransfer = 15,
|
|
id_xnRemoval = 16,
|
|
id_xnSetup = 17,
|
|
id_nGRANnodeConfigurationUpdate = 18,
|
|
id_cellActivation = 19,
|
|
id_reset = 20,
|
|
id_errorIndication = 21,
|
|
id_privateMessage = 22
|
|
} ProcedureCode_enum;
|
|
|
|
typedef enum _ProtocolIE_ID_enum {
|
|
id_ActivatedServedCells = 0,
|
|
id_ActivationIDforCellActivation = 1,
|
|
id_AMF_Pool_Information = 2,
|
|
id_AreaOfInterest_Item = 3,
|
|
id_AssistanceDataForRANPaging = 4,
|
|
id_Cause = 5,
|
|
id_cellAssistanceInfo_NR = 6,
|
|
id_ConfigurationUpdateInitiatingNodeChoice = 7,
|
|
id_CriticalityDiagnostics = 8,
|
|
id_dataforwardingInfoperPDUSession = 9,
|
|
id_dataforwardingInfoperPDUSession_Item = 10,
|
|
id_DataForwardingResponseDRBItem = 11,
|
|
id_DRBsSubjectToStatusTransfer_Item = 12,
|
|
id_DRBsSubjectToStatusTransfer_List = 13,
|
|
id_DRBToQoSFlowMapping_Item = 14,
|
|
id_GlobalNG_RAN_node_ID = 15,
|
|
id_GUAMI = 16,
|
|
id_List_of_served_cells_E_UTRA = 17,
|
|
id_List_of_served_cells_NR = 18,
|
|
id_LocationReportingInformation = 19,
|
|
id_MAC_I = 20,
|
|
id_MaskedIMEISV = 21,
|
|
id_new_NG_RAN_Cell_Identity = 22,
|
|
id_newNG_RANnodeUEXnAPID = 23,
|
|
id_oldNG_RANnodeUEXnAPID = 24,
|
|
id_PagingDRX = 25,
|
|
id_PDUSessionResourceAdmittedResponseTransferItem = 26,
|
|
id_PDUSessionResourcesAdmitted_Item = 27,
|
|
id_PDUSessionResourcesAdmitted_List = 28,
|
|
id_PDUSessionResourcesNotAdmitted_Item = 29,
|
|
id_PDUSessionResourcesNotAdmitted_List = 30,
|
|
id_PDUSessionResourcesToBeSetup_Item = 31,
|
|
id_QoSFlowAdmitted_Item = 32,
|
|
id_QoSFlow_Item = 33,
|
|
id_QoSFlowNotAdmitted_Item = 34,
|
|
id_QoSFlowsToBeSetup_Item = 35,
|
|
id_RANPagingArea = 36,
|
|
id_RANPagingPriority = 37,
|
|
id_ResetRequestPartialReleaseItem = 38,
|
|
id_ResetRequestTypeInfo = 39,
|
|
id_ResetResponsePartialReleaseItem = 40,
|
|
id_ResetResponseTypeInfo = 41,
|
|
id_RespondingNodeTypeConfigUpdateAck = 42,
|
|
id_ServedCellsToActivate = 43,
|
|
id_servedCellsToUpdate_E_UTRA = 44,
|
|
id_ServedCellsToUpdateInitiatingNodeChoice = 45,
|
|
id_servedCellsToUpdate_NR = 46,
|
|
id_sourceNG_RANnodeUEXnAPID = 47,
|
|
id_TAISupport_Item = 48,
|
|
id_TAISupport_list = 49,
|
|
id_Target2SourceNG_RANnodeTranspContainer = 50,
|
|
id_targetCellGlobalID = 51,
|
|
id_targetNG_RANnodeUEXnAPID = 52,
|
|
id_TraceActivation = 53,
|
|
id_UEContextID = 54,
|
|
id_UEContextInfoHORequest = 55,
|
|
id_UEContextInfoRetrUECtxtResp = 56,
|
|
id_UEIdentityIndexValue = 57,
|
|
id_UERANPagingIdentity = 58,
|
|
id_XnRemovalThreshold = 59
|
|
} ProtocolIE_ID_enum;
|
|
|
|
typedef enum _TriggeringMessage_enum {
|
|
initiating_message = 0,
|
|
successful_outcome = 1,
|
|
unsuccessful_outcome = 2
|
|
} TriggeringMessage_enum;
|
|
|
|
typedef enum _GlobalNG_RANNode_ID_enum {
|
|
GlobalNG_RANNode_ID_gNB = 0,
|
|
GlobalNG_RANNode_ID_ng_eNB = 1,
|
|
GlobalNG_RANNode_ID_choice_extension = 2
|
|
} GlobalNG_RANNode_ID_enum;
|
|
|
|
/*--- End of included file: packet-xnap-val.h ---*/
|
|
#line 43 "./asn1/xnap/packet-xnap-template.c"
|
|
|
|
/* Initialize the protocol and registered fields */
|
|
static int proto_xnap = -1;
|
|
static int hf_xnap_transportLayerAddressIPv4 = -1;
|
|
static int hf_xnap_transportLayerAddressIPv6 = -1;
|
|
static int hf_xnap_ng_ran_TraceID_TraceID = -1;
|
|
static int hf_xnap_ng_ran_TraceID_TraceRecordingSessionReference = -1;
|
|
|
|
/*--- Included file: packet-xnap-hf.c ---*/
|
|
#line 1 "./asn1/xnap/packet-xnap-hf.c"
|
|
static int hf_xnap_ActivationIDforCellActivation_PDU = -1; /* ActivationIDforCellActivation */
|
|
static int hf_xnap_AMF_Pool_Information_PDU = -1; /* AMF_Pool_Information */
|
|
static int hf_xnap_AreaOfInterest_Item_PDU = -1; /* AreaOfInterest_Item */
|
|
static int hf_xnap_AssistanceDataForRANPaging_PDU = -1; /* AssistanceDataForRANPaging */
|
|
static int hf_xnap_Cause_PDU = -1; /* Cause */
|
|
static int hf_xnap_CellAssistanceInfo_NR_PDU = -1; /* CellAssistanceInfo_NR */
|
|
static int hf_xnap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
|
|
static int hf_xnap_DataforwardingInfoperPDUSession_PDU = -1; /* DataforwardingInfoperPDUSession */
|
|
static int hf_xnap_DataforwardingInfoperPDUSession_Item_PDU = -1; /* DataforwardingInfoperPDUSession_Item */
|
|
static int hf_xnap_DataForwardingResponseDRBItem_PDU = -1; /* DataForwardingResponseDRBItem */
|
|
static int hf_xnap_DRBsSubjectToStatusTransfer_List_PDU = -1; /* DRBsSubjectToStatusTransfer_List */
|
|
static int hf_xnap_DRBsSubjectToStatusTransfer_Item_PDU = -1; /* DRBsSubjectToStatusTransfer_Item */
|
|
static int hf_xnap_DRBToQoSFlowMapping_Item_PDU = -1; /* DRBToQoSFlowMapping_Item */
|
|
static int hf_xnap_GlobalNG_RANNode_ID_PDU = -1; /* GlobalNG_RANNode_ID */
|
|
static int hf_xnap_GUAMI_PDU = -1; /* GUAMI */
|
|
static int hf_xnap_LocationReportingInformation_PDU = -1; /* LocationReportingInformation */
|
|
static int hf_xnap_MAC_I_PDU = -1; /* MAC_I */
|
|
static int hf_xnap_MaskedIMEISV_PDU = -1; /* MaskedIMEISV */
|
|
static int hf_xnap_NG_RAN_Cell_Identity_PDU = -1; /* NG_RAN_Cell_Identity */
|
|
static int hf_xnap_NG_RANnodeUEXnAPID_PDU = -1; /* NG_RANnodeUEXnAPID */
|
|
static int hf_xnap_PagingDRX_PDU = -1; /* PagingDRX */
|
|
static int hf_xnap_PDUSessionResourcesAdmitted_List_PDU = -1; /* PDUSessionResourcesAdmitted_List */
|
|
static int hf_xnap_PDUSessionResourcesAdmitted_Item_PDU = -1; /* PDUSessionResourcesAdmitted_Item */
|
|
static int hf_xnap_PDUSessionResourcesNotAdmitted_List_PDU = -1; /* PDUSessionResourcesNotAdmitted_List */
|
|
static int hf_xnap_PDUSessionResourcesNotAdmitted_Item_PDU = -1; /* PDUSessionResourcesNotAdmitted_Item */
|
|
static int hf_xnap_PDUSessionResourcesToBeSetup_Item_PDU = -1; /* PDUSessionResourcesToBeSetup_Item */
|
|
static int hf_xnap_QoSFlow_Item_PDU = -1; /* QoSFlow_Item */
|
|
static int hf_xnap_QoSFlowAdmitted_Item_PDU = -1; /* QoSFlowAdmitted_Item */
|
|
static int hf_xnap_QoSFlowNotAdmitted_Item_PDU = -1; /* QoSFlowNotAdmitted_Item */
|
|
static int hf_xnap_QoSFlowsToBeSetup_Item_PDU = -1; /* QoSFlowsToBeSetup_Item */
|
|
static int hf_xnap_RANPagingArea_PDU = -1; /* RANPagingArea */
|
|
static int hf_xnap_RANPagingPriority_PDU = -1; /* RANPagingPriority */
|
|
static int hf_xnap_ResetRequestTypeInfo_PDU = -1; /* ResetRequestTypeInfo */
|
|
static int hf_xnap_ResetRequestPartialReleaseItem_PDU = -1; /* ResetRequestPartialReleaseItem */
|
|
static int hf_xnap_ResetResponseTypeInfo_PDU = -1; /* ResetResponseTypeInfo */
|
|
static int hf_xnap_ResetResponsePartialReleaseItem_PDU = -1; /* ResetResponsePartialReleaseItem */
|
|
static int hf_xnap_ServedCells_E_UTRA_PDU = -1; /* ServedCells_E_UTRA */
|
|
static int hf_xnap_ServedCellsToUpdate_E_UTRA_PDU = -1; /* ServedCellsToUpdate_E_UTRA */
|
|
static int hf_xnap_ServedCells_NR_PDU = -1; /* ServedCells_NR */
|
|
static int hf_xnap_ServedCellsToUpdate_NR_PDU = -1; /* ServedCellsToUpdate_NR */
|
|
static int hf_xnap_TAISupport_List_PDU = -1; /* TAISupport_List */
|
|
static int hf_xnap_TAISupport_Item_PDU = -1; /* TAISupport_Item */
|
|
static int hf_xnap_Target_CGI_PDU = -1; /* Target_CGI */
|
|
static int hf_xnap_TraceActivation_PDU = -1; /* TraceActivation */
|
|
static int hf_xnap_UEContextID_PDU = -1; /* UEContextID */
|
|
static int hf_xnap_UEContextInfoRetrUECtxtResp_PDU = -1; /* UEContextInfoRetrUECtxtResp */
|
|
static int hf_xnap_UEIdentityIndexValue_PDU = -1; /* UEIdentityIndexValue */
|
|
static int hf_xnap_UERANPagingIdentity_PDU = -1; /* UERANPagingIdentity */
|
|
static int hf_xnap_XnBenefitValue_PDU = -1; /* XnBenefitValue */
|
|
static int hf_xnap_HandoverRequest_PDU = -1; /* HandoverRequest */
|
|
static int hf_xnap_UEContextInfoHORequest_PDU = -1; /* UEContextInfoHORequest */
|
|
static int hf_xnap_HandoverRequestAcknowledge_PDU = -1; /* HandoverRequestAcknowledge */
|
|
static int hf_xnap_Target2SourceNG_RANnodeTranspContainer_PDU = -1; /* Target2SourceNG_RANnodeTranspContainer */
|
|
static int hf_xnap_HandoverPreparationFailure_PDU = -1; /* HandoverPreparationFailure */
|
|
static int hf_xnap_SNStatusTransfer_PDU = -1; /* SNStatusTransfer */
|
|
static int hf_xnap_UEContextRelease_PDU = -1; /* UEContextRelease */
|
|
static int hf_xnap_HandoverCancel_PDU = -1; /* HandoverCancel */
|
|
static int hf_xnap_RANPaging_PDU = -1; /* RANPaging */
|
|
static int hf_xnap_RetrieveUEContextRequest_PDU = -1; /* RetrieveUEContextRequest */
|
|
static int hf_xnap_RetrieveUEContextResponse_PDU = -1; /* RetrieveUEContextResponse */
|
|
static int hf_xnap_RetrieveUEContextFailure_PDU = -1; /* RetrieveUEContextFailure */
|
|
static int hf_xnap_DataForwardingAddressIndication_PDU = -1; /* DataForwardingAddressIndication */
|
|
static int hf_xnap_SNodeAdditionRequest_PDU = -1; /* SNodeAdditionRequest */
|
|
static int hf_xnap_SNodeAdditionRequestAcknowledge_PDU = -1; /* SNodeAdditionRequestAcknowledge */
|
|
static int hf_xnap_SNodeAdditionRequestReject_PDU = -1; /* SNodeAdditionRequestReject */
|
|
static int hf_xnap_SNodeReconfigurationComplete_PDU = -1; /* SNodeReconfigurationComplete */
|
|
static int hf_xnap_SNodeModificationRequest_PDU = -1; /* SNodeModificationRequest */
|
|
static int hf_xnap_SNodeModificationRequestAcknowledge_PDU = -1; /* SNodeModificationRequestAcknowledge */
|
|
static int hf_xnap_SNodeModificationRequestReject_PDU = -1; /* SNodeModificationRequestReject */
|
|
static int hf_xnap_SNodeModificationRequired_PDU = -1; /* SNodeModificationRequired */
|
|
static int hf_xnap_SNodeModificationConfirm_PDU = -1; /* SNodeModificationConfirm */
|
|
static int hf_xnap_SNodeModificationRefuse_PDU = -1; /* SNodeModificationRefuse */
|
|
static int hf_xnap_SNodeReleaseRequest_PDU = -1; /* SNodeReleaseRequest */
|
|
static int hf_xnap_SNodeReleaseRequestAcknowledge_PDU = -1; /* SNodeReleaseRequestAcknowledge */
|
|
static int hf_xnap_SNodeReleaseReject_PDU = -1; /* SNodeReleaseReject */
|
|
static int hf_xnap_SNodeReleaseRequired_PDU = -1; /* SNodeReleaseRequired */
|
|
static int hf_xnap_SNodeReleaseConfirm_PDU = -1; /* SNodeReleaseConfirm */
|
|
static int hf_xnap_SNodeCounterCheckRequest_PDU = -1; /* SNodeCounterCheckRequest */
|
|
static int hf_xnap_SNodeChangeRequired_PDU = -1; /* SNodeChangeRequired */
|
|
static int hf_xnap_SNodeChangeConfirm_PDU = -1; /* SNodeChangeConfirm */
|
|
static int hf_xnap_SNodeChangeRefuse_PDU = -1; /* SNodeChangeRefuse */
|
|
static int hf_xnap_RRCTransfer_PDU = -1; /* RRCTransfer */
|
|
static int hf_xnap_XnSetupRequest_PDU = -1; /* XnSetupRequest */
|
|
static int hf_xnap_XnSetupResponse_PDU = -1; /* XnSetupResponse */
|
|
static int hf_xnap_XnSetupFailure_PDU = -1; /* XnSetupFailure */
|
|
static int hf_xnap_NGRANNodeConfigurationUpdate_PDU = -1; /* NGRANNodeConfigurationUpdate */
|
|
static int hf_xnap_ConfigurationUpdateInitiatingNodeChoice_PDU = -1; /* ConfigurationUpdateInitiatingNodeChoice */
|
|
static int hf_xnap_NGRANNodeConfigurationUpdateAcknowledge_PDU = -1; /* NGRANNodeConfigurationUpdateAcknowledge */
|
|
static int hf_xnap_RespondingNodeTypeConfigUpdateAck_PDU = -1; /* RespondingNodeTypeConfigUpdateAck */
|
|
static int hf_xnap_NGRANNodeConfigurationUpdateFailure_PDU = -1; /* NGRANNodeConfigurationUpdateFailure */
|
|
static int hf_xnap_XnRemovalRequest_PDU = -1; /* XnRemovalRequest */
|
|
static int hf_xnap_XnRemovalResponse_PDU = -1; /* XnRemovalResponse */
|
|
static int hf_xnap_XnRemovalFailure_PDU = -1; /* XnRemovalFailure */
|
|
static int hf_xnap_CellActivationRequest_PDU = -1; /* CellActivationRequest */
|
|
static int hf_xnap_ServedCellsToActivate_PDU = -1; /* ServedCellsToActivate */
|
|
static int hf_xnap_CellActivationResponse_PDU = -1; /* CellActivationResponse */
|
|
static int hf_xnap_ActivatedServedCells_PDU = -1; /* ActivatedServedCells */
|
|
static int hf_xnap_CellActivationFailure_PDU = -1; /* CellActivationFailure */
|
|
static int hf_xnap_ResetRequest_PDU = -1; /* ResetRequest */
|
|
static int hf_xnap_ResetResponse_PDU = -1; /* ResetResponse */
|
|
static int hf_xnap_ErrorIndication_PDU = -1; /* ErrorIndication */
|
|
static int hf_xnap_PrivateMessage_PDU = -1; /* PrivateMessage */
|
|
static int hf_xnap_XnAP_PDU_PDU = -1; /* XnAP_PDU */
|
|
static int hf_xnap_local = -1; /* INTEGER_0_maxPrivateIEs */
|
|
static int hf_xnap_global = -1; /* OBJECT_IDENTIFIER */
|
|
static int hf_xnap_ProtocolIE_Container_item = -1; /* ProtocolIE_Field */
|
|
static int hf_xnap_id = -1; /* ProtocolIE_ID */
|
|
static int hf_xnap_criticality = -1; /* Criticality */
|
|
static int hf_xnap_protocolIE_Field_value = -1; /* ProtocolIE_Field_value */
|
|
static int hf_xnap_ProtocolExtensionContainer_item = -1; /* ProtocolExtensionField */
|
|
static int hf_xnap_extension_id = -1; /* ProtocolIE_ID */
|
|
static int hf_xnap_extensionValue = -1; /* T_extensionValue */
|
|
static int hf_xnap_PrivateIE_Container_item = -1; /* PrivateIE_Field */
|
|
static int hf_xnap_private_id = -1; /* PrivateIE_ID */
|
|
static int hf_xnap_privateIE_Field_value = -1; /* PrivateIE_Field_value */
|
|
static int hf_xnap_priorityLevel = -1; /* INTEGER_0_15_ */
|
|
static int hf_xnap_pre_emption_capability = -1; /* T_pre_emption_capability */
|
|
static int hf_xnap_pre_emption_vulnerability = -1; /* T_pre_emption_vulnerability */
|
|
static int hf_xnap_iE_Extensions = -1; /* ProtocolExtensionContainer */
|
|
static int hf_xnap_AreaOfInterest_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_listOfTAIs = -1; /* ListOfTAIsinAoI */
|
|
static int hf_xnap_listOfCells = -1; /* ListOfCells */
|
|
static int hf_xnap_key_NG_RAN_Star = -1; /* BIT_STRING_SIZE_256 */
|
|
static int hf_xnap_ncc = -1; /* INTEGER_0_7 */
|
|
static int hf_xnap_ran_paging_attempt_info = -1; /* RANPagingAttemptInfo */
|
|
static int hf_xnap_BroadcastPLMNs_item = -1; /* PLMN_Identity */
|
|
static int hf_xnap_plmn_id = -1; /* PLMN_Identity */
|
|
static int hf_xnap_tAISliceSupport_List = -1; /* SliceSupport_List */
|
|
static int hf_xnap_iE_Extension = -1; /* ProtocolExtensionContainer */
|
|
static int hf_xnap_radioNetwork = -1; /* CauseRadioNetworkLayer */
|
|
static int hf_xnap_transport = -1; /* CauseTransportLayer */
|
|
static int hf_xnap_protocol = -1; /* CauseProtocol */
|
|
static int hf_xnap_misc = -1; /* CauseMisc */
|
|
static int hf_xnap_choice_extension = -1; /* ProtocolExtensionContainer */
|
|
static int hf_xnap_limitedNR_List = -1; /* SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI */
|
|
static int hf_xnap_limitedNR_List_item = -1; /* NR_CGI */
|
|
static int hf_xnap_full_List = -1; /* T_full_List */
|
|
static int hf_xnap_pdcp_SN12 = -1; /* INTEGER_0_4095 */
|
|
static int hf_xnap_hfn_PDCP_SN12 = -1; /* INTEGER_0_1048575 */
|
|
static int hf_xnap_pdcp_SN18 = -1; /* INTEGER_0_262143 */
|
|
static int hf_xnap_hfn_PDCP_SN18 = -1; /* INTEGER_0_16383 */
|
|
static int hf_xnap_endpointIPAddress = -1; /* TransportLayerAddress */
|
|
static int hf_xnap_procedureCode = -1; /* ProcedureCode */
|
|
static int hf_xnap_triggeringMessage = -1; /* TriggeringMessage */
|
|
static int hf_xnap_procedureCriticality = -1; /* Criticality */
|
|
static int hf_xnap_iEsCriticalityDiagnostics = -1; /* CriticalityDiagnostics_IE_List */
|
|
static int hf_xnap_CriticalityDiagnostics_IE_List_item = -1; /* CriticalityDiagnostics_IE_List_item */
|
|
static int hf_xnap_iECriticality = -1; /* Criticality */
|
|
static int hf_xnap_iE_ID = -1; /* ProtocolIE_ID */
|
|
static int hf_xnap_typeOfError = -1; /* TypeOfError */
|
|
static int hf_xnap_DataforwardingInfoperPDUSession_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_pduSession_ID = -1; /* PDUSession_ID */
|
|
static int hf_xnap_dlForwardingUPTNL = -1; /* UPTransportLayerInformation */
|
|
static int hf_xnap_pduSessionLevelDLDataForwardingInfo = -1; /* UPTransportLayerInformation */
|
|
static int hf_xnap_dataForwardingResponseDRBItemList = -1; /* DataForwardingResponseDRBItemList */
|
|
static int hf_xnap_DataForwardingResponseDRBItemList_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_drb_ID = -1; /* DRB_ID */
|
|
static int hf_xnap_ulForwardingUPTNL = -1; /* UPTransportLayerInformation */
|
|
static int hf_xnap_DRBsSubjectToStatusTransfer_List_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_drbID = -1; /* DRB_ID */
|
|
static int hf_xnap_statusTransfer = -1; /* DRBBStatusTransferChoice */
|
|
static int hf_xnap_pdcp_sn_12bits = -1; /* DRBBStatusTransfer12bitsSN */
|
|
static int hf_xnap_pdcp_sn_18bits = -1; /* DRBBStatusTransfer18bitsSN */
|
|
static int hf_xnap_receiveStatusofPDCPSDU = -1; /* BIT_STRING_SIZE_1_2048 */
|
|
static int hf_xnap_ulCOUNTValue = -1; /* COUNT_PDCP_SN12 */
|
|
static int hf_xnap_dlCOUNTValue = -1; /* COUNT_PDCP_SN12 */
|
|
static int hf_xnap_receiveStatusofPDCPSDU_01 = -1; /* BIT_STRING_SIZE_1_131072 */
|
|
static int hf_xnap_ulCOUNTValue_01 = -1; /* COUNT_PDCP_SN18 */
|
|
static int hf_xnap_dlCOUNTValue_01 = -1; /* COUNT_PDCP_SN18 */
|
|
static int hf_xnap_DRBToQoSFlowMapping_List_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_qosFlows_List = -1; /* QoSFlows_List */
|
|
static int hf_xnap_priorityLevel_01 = -1; /* INTEGER_1_128 */
|
|
static int hf_xnap_packetDelayBudget = -1; /* PacketDelayBudget */
|
|
static int hf_xnap_packetErrorRate = -1; /* PacketErrorRate */
|
|
static int hf_xnap_delayCritical = -1; /* T_delayCritical */
|
|
static int hf_xnap_averagingWindow = -1; /* AveragingWindow */
|
|
static int hf_xnap_maximumDataBurstVolume = -1; /* MaximumDataBurstVolume */
|
|
static int hf_xnap_e_utra_CI = -1; /* E_UTRA_Cell_Identity */
|
|
static int hf_xnap_E_UTRAMultibandInfoList_item = -1; /* E_UTRAFrequencyBandIndicator */
|
|
static int hf_xnap_rootSequenceIndex = -1; /* INTEGER_0_837 */
|
|
static int hf_xnap_zeroCorrelationIndex = -1; /* INTEGER_0_15 */
|
|
static int hf_xnap_highSpeedFlag = -1; /* T_highSpeedFlag */
|
|
static int hf_xnap_prach_FreqOffset = -1; /* INTEGER_0_94 */
|
|
static int hf_xnap_prach_ConfigIndex = -1; /* INTEGER_0_63 */
|
|
static int hf_xnap_maxFlowBitRateDL = -1; /* BitRate */
|
|
static int hf_xnap_maxFlowBitRateUL = -1; /* BitRate */
|
|
static int hf_xnap_guaranteedFlowBitRateDL = -1; /* BitRate */
|
|
static int hf_xnap_guaranteedFlowBitRateUL = -1; /* BitRate */
|
|
static int hf_xnap_notificationControl = -1; /* T_notificationControl */
|
|
static int hf_xnap_maxPacketLossRateDL = -1; /* PacketLossRate */
|
|
static int hf_xnap_maxPacketLossRateUL = -1; /* PacketLossRate */
|
|
static int hf_xnap_gnb_id = -1; /* GNB_ID_Choice */
|
|
static int hf_xnap_gnb_ID = -1; /* BIT_STRING_SIZE_22_32 */
|
|
static int hf_xnap_enb_id = -1; /* ENB_ID_Choice */
|
|
static int hf_xnap_enb_ID_macro = -1; /* BIT_STRING_SIZE_20 */
|
|
static int hf_xnap_enb_ID_shortmacro = -1; /* BIT_STRING_SIZE_18 */
|
|
static int hf_xnap_enb_ID_longmacro = -1; /* BIT_STRING_SIZE_21 */
|
|
static int hf_xnap_gNB = -1; /* GlobalgNB_ID */
|
|
static int hf_xnap_ng_eNB = -1; /* GlobalngeNB_ID */
|
|
static int hf_xnap_tnl_address = -1; /* TransportLayerAddress */
|
|
static int hf_xnap_gtp_teid = -1; /* GTP_TEID */
|
|
static int hf_xnap_plmn_ID = -1; /* PLMN_Identity */
|
|
static int hf_xnap_amf_region_if = -1; /* OCTET_STRING_SIZE_2 */
|
|
static int hf_xnap_amf_set_id = -1; /* BIT_STRING_SIZE_4 */
|
|
static int hf_xnap_amf_pointer = -1; /* BIT_STRING_SIZE_4 */
|
|
static int hf_xnap_ListOfCells_item = -1; /* CellsinAoI_Item */
|
|
static int hf_xnap_pLMN_Identity = -1; /* PLMN_Identity */
|
|
static int hf_xnap_ng_ran_cell_id = -1; /* NG_RAN_Cell_Identity */
|
|
static int hf_xnap_ListOfTAIsinAoI_item = -1; /* TAIsinAoI_Item */
|
|
static int hf_xnap_tAC = -1; /* TAC */
|
|
static int hf_xnap_eventType = -1; /* EventType */
|
|
static int hf_xnap_reportArea = -1; /* ReportArea */
|
|
static int hf_xnap_areaOfInterest = -1; /* AreaOfInterest */
|
|
static int hf_xnap_oneframe = -1; /* BIT_STRING_SIZE_6 */
|
|
static int hf_xnap_fourframes = -1; /* BIT_STRING_SIZE_24 */
|
|
static int hf_xnap_MBSFNSubframeInfo_E_UTRA_item = -1; /* MBSFNSubframeInfo_E_UTRA_Item */
|
|
static int hf_xnap_radioframeAllocationPeriod = -1; /* T_radioframeAllocationPeriod */
|
|
static int hf_xnap_radioframeAllocationOffset = -1; /* INTEGER_0_7_ */
|
|
static int hf_xnap_subframeAllocation = -1; /* MBSFNSubframeAllocation_E_UTRA */
|
|
static int hf_xnap_serving_PLMN = -1; /* PLMN_Identity */
|
|
static int hf_xnap_equivalent_PLMNs = -1; /* SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity */
|
|
static int hf_xnap_equivalent_PLMNs_item = -1; /* PLMN_Identity */
|
|
static int hf_xnap_rat_Restrictions = -1; /* RAT_RestrictionsList */
|
|
static int hf_xnap_forbiddenAreaInformation = -1; /* ForbiddenAreaList */
|
|
static int hf_xnap_serviceAreaInformation = -1; /* ServiceAreaList */
|
|
static int hf_xnap_RAT_RestrictionsList_item = -1; /* RAT_RestrictionsItem */
|
|
static int hf_xnap_plmn_Identity = -1; /* PLMN_Identity */
|
|
static int hf_xnap_rat_RestrictionInformation = -1; /* RAT_RestrictionInformation */
|
|
static int hf_xnap_ForbiddenAreaList_item = -1; /* ForbiddenAreaItem */
|
|
static int hf_xnap_forbidden_TACs = -1; /* SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC */
|
|
static int hf_xnap_forbidden_TACs_item = -1; /* TAC */
|
|
static int hf_xnap_ServiceAreaList_item = -1; /* ServiceAreaItem */
|
|
static int hf_xnap_allowed_TACs_ServiceArea = -1; /* SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC */
|
|
static int hf_xnap_allowed_TACs_ServiceArea_item = -1; /* TAC */
|
|
static int hf_xnap_not_allowed_TACs_ServiceArea = -1; /* SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC */
|
|
static int hf_xnap_not_allowed_TACs_ServiceArea_item = -1; /* TAC */
|
|
static int hf_xnap_NeighbourInformation_E_UTRA_item = -1; /* NeighbourInformation_E_UTRA_Item */
|
|
static int hf_xnap_e_utra_PCI = -1; /* E_UTRAPCI */
|
|
static int hf_xnap_e_utra_cgi = -1; /* E_UTRA_CGI */
|
|
static int hf_xnap_earfcn = -1; /* E_UTRAARFCN */
|
|
static int hf_xnap_tac = -1; /* TAC */
|
|
static int hf_xnap_NeighbourInformation_NR_item = -1; /* NeighbourInformation_NR_Item */
|
|
static int hf_xnap_nr_mode_info = -1; /* NeighbourInformation_NR_ModeInfo */
|
|
static int hf_xnap_fdd_info = -1; /* NeighbourInformation_NR_ModeFDDInfo */
|
|
static int hf_xnap_tdd_info = -1; /* NeighbourInformation_NR_ModeTDDInfo */
|
|
static int hf_xnap_ul_NR_FreqInfo = -1; /* NRFrequencyInfo */
|
|
static int hf_xnap_dl_NR_FequInfo = -1; /* NRFrequencyInfo */
|
|
static int hf_xnap_ie_Extensions = -1; /* ProtocolExtensionContainer */
|
|
static int hf_xnap_nr_FreqInfo = -1; /* NRFrequencyInfo */
|
|
static int hf_xnap_nr = -1; /* NR_Cell_Identity */
|
|
static int hf_xnap_e_utra = -1; /* E_UTRA_Cell_Identity */
|
|
static int hf_xnap_nr_01 = -1; /* NRPCI */
|
|
static int hf_xnap_e_utra_01 = -1; /* E_UTRAPCI */
|
|
static int hf_xnap_fiveQI = -1; /* INTEGER_0_255 */
|
|
static int hf_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea_item = -1; /* NG_RAN_Cell_Identity */
|
|
static int hf_xnap_nr_CI = -1; /* NR_Cell_Identity */
|
|
static int hf_xnap_NRFrequencyBand_List_item = -1; /* NRFrequencyBandItem */
|
|
static int hf_xnap_nr_frequency_band = -1; /* NRFrequencyBand */
|
|
static int hf_xnap_supported_SUL_Band_List = -1; /* SupportedSULBandList */
|
|
static int hf_xnap_nrARFCN = -1; /* NRARFCN */
|
|
static int hf_xnap_sul_information = -1; /* SUL_Information */
|
|
static int hf_xnap_frequencyBand_List = -1; /* NRFrequencyBand_List */
|
|
static int hf_xnap_fdd = -1; /* NRModeInfoFDD */
|
|
static int hf_xnap_tdd = -1; /* NRModeInfoTDD */
|
|
static int hf_xnap_ulNRFrequencyInfo = -1; /* NRFrequencyInfo */
|
|
static int hf_xnap_dlNRFrequencyInfo = -1; /* NRFrequencyInfo */
|
|
static int hf_xnap_ulNRTransmissonBandwidth = -1; /* NRTransmissionBandwidth */
|
|
static int hf_xnap_dlNRTransmissonBandwidth = -1; /* NRTransmissionBandwidth */
|
|
static int hf_xnap_nrFrequencyInfo = -1; /* NRFrequencyInfo */
|
|
static int hf_xnap_nrTransmissonBandwidth = -1; /* NRTransmissionBandwidth */
|
|
static int hf_xnap_PDUSessionResourcesAdmitted_List_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_pduSessionId = -1; /* PDUSession_ID */
|
|
static int hf_xnap_pduSessionResourceAdmittedInfo = -1; /* PDUSessionResourceAdmittedInfo */
|
|
static int hf_xnap_qosFlowsAdmitted_List = -1; /* QoSFlowsAdmitted_List */
|
|
static int hf_xnap_qosFlowsNotAdmitted_List = -1; /* QoSFlowsNotAdmitted_List */
|
|
static int hf_xnap_dataForwardingInfoFromTarget = -1; /* DataForwardingInfoFromTargetNGRANnode */
|
|
static int hf_xnap_PDUSessionResourcesNotAdmitted_List_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_cause = -1; /* Cause */
|
|
static int hf_xnap_PDUSessionResourcesToBeSetup_List_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_s_NSSAI = -1; /* S_NSSAI */
|
|
static int hf_xnap_pduSessionAMBR = -1; /* OCTET_STRING */
|
|
static int hf_xnap_uL_NG_U_TNLatUPF = -1; /* UPTransportLayerInformation */
|
|
static int hf_xnap_securityIndication = -1; /* SecurityIndication */
|
|
static int hf_xnap_pduSessionType = -1; /* PDUSessionType */
|
|
static int hf_xnap_qosFlowsToBeSetup_List = -1; /* QoSFlowsToBeSetup_List */
|
|
static int hf_xnap_sourceDRBtoQoSFlowMapping = -1; /* DRBToQoSFlowMapping_List */
|
|
static int hf_xnap_non_dynamic = -1; /* NonDynamic5QIDescriptor */
|
|
static int hf_xnap_dynamic = -1; /* Dynamic5QIDescriptor */
|
|
static int hf_xnap_qos_characteristics = -1; /* QoSCharacteristics */
|
|
static int hf_xnap_allocationAndRetentionPrio = -1; /* AllocationandRetentionPriority */
|
|
static int hf_xnap_gBRQoSFlowInfo = -1; /* GBRQoSFlowInfo */
|
|
static int hf_xnap_relectiveQoS = -1; /* ReflectiveQoSAttribute */
|
|
static int hf_xnap_additionalQoSflowInfo = -1; /* T_additionalQoSflowInfo */
|
|
static int hf_xnap_pPI = -1; /* INTEGER_1_8_ */
|
|
static int hf_xnap_QoSFlows_List_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_qfi = -1; /* QoSFlowIndicator */
|
|
static int hf_xnap_QoSFlowsAdmitted_List_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_dataForwardingAccepted = -1; /* DataForwardingAccepted */
|
|
static int hf_xnap_QoSFlowsNotAdmitted_List_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_QoSFlowsToBeSetup_List_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_dlDataForwarding = -1; /* DLForwarding */
|
|
static int hf_xnap_qosFlowLevelQoSParameters = -1; /* QoSFlowLevelQoSParameters */
|
|
static int hf_xnap_e_RAB_ID = -1; /* E_RAB_ID */
|
|
static int hf_xnap_rANAC = -1; /* RANAC */
|
|
static int hf_xnap_RANAreaID_List_item = -1; /* RANAreaID */
|
|
static int hf_xnap_rANPagingAreaChoice = -1; /* RANPagingAreaChoice */
|
|
static int hf_xnap_cell_List = -1; /* NG_RAN_Cell_Identity_ListinRANPagingArea */
|
|
static int hf_xnap_rANAreaID_List = -1; /* RANAreaID_List */
|
|
static int hf_xnap_pagingAttemptCount = -1; /* INTEGER_1_16_ */
|
|
static int hf_xnap_intendedNumberOfPagingAttempts = -1; /* INTEGER_1_16_ */
|
|
static int hf_xnap_nextPagingAreaScope = -1; /* T_nextPagingAreaScope */
|
|
static int hf_xnap_fullReset = -1; /* ResetRequestTypeInfo_Full */
|
|
static int hf_xnap_partialReset = -1; /* ResetRequestTypeInfo_Partial */
|
|
static int hf_xnap_ue_contexts_ToBeReleasedList = -1; /* ResetRequestPartialReleaseList */
|
|
static int hf_xnap_ResetRequestPartialReleaseList_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_ng_ran_node1UEXnAPID = -1; /* NG_RANnodeUEXnAPID */
|
|
static int hf_xnap_ng_ran_node2UEXnAPID = -1; /* NG_RANnodeUEXnAPID */
|
|
static int hf_xnap_fullReset_01 = -1; /* ResetResponseTypeInfo_Full */
|
|
static int hf_xnap_partialReset_01 = -1; /* ResetResponseTypeInfo_Partial */
|
|
static int hf_xnap_ue_contexts_AdmittedToBeReleasedList = -1; /* ResetResponsePartialReleaseList */
|
|
static int hf_xnap_ResetResponsePartialReleaseList_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_integrityProtectionIndication = -1; /* T_integrityProtectionIndication */
|
|
static int hf_xnap_confidentialityProtectionIndication = -1; /* T_confidentialityProtectionIndication */
|
|
static int hf_xnap_e_utra_pci = -1; /* E_UTRAPCI */
|
|
static int hf_xnap_broadcastPLMNs = -1; /* SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN */
|
|
static int hf_xnap_broadcastPLMNs_item = -1; /* ServedCellInformation_E_UTRA_perBPLMN */
|
|
static int hf_xnap_numberofAntennaPorts = -1; /* NumberOfAntennaPorts_E_UTRA */
|
|
static int hf_xnap_prach_configuration = -1; /* E_UTRAPRACHConfiguration */
|
|
static int hf_xnap_mBSFNsubframeInfo = -1; /* MBSFNSubframeInfo_E_UTRA */
|
|
static int hf_xnap_multibandInfo = -1; /* E_UTRAMultibandInfoList */
|
|
static int hf_xnap_freqBandIndicatorPriority = -1; /* T_freqBandIndicatorPriority */
|
|
static int hf_xnap_bandwidthReducedSI = -1; /* T_bandwidthReducedSI */
|
|
static int hf_xnap_e_utra_mode_info = -1; /* ServedCellInformation_E_UTRA_perBPLMN_ModeInfo */
|
|
static int hf_xnap_fdd_01 = -1; /* ServedCellInformation_E_UTRA_perBPLMN_FDDInfo */
|
|
static int hf_xnap_tdd_01 = -1; /* ServedCellInformation_E_UTRA_perBPLMN_TDDInfo */
|
|
static int hf_xnap_ul_earfcn = -1; /* E_UTRAARFCN */
|
|
static int hf_xnap_dl_earfcn = -1; /* E_UTRAARFCN */
|
|
static int hf_xnap_ul_e_utraTxBW = -1; /* E_UTRATransmissionBandwidth */
|
|
static int hf_xnap_dl_e_utraTxBW = -1; /* E_UTRATransmissionBandwidth */
|
|
static int hf_xnap_e_utraTxBW = -1; /* E_UTRATransmissionBandwidth */
|
|
static int hf_xnap_subframeAssignmnet = -1; /* T_subframeAssignmnet */
|
|
static int hf_xnap_specialSubframeInfo = -1; /* SpecialSubframeInfo_E_UTRA */
|
|
static int hf_xnap_ServedCells_E_UTRA_item = -1; /* ServedCells_E_UTRA_Item */
|
|
static int hf_xnap_served_cell_info_E_UTRA = -1; /* ServedCellInformation_E_UTRA */
|
|
static int hf_xnap_neighbour_info_NR = -1; /* NeighbourInformation_NR */
|
|
static int hf_xnap_neighbour_info_E_UTRA = -1; /* NeighbourInformation_E_UTRA */
|
|
static int hf_xnap_served_Cells_ToAdd_E_UTRA = -1; /* ServedCells_E_UTRA */
|
|
static int hf_xnap_served_Cells_ToModify_E_UTRA = -1; /* ServedCells_ToModify_E_UTRA */
|
|
static int hf_xnap_served_Cells_ToDelete_E_UTRA = -1; /* SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI */
|
|
static int hf_xnap_served_Cells_ToDelete_E_UTRA_item = -1; /* E_UTRA_CGI */
|
|
static int hf_xnap_ServedCells_ToModify_E_UTRA_item = -1; /* ServedCells_ToModify_E_UTRA_Item */
|
|
static int hf_xnap_old_ECGI = -1; /* E_UTRA_CGI */
|
|
static int hf_xnap_nrPCI = -1; /* NRPCI */
|
|
static int hf_xnap_cellID = -1; /* NR_CGI */
|
|
static int hf_xnap_ranac = -1; /* RANAC */
|
|
static int hf_xnap_broadcastPLMN = -1; /* BroadcastPLMNs */
|
|
static int hf_xnap_nrModeInfo = -1; /* NRModeInfo */
|
|
static int hf_xnap_measurementTimingConfiguration = -1; /* T_measurementTimingConfiguration */
|
|
static int hf_xnap_ServedCells_NR_item = -1; /* ServedCells_NR_Item */
|
|
static int hf_xnap_served_cell_info_NR = -1; /* ServedCellInformation_NR */
|
|
static int hf_xnap_ServedCells_ToModify_NR_item = -1; /* ServedCells_ToModify_NR_Item */
|
|
static int hf_xnap_old_NR_CGI = -1; /* NR_CGI */
|
|
static int hf_xnap_served_Cells_ToAdd_NR = -1; /* ServedCells_NR */
|
|
static int hf_xnap_served_Cells_ToModify_NR = -1; /* ServedCells_ToModify_NR */
|
|
static int hf_xnap_served_Cells_ToDelete_NR = -1; /* SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI */
|
|
static int hf_xnap_served_Cells_ToDelete_NR_item = -1; /* NR_CGI */
|
|
static int hf_xnap_SliceSupport_List_item = -1; /* S_NSSAI */
|
|
static int hf_xnap_sst = -1; /* OCTET_STRING_SIZE_1 */
|
|
static int hf_xnap_sd = -1; /* OCTET_STRING_SIZE_3 */
|
|
static int hf_xnap_specialSubframePattern = -1; /* SpecialSubframePatterns_E_UTRA */
|
|
static int hf_xnap_cyclicPrefixDL = -1; /* CyclicPrefix_E_UTRA_DL */
|
|
static int hf_xnap_cyclicPrefixUL = -1; /* CyclicPrefix_E_UTRA_UL */
|
|
static int hf_xnap_sulFrequencyInfo = -1; /* NRARFCN */
|
|
static int hf_xnap_sulTransmissionBandwidth = -1; /* NRTransmissionBandwidth */
|
|
static int hf_xnap_SupportedSULBandList_item = -1; /* SupportedSULBandItem */
|
|
static int hf_xnap_sulBandItem = -1; /* SUL_FrequencyBand */
|
|
static int hf_xnap_TAISupport_List_item = -1; /* ProtocolIE_Single_Container */
|
|
static int hf_xnap_broadcastPLMNs_01 = -1; /* SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item */
|
|
static int hf_xnap_broadcastPLMNs_item_01 = -1; /* BroadcastPLMNinTAISupport_Item */
|
|
static int hf_xnap_nr_02 = -1; /* NR_CGI */
|
|
static int hf_xnap_e_utra_02 = -1; /* E_UTRA_CGI */
|
|
static int hf_xnap_ng_ran_TraceID = -1; /* T_ng_ran_TraceID */
|
|
static int hf_xnap_interfaces_to_trace = -1; /* T_interfaces_to_trace */
|
|
static int hf_xnap_trace_depth = -1; /* Trace_Depth */
|
|
static int hf_xnap_trace_coll_address = -1; /* TransportLayerAddress */
|
|
static int hf_xnap_ie_Extension = -1; /* ProtocolExtensionContainer */
|
|
static int hf_xnap_dl_UE_AMBR = -1; /* BitRate */
|
|
static int hf_xnap_ul_UE_AMBR = -1; /* BitRate */
|
|
static int hf_xnap_rRCResume = -1; /* UEContextIDforRRCResume */
|
|
static int hf_xnap_rRRCReestablishment = -1; /* UEContextIDforRRCReestablishment */
|
|
static int hf_xnap_i_rnti = -1; /* I_RNTI */
|
|
static int hf_xnap_c_rnti = -1; /* C_RNTI */
|
|
static int hf_xnap_failureCellPCI = -1; /* NG_RAN_CellPCI */
|
|
static int hf_xnap_ng_c_UE_signalling_ref = -1; /* AMF_UE_NGAP_ID */
|
|
static int hf_xnap_signalling_TNL_at_source = -1; /* CPTransportLayerInformation */
|
|
static int hf_xnap_ueSecurityCapabilities = -1; /* UESecurityCapabilities */
|
|
static int hf_xnap_securityInformation = -1; /* AS_SecurityInformation */
|
|
static int hf_xnap_ue_AMBR = -1; /* UEAggregateMaximumBitRate */
|
|
static int hf_xnap_pduSessionResourcesToBeSet_List = -1; /* PDUSessionResourcesToBeSetup_List */
|
|
static int hf_xnap_rrc_Context = -1; /* T_rrc_Context */
|
|
static int hf_xnap_mobilityRestrictionList = -1; /* MobilityRestrictionList */
|
|
static int hf_xnap_indexToRatFrequencySelectionPriority = -1; /* RFSP_Index */
|
|
static int hf_xnap_i_RNTI = -1; /* I_RNTI */
|
|
static int hf_xnap_nr_EncyptionAlgorithms = -1; /* T_nr_EncyptionAlgorithms */
|
|
static int hf_xnap_nr_IntegrityProtectionAlgorithms = -1; /* T_nr_IntegrityProtectionAlgorithms */
|
|
static int hf_xnap_e_utra_EncyptionAlgorithms = -1; /* T_e_utra_EncyptionAlgorithms */
|
|
static int hf_xnap_e_utra_IntegrityProtectionAlgorithms = -1; /* T_e_utra_IntegrityProtectionAlgorithms */
|
|
static int hf_xnap_gtpTunnel = -1; /* GTPtunnelTransportLayerInformation */
|
|
static int hf_xnap_protocolIEs = -1; /* ProtocolIE_Container */
|
|
static int hf_xnap_ng_c_UE_reference = -1; /* AMF_UE_NGAP_ID */
|
|
static int hf_xnap_cp_TNL_info_source = -1; /* CPTransportLayerInformation */
|
|
static int hf_xnap_pduSessionResourcesToBeSetup_List = -1; /* PDUSessionResourcesToBeSetup_List */
|
|
static int hf_xnap_rrc_Context_01 = -1; /* T_rrc_Context_01 */
|
|
static int hf_xnap_locationReportingInformation = -1; /* LocationReportingInformation */
|
|
static int hf_xnap_hlr = -1; /* MobilityRestrictionList */
|
|
static int hf_xnap_gNB_01 = -1; /* ProtocolIE_Container */
|
|
static int hf_xnap_ng_eNB_01 = -1; /* ProtocolIE_Container */
|
|
static int hf_xnap_ng_eNB_02 = -1; /* RespondingNodeTypeConfigUpdateAck_ng_eNB */
|
|
static int hf_xnap_gNB_02 = -1; /* RespondingNodeTypeConfigUpdateAck_gNB */
|
|
static int hf_xnap_served_NR_Cells = -1; /* ServedCells_NR */
|
|
static int hf_xnap_nr_cells = -1; /* SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI */
|
|
static int hf_xnap_nr_cells_item = -1; /* NR_CGI */
|
|
static int hf_xnap_e_utra_cells = -1; /* SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI */
|
|
static int hf_xnap_e_utra_cells_item = -1; /* E_UTRA_CGI */
|
|
static int hf_xnap_privateIEs = -1; /* PrivateIE_Container */
|
|
static int hf_xnap_initiatingMessage = -1; /* InitiatingMessage */
|
|
static int hf_xnap_successfulOutcome = -1; /* SuccessfulOutcome */
|
|
static int hf_xnap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */
|
|
static int hf_xnap_initiatingMessage_value = -1; /* InitiatingMessage_value */
|
|
static int hf_xnap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */
|
|
static int hf_xnap_value = -1; /* UnsuccessfulOutcome_value */
|
|
/* named bits */
|
|
static int hf_xnap_RAT_RestrictionInformation_e_UTRA = -1;
|
|
static int hf_xnap_RAT_RestrictionInformation_nR = -1;
|
|
static int hf_xnap_T_interfaces_to_trace_ng_c = -1;
|
|
static int hf_xnap_T_interfaces_to_trace_x_nc = -1;
|
|
static int hf_xnap_T_interfaces_to_trace_uu = -1;
|
|
static int hf_xnap_T_interfaces_to_trace_f1_c = -1;
|
|
static int hf_xnap_T_interfaces_to_trace_e1 = -1;
|
|
static int hf_xnap_T_nr_EncyptionAlgorithms_nea1_128 = -1;
|
|
static int hf_xnap_T_nr_EncyptionAlgorithms_nea2_128 = -1;
|
|
static int hf_xnap_T_nr_EncyptionAlgorithms_nea3_128 = -1;
|
|
static int hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia1_128 = -1;
|
|
static int hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia2_128 = -1;
|
|
static int hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia3_128 = -1;
|
|
static int hf_xnap_T_e_utra_EncyptionAlgorithms_eea1_128 = -1;
|
|
static int hf_xnap_T_e_utra_EncyptionAlgorithms_eea2_128 = -1;
|
|
static int hf_xnap_T_e_utra_EncyptionAlgorithms_eea3_128 = -1;
|
|
static int hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia1_128 = -1;
|
|
static int hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia2_128 = -1;
|
|
static int hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia3_128 = -1;
|
|
|
|
/*--- End of included file: packet-xnap-hf.c ---*/
|
|
#line 51 "./asn1/xnap/packet-xnap-template.c"
|
|
|
|
/* Initialize the subtree pointers */
|
|
static gint ett_xnap = -1;
|
|
static gint ett_xnap_RRC_Context = -1;
|
|
static gint ett_nxap_container = -1;
|
|
static gint ett_xnap_PLMN_Identity = -1;
|
|
static gint ett_xnap_measurementTimingConfiguration = -1;
|
|
static gint ett_xnap_TransportLayerAddress = -1;
|
|
static gint ett_xnap_nr_EncyptionAlgorithms = -1;
|
|
static gint ett_xnap_nr_IntegrityProtectionAlgorithms = -1;
|
|
static gint ett_xnap_e_utra_EncyptionAlgorithms = -1;
|
|
static gint ett_xnap_e_utra_IntegrityProtectionAlgorithms = -1;
|
|
static gint ett_xnap_ng_ran_TraceID = -1;
|
|
static gint ett_xnap_interfaces_to_trace = -1;
|
|
|
|
/*--- Included file: packet-xnap-ett.c ---*/
|
|
#line 1 "./asn1/xnap/packet-xnap-ett.c"
|
|
static gint ett_xnap_PrivateIE_ID = -1;
|
|
static gint ett_xnap_ProtocolIE_Container = -1;
|
|
static gint ett_xnap_ProtocolIE_Field = -1;
|
|
static gint ett_xnap_ProtocolExtensionContainer = -1;
|
|
static gint ett_xnap_ProtocolExtensionField = -1;
|
|
static gint ett_xnap_PrivateIE_Container = -1;
|
|
static gint ett_xnap_PrivateIE_Field = -1;
|
|
static gint ett_xnap_AllocationandRetentionPriority = -1;
|
|
static gint ett_xnap_AreaOfInterest = -1;
|
|
static gint ett_xnap_AreaOfInterest_Item = -1;
|
|
static gint ett_xnap_AS_SecurityInformation = -1;
|
|
static gint ett_xnap_AssistanceDataForRANPaging = -1;
|
|
static gint ett_xnap_BroadcastPLMNs = -1;
|
|
static gint ett_xnap_BroadcastPLMNinTAISupport_Item = -1;
|
|
static gint ett_xnap_Cause = -1;
|
|
static gint ett_xnap_CellAssistanceInfo_NR = -1;
|
|
static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI = -1;
|
|
static gint ett_xnap_COUNT_PDCP_SN12 = -1;
|
|
static gint ett_xnap_COUNT_PDCP_SN18 = -1;
|
|
static gint ett_xnap_CPTransportLayerInformation = -1;
|
|
static gint ett_xnap_CriticalityDiagnostics = -1;
|
|
static gint ett_xnap_CriticalityDiagnostics_IE_List = -1;
|
|
static gint ett_xnap_CriticalityDiagnostics_IE_List_item = -1;
|
|
static gint ett_xnap_DataforwardingInfoperPDUSession = -1;
|
|
static gint ett_xnap_DataforwardingInfoperPDUSession_Item = -1;
|
|
static gint ett_xnap_DataForwardingInfoFromTargetNGRANnode = -1;
|
|
static gint ett_xnap_DataForwardingResponseDRBItemList = -1;
|
|
static gint ett_xnap_DataForwardingResponseDRBItem = -1;
|
|
static gint ett_xnap_DRBsSubjectToStatusTransfer_List = -1;
|
|
static gint ett_xnap_DRBsSubjectToStatusTransfer_Item = -1;
|
|
static gint ett_xnap_DRBBStatusTransferChoice = -1;
|
|
static gint ett_xnap_DRBBStatusTransfer12bitsSN = -1;
|
|
static gint ett_xnap_DRBBStatusTransfer18bitsSN = -1;
|
|
static gint ett_xnap_DRBToQoSFlowMapping_List = -1;
|
|
static gint ett_xnap_DRBToQoSFlowMapping_Item = -1;
|
|
static gint ett_xnap_Dynamic5QIDescriptor = -1;
|
|
static gint ett_xnap_E_UTRA_CGI = -1;
|
|
static gint ett_xnap_E_UTRAMultibandInfoList = -1;
|
|
static gint ett_xnap_E_UTRAPRACHConfiguration = -1;
|
|
static gint ett_xnap_GBRQoSFlowInfo = -1;
|
|
static gint ett_xnap_GlobalgNB_ID = -1;
|
|
static gint ett_xnap_GNB_ID_Choice = -1;
|
|
static gint ett_xnap_GlobalngeNB_ID = -1;
|
|
static gint ett_xnap_ENB_ID_Choice = -1;
|
|
static gint ett_xnap_GlobalNG_RANNode_ID = -1;
|
|
static gint ett_xnap_GTPtunnelTransportLayerInformation = -1;
|
|
static gint ett_xnap_GUAMI = -1;
|
|
static gint ett_xnap_ListOfCells = -1;
|
|
static gint ett_xnap_CellsinAoI_Item = -1;
|
|
static gint ett_xnap_ListOfTAIsinAoI = -1;
|
|
static gint ett_xnap_TAIsinAoI_Item = -1;
|
|
static gint ett_xnap_LocationReportingInformation = -1;
|
|
static gint ett_xnap_MBSFNSubframeAllocation_E_UTRA = -1;
|
|
static gint ett_xnap_MBSFNSubframeInfo_E_UTRA = -1;
|
|
static gint ett_xnap_MBSFNSubframeInfo_E_UTRA_Item = -1;
|
|
static gint ett_xnap_MobilityRestrictionList = -1;
|
|
static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity = -1;
|
|
static gint ett_xnap_RAT_RestrictionsList = -1;
|
|
static gint ett_xnap_RAT_RestrictionsItem = -1;
|
|
static gint ett_xnap_RAT_RestrictionInformation = -1;
|
|
static gint ett_xnap_ForbiddenAreaList = -1;
|
|
static gint ett_xnap_ForbiddenAreaItem = -1;
|
|
static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC = -1;
|
|
static gint ett_xnap_ServiceAreaList = -1;
|
|
static gint ett_xnap_ServiceAreaItem = -1;
|
|
static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC = -1;
|
|
static gint ett_xnap_NeighbourInformation_E_UTRA = -1;
|
|
static gint ett_xnap_NeighbourInformation_E_UTRA_Item = -1;
|
|
static gint ett_xnap_NeighbourInformation_NR = -1;
|
|
static gint ett_xnap_NeighbourInformation_NR_Item = -1;
|
|
static gint ett_xnap_NeighbourInformation_NR_ModeInfo = -1;
|
|
static gint ett_xnap_NeighbourInformation_NR_ModeFDDInfo = -1;
|
|
static gint ett_xnap_NeighbourInformation_NR_ModeTDDInfo = -1;
|
|
static gint ett_xnap_NG_RAN_Cell_Identity = -1;
|
|
static gint ett_xnap_NG_RAN_CellPCI = -1;
|
|
static gint ett_xnap_NonDynamic5QIDescriptor = -1;
|
|
static gint ett_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea = -1;
|
|
static gint ett_xnap_NR_CGI = -1;
|
|
static gint ett_xnap_NRFrequencyBand_List = -1;
|
|
static gint ett_xnap_NRFrequencyBandItem = -1;
|
|
static gint ett_xnap_NRFrequencyInfo = -1;
|
|
static gint ett_xnap_NRModeInfo = -1;
|
|
static gint ett_xnap_NRModeInfoFDD = -1;
|
|
static gint ett_xnap_NRModeInfoTDD = -1;
|
|
static gint ett_xnap_PDUSessionResourcesAdmitted_List = -1;
|
|
static gint ett_xnap_PDUSessionResourcesAdmitted_Item = -1;
|
|
static gint ett_xnap_PDUSessionResourceAdmittedInfo = -1;
|
|
static gint ett_xnap_PDUSessionResourcesNotAdmitted_List = -1;
|
|
static gint ett_xnap_PDUSessionResourcesNotAdmitted_Item = -1;
|
|
static gint ett_xnap_PDUSessionResourcesToBeSetup_List = -1;
|
|
static gint ett_xnap_PDUSessionResourcesToBeSetup_Item = -1;
|
|
static gint ett_xnap_QoSCharacteristics = -1;
|
|
static gint ett_xnap_QoSFlowLevelQoSParameters = -1;
|
|
static gint ett_xnap_QoSFlows_List = -1;
|
|
static gint ett_xnap_QoSFlow_Item = -1;
|
|
static gint ett_xnap_QoSFlowsAdmitted_List = -1;
|
|
static gint ett_xnap_QoSFlowAdmitted_Item = -1;
|
|
static gint ett_xnap_QoSFlowsNotAdmitted_List = -1;
|
|
static gint ett_xnap_QoSFlowNotAdmitted_Item = -1;
|
|
static gint ett_xnap_QoSFlowsToBeSetup_List = -1;
|
|
static gint ett_xnap_QoSFlowsToBeSetup_Item = -1;
|
|
static gint ett_xnap_RANAreaID = -1;
|
|
static gint ett_xnap_RANAreaID_List = -1;
|
|
static gint ett_xnap_RANPagingArea = -1;
|
|
static gint ett_xnap_RANPagingAreaChoice = -1;
|
|
static gint ett_xnap_RANPagingAttemptInfo = -1;
|
|
static gint ett_xnap_ResetRequestTypeInfo = -1;
|
|
static gint ett_xnap_ResetRequestTypeInfo_Full = -1;
|
|
static gint ett_xnap_ResetRequestTypeInfo_Partial = -1;
|
|
static gint ett_xnap_ResetRequestPartialReleaseList = -1;
|
|
static gint ett_xnap_ResetRequestPartialReleaseItem = -1;
|
|
static gint ett_xnap_ResetResponseTypeInfo = -1;
|
|
static gint ett_xnap_ResetResponseTypeInfo_Full = -1;
|
|
static gint ett_xnap_ResetResponseTypeInfo_Partial = -1;
|
|
static gint ett_xnap_ResetResponsePartialReleaseList = -1;
|
|
static gint ett_xnap_ResetResponsePartialReleaseItem = -1;
|
|
static gint ett_xnap_SecurityIndication = -1;
|
|
static gint ett_xnap_ServedCellInformation_E_UTRA = -1;
|
|
static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN = -1;
|
|
static gint ett_xnap_ServedCellInformation_E_UTRA_perBPLMN = -1;
|
|
static gint ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo = -1;
|
|
static gint ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_FDDInfo = -1;
|
|
static gint ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_TDDInfo = -1;
|
|
static gint ett_xnap_ServedCells_E_UTRA = -1;
|
|
static gint ett_xnap_ServedCells_E_UTRA_Item = -1;
|
|
static gint ett_xnap_ServedCellsToUpdate_E_UTRA = -1;
|
|
static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI = -1;
|
|
static gint ett_xnap_ServedCells_ToModify_E_UTRA = -1;
|
|
static gint ett_xnap_ServedCells_ToModify_E_UTRA_Item = -1;
|
|
static gint ett_xnap_ServedCellInformation_NR = -1;
|
|
static gint ett_xnap_ServedCells_NR = -1;
|
|
static gint ett_xnap_ServedCells_NR_Item = -1;
|
|
static gint ett_xnap_ServedCells_ToModify_NR = -1;
|
|
static gint ett_xnap_ServedCells_ToModify_NR_Item = -1;
|
|
static gint ett_xnap_ServedCellsToUpdate_NR = -1;
|
|
static gint ett_xnap_SliceSupport_List = -1;
|
|
static gint ett_xnap_S_NSSAI = -1;
|
|
static gint ett_xnap_SpecialSubframeInfo_E_UTRA = -1;
|
|
static gint ett_xnap_SUL_Information = -1;
|
|
static gint ett_xnap_SupportedSULBandList = -1;
|
|
static gint ett_xnap_SupportedSULBandItem = -1;
|
|
static gint ett_xnap_TAISupport_List = -1;
|
|
static gint ett_xnap_TAISupport_Item = -1;
|
|
static gint ett_xnap_SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item = -1;
|
|
static gint ett_xnap_Target_CGI = -1;
|
|
static gint ett_xnap_TraceActivation = -1;
|
|
static gint ett_xnap_T_interfaces_to_trace = -1;
|
|
static gint ett_xnap_UEAggregateMaximumBitRate = -1;
|
|
static gint ett_xnap_UEContextID = -1;
|
|
static gint ett_xnap_UEContextIDforRRCResume = -1;
|
|
static gint ett_xnap_UEContextIDforRRCReestablishment = -1;
|
|
static gint ett_xnap_UEContextInfoRetrUECtxtResp = -1;
|
|
static gint ett_xnap_UERANPagingIdentity = -1;
|
|
static gint ett_xnap_UESecurityCapabilities = -1;
|
|
static gint ett_xnap_T_nr_EncyptionAlgorithms = -1;
|
|
static gint ett_xnap_T_nr_IntegrityProtectionAlgorithms = -1;
|
|
static gint ett_xnap_T_e_utra_EncyptionAlgorithms = -1;
|
|
static gint ett_xnap_T_e_utra_IntegrityProtectionAlgorithms = -1;
|
|
static gint ett_xnap_UPTransportLayerInformation = -1;
|
|
static gint ett_xnap_HandoverRequest = -1;
|
|
static gint ett_xnap_UEContextInfoHORequest = -1;
|
|
static gint ett_xnap_HandoverRequestAcknowledge = -1;
|
|
static gint ett_xnap_HandoverPreparationFailure = -1;
|
|
static gint ett_xnap_SNStatusTransfer = -1;
|
|
static gint ett_xnap_UEContextRelease = -1;
|
|
static gint ett_xnap_HandoverCancel = -1;
|
|
static gint ett_xnap_RANPaging = -1;
|
|
static gint ett_xnap_RetrieveUEContextRequest = -1;
|
|
static gint ett_xnap_RetrieveUEContextResponse = -1;
|
|
static gint ett_xnap_RetrieveUEContextFailure = -1;
|
|
static gint ett_xnap_DataForwardingAddressIndication = -1;
|
|
static gint ett_xnap_SNodeAdditionRequest = -1;
|
|
static gint ett_xnap_SNodeAdditionRequestAcknowledge = -1;
|
|
static gint ett_xnap_SNodeAdditionRequestReject = -1;
|
|
static gint ett_xnap_SNodeReconfigurationComplete = -1;
|
|
static gint ett_xnap_SNodeModificationRequest = -1;
|
|
static gint ett_xnap_SNodeModificationRequestAcknowledge = -1;
|
|
static gint ett_xnap_SNodeModificationRequestReject = -1;
|
|
static gint ett_xnap_SNodeModificationRequired = -1;
|
|
static gint ett_xnap_SNodeModificationConfirm = -1;
|
|
static gint ett_xnap_SNodeModificationRefuse = -1;
|
|
static gint ett_xnap_SNodeReleaseRequest = -1;
|
|
static gint ett_xnap_SNodeReleaseRequestAcknowledge = -1;
|
|
static gint ett_xnap_SNodeReleaseReject = -1;
|
|
static gint ett_xnap_SNodeReleaseRequired = -1;
|
|
static gint ett_xnap_SNodeReleaseConfirm = -1;
|
|
static gint ett_xnap_SNodeCounterCheckRequest = -1;
|
|
static gint ett_xnap_SNodeChangeRequired = -1;
|
|
static gint ett_xnap_SNodeChangeConfirm = -1;
|
|
static gint ett_xnap_SNodeChangeRefuse = -1;
|
|
static gint ett_xnap_RRCTransfer = -1;
|
|
static gint ett_xnap_XnSetupRequest = -1;
|
|
static gint ett_xnap_XnSetupResponse = -1;
|
|
static gint ett_xnap_XnSetupFailure = -1;
|
|
static gint ett_xnap_NGRANNodeConfigurationUpdate = -1;
|
|
static gint ett_xnap_ConfigurationUpdateInitiatingNodeChoice = -1;
|
|
static gint ett_xnap_NGRANNodeConfigurationUpdateAcknowledge = -1;
|
|
static gint ett_xnap_RespondingNodeTypeConfigUpdateAck = -1;
|
|
static gint ett_xnap_RespondingNodeTypeConfigUpdateAck_ng_eNB = -1;
|
|
static gint ett_xnap_RespondingNodeTypeConfigUpdateAck_gNB = -1;
|
|
static gint ett_xnap_NGRANNodeConfigurationUpdateFailure = -1;
|
|
static gint ett_xnap_XnRemovalRequest = -1;
|
|
static gint ett_xnap_XnRemovalResponse = -1;
|
|
static gint ett_xnap_XnRemovalFailure = -1;
|
|
static gint ett_xnap_CellActivationRequest = -1;
|
|
static gint ett_xnap_ServedCellsToActivate = -1;
|
|
static gint ett_xnap_CellActivationResponse = -1;
|
|
static gint ett_xnap_ActivatedServedCells = -1;
|
|
static gint ett_xnap_CellActivationFailure = -1;
|
|
static gint ett_xnap_ResetRequest = -1;
|
|
static gint ett_xnap_ResetResponse = -1;
|
|
static gint ett_xnap_ErrorIndication = -1;
|
|
static gint ett_xnap_PrivateMessage = -1;
|
|
static gint ett_xnap_XnAP_PDU = -1;
|
|
static gint ett_xnap_InitiatingMessage = -1;
|
|
static gint ett_xnap_SuccessfulOutcome = -1;
|
|
static gint ett_xnap_UnsuccessfulOutcome = -1;
|
|
|
|
/*--- End of included file: packet-xnap-ett.c ---*/
|
|
#line 66 "./asn1/xnap/packet-xnap-template.c"
|
|
|
|
enum {
|
|
XNAP_NG_RAN_CONTAINER_AUTOMATIC,
|
|
XNAP_NG_RAN_CONTAINER_GNB,
|
|
XNAP_NG_RAN_CONTAINER_NG_ENB
|
|
};
|
|
|
|
static const enum_val_t xnap_target_ng_ran_container_vals[] = {
|
|
{"automatic", "automatic", XNAP_NG_RAN_CONTAINER_AUTOMATIC},
|
|
{"gnb", "gNB", XNAP_NG_RAN_CONTAINER_GNB},
|
|
{"ng-enb","ng-eNB", XNAP_NG_RAN_CONTAINER_NG_ENB},
|
|
{NULL, NULL, -1}
|
|
};
|
|
|
|
/* Global variables */
|
|
static guint xnap_sctp_port = SCTP_PORT_XnAP;
|
|
static gint xnap_dissect_target_ng_ran_container_as = XNAP_NG_RAN_CONTAINER_AUTOMATIC;
|
|
|
|
/* Dissector tables */
|
|
static dissector_table_t xnap_ies_dissector_table;
|
|
static dissector_table_t xnap_extension_dissector_table;
|
|
static dissector_table_t xnap_proc_imsg_dissector_table;
|
|
static dissector_table_t xnap_proc_sout_dissector_table;
|
|
static dissector_table_t xnap_proc_uout_dissector_table;
|
|
|
|
void proto_register_xnap(void);
|
|
void proto_reg_handoff_xnap(void);
|
|
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
|
static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
|
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
|
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
|
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
|
static int dissect_XnAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
|
|
|
static dissector_handle_t xnap_handle;
|
|
|
|
static void
|
|
xnap_PacketLossRate_fmt(gchar *s, guint32 v)
|
|
{
|
|
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f %% (%u)", (float)v/10, v);
|
|
}
|
|
|
|
typedef enum {
|
|
INITIATING_MESSAGE,
|
|
SUCCESSFUL_OUTCOME,
|
|
UNSUCCESSFUL_OUTCOME
|
|
} xnap_message_type;
|
|
|
|
struct xnap_conv_info {
|
|
address addr_a;
|
|
GlobalNG_RANNode_ID_enum ranmode_id_a;
|
|
address addr_b;
|
|
GlobalNG_RANNode_ID_enum ranmode_id_b;
|
|
};
|
|
|
|
struct xnap_private_data {
|
|
struct xnap_conv_info *xnap_conv;
|
|
xnap_message_type message_type;
|
|
guint32 procedure_code;
|
|
guint32 protocol_ie_id;
|
|
guint32 triggering_message;
|
|
};
|
|
|
|
static struct xnap_private_data*
|
|
xnap_get_private_data(packet_info *pinfo)
|
|
{
|
|
struct xnap_private_data *xnap_data = (struct xnap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_xnap, 0);
|
|
if (!xnap_data) {
|
|
xnap_data = wmem_new0(pinfo->pool, struct xnap_private_data);
|
|
p_add_proto_data(pinfo->pool, pinfo, proto_xnap, 0, xnap_data);
|
|
}
|
|
return xnap_data;
|
|
}
|
|
|
|
|
|
/*--- Included file: packet-xnap-fn.c ---*/
|
|
#line 1 "./asn1/xnap/packet-xnap-fn.c"
|
|
|
|
static const value_string xnap_Criticality_vals[] = {
|
|
{ 0, "reject" },
|
|
{ 1, "ignore" },
|
|
{ 2, "notify" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_INTEGER_0_maxPrivateIEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxPrivateIEs, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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 xnap_PrivateIE_ID_vals[] = {
|
|
{ 0, "local" },
|
|
{ 1, "global" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t PrivateIE_ID_choice[] = {
|
|
{ 0, &hf_xnap_local , ASN1_NO_EXTENSIONS , dissect_xnap_INTEGER_0_maxPrivateIEs },
|
|
{ 1, &hf_xnap_global , ASN1_NO_EXTENSIONS , dissect_xnap_OBJECT_IDENTIFIER },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_PrivateIE_ID, PrivateIE_ID_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_ProcedureCode_vals[] = {
|
|
{ id_handoverPreparation, "id-handoverPreparation" },
|
|
{ id_sNStatusTransfer, "id-sNStatusTransfer" },
|
|
{ id_handoverCancel, "id-handoverCancel" },
|
|
{ id_retrieveUEContext, "id-retrieveUEContext" },
|
|
{ id_rANPaging, "id-rANPaging" },
|
|
{ id_dataForwardingAddressIndication, "id-dataForwardingAddressIndication" },
|
|
{ id_uEContextRelease, "id-uEContextRelease" },
|
|
{ id_sNGRANnodeAdditionPreparation, "id-sNGRANnodeAdditionPreparation" },
|
|
{ id_sNGRANnodeReconfigurationCompletion, "id-sNGRANnodeReconfigurationCompletion" },
|
|
{ id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation, "id-mNGRANnodeinitiatedSNGRANnodeModificationPreparation" },
|
|
{ id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation, "id-sNGRANnodeinitiatedSNGRANnodeModificationPreparation" },
|
|
{ id_mNGRANnodeinitiatedSNGRANnodeRelease, "id-mNGRANnodeinitiatedSNGRANnodeRelease" },
|
|
{ id_sNGRANnodeinitiatedSNGRANnodeRelease, "id-sNGRANnodeinitiatedSNGRANnodeRelease" },
|
|
{ id_sNGRANnodeCounterCheck, "id-sNGRANnodeCounterCheck" },
|
|
{ id_sNGRANnodeChange, "id-sNGRANnodeChange" },
|
|
{ id_rRCTransfer, "id-rRCTransfer" },
|
|
{ id_xnRemoval, "id-xnRemoval" },
|
|
{ id_xnSetup, "id-xnSetup" },
|
|
{ id_nGRANnodeConfigurationUpdate, "id-nGRANnodeConfigurationUpdate" },
|
|
{ id_cellActivation, "id-cellActivation" },
|
|
{ id_reset, "id-reset" },
|
|
{ id_errorIndication, "id-errorIndication" },
|
|
{ id_privateMessage, "id-privateMessage" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext xnap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(xnap_ProcedureCode_vals);
|
|
|
|
|
|
static int
|
|
dissect_xnap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 75 "./asn1/xnap/xnap.cnf"
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 255U, &xnap_data->procedure_code, FALSE);
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_ProtocolIE_ID_vals[] = {
|
|
{ id_ActivatedServedCells, "id-ActivatedServedCells" },
|
|
{ id_ActivationIDforCellActivation, "id-ActivationIDforCellActivation" },
|
|
{ id_AMF_Pool_Information, "id-AMF-Pool-Information" },
|
|
{ id_AreaOfInterest_Item, "id-AreaOfInterest-Item" },
|
|
{ id_AssistanceDataForRANPaging, "id-AssistanceDataForRANPaging" },
|
|
{ id_Cause, "id-Cause" },
|
|
{ id_cellAssistanceInfo_NR, "id-cellAssistanceInfo-NR" },
|
|
{ id_ConfigurationUpdateInitiatingNodeChoice, "id-ConfigurationUpdateInitiatingNodeChoice" },
|
|
{ id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
|
|
{ id_dataforwardingInfoperPDUSession, "id-dataforwardingInfoperPDUSession" },
|
|
{ id_dataforwardingInfoperPDUSession_Item, "id-dataforwardingInfoperPDUSession-Item" },
|
|
{ id_DataForwardingResponseDRBItem, "id-DataForwardingResponseDRBItem" },
|
|
{ id_DRBsSubjectToStatusTransfer_Item, "id-DRBsSubjectToStatusTransfer-Item" },
|
|
{ id_DRBsSubjectToStatusTransfer_List, "id-DRBsSubjectToStatusTransfer-List" },
|
|
{ id_DRBToQoSFlowMapping_Item, "id-DRBToQoSFlowMapping-Item" },
|
|
{ id_GlobalNG_RAN_node_ID, "id-GlobalNG-RAN-node-ID" },
|
|
{ id_GUAMI, "id-GUAMI" },
|
|
{ id_List_of_served_cells_E_UTRA, "id-List-of-served-cells-E-UTRA" },
|
|
{ id_List_of_served_cells_NR, "id-List-of-served-cells-NR" },
|
|
{ id_LocationReportingInformation, "id-LocationReportingInformation" },
|
|
{ id_MAC_I, "id-MAC-I" },
|
|
{ id_MaskedIMEISV, "id-MaskedIMEISV" },
|
|
{ id_new_NG_RAN_Cell_Identity, "id-new-NG-RAN-Cell-Identity" },
|
|
{ id_newNG_RANnodeUEXnAPID, "id-newNG-RANnodeUEXnAPID" },
|
|
{ id_oldNG_RANnodeUEXnAPID, "id-oldNG-RANnodeUEXnAPID" },
|
|
{ id_PagingDRX, "id-PagingDRX" },
|
|
{ id_PDUSessionResourceAdmittedResponseTransferItem, "id-PDUSessionResourceAdmittedResponseTransferItem" },
|
|
{ id_PDUSessionResourcesAdmitted_Item, "id-PDUSessionResourcesAdmitted-Item" },
|
|
{ id_PDUSessionResourcesAdmitted_List, "id-PDUSessionResourcesAdmitted-List" },
|
|
{ id_PDUSessionResourcesNotAdmitted_Item, "id-PDUSessionResourcesNotAdmitted-Item" },
|
|
{ id_PDUSessionResourcesNotAdmitted_List, "id-PDUSessionResourcesNotAdmitted-List" },
|
|
{ id_PDUSessionResourcesToBeSetup_Item, "id-PDUSessionResourcesToBeSetup-Item" },
|
|
{ id_QoSFlowAdmitted_Item, "id-QoSFlowAdmitted-Item" },
|
|
{ id_QoSFlow_Item, "id-QoSFlow-Item" },
|
|
{ id_QoSFlowNotAdmitted_Item, "id-QoSFlowNotAdmitted-Item" },
|
|
{ id_QoSFlowsToBeSetup_Item, "id-QoSFlowsToBeSetup-Item" },
|
|
{ id_RANPagingArea, "id-RANPagingArea" },
|
|
{ id_RANPagingPriority, "id-RANPagingPriority" },
|
|
{ id_ResetRequestPartialReleaseItem, "id-ResetRequestPartialReleaseItem" },
|
|
{ id_ResetRequestTypeInfo, "id-ResetRequestTypeInfo" },
|
|
{ id_ResetResponsePartialReleaseItem, "id-ResetResponsePartialReleaseItem" },
|
|
{ id_ResetResponseTypeInfo, "id-ResetResponseTypeInfo" },
|
|
{ id_RespondingNodeTypeConfigUpdateAck, "id-RespondingNodeTypeConfigUpdateAck" },
|
|
{ id_ServedCellsToActivate, "id-ServedCellsToActivate" },
|
|
{ id_servedCellsToUpdate_E_UTRA, "id-servedCellsToUpdate-E-UTRA" },
|
|
{ id_ServedCellsToUpdateInitiatingNodeChoice, "id-ServedCellsToUpdateInitiatingNodeChoice" },
|
|
{ id_servedCellsToUpdate_NR, "id-servedCellsToUpdate-NR" },
|
|
{ id_sourceNG_RANnodeUEXnAPID, "id-sourceNG-RANnodeUEXnAPID" },
|
|
{ id_TAISupport_Item, "id-TAISupport-Item" },
|
|
{ id_TAISupport_list, "id-TAISupport-list" },
|
|
{ id_Target2SourceNG_RANnodeTranspContainer, "id-Target2SourceNG-RANnodeTranspContainer" },
|
|
{ id_targetCellGlobalID, "id-targetCellGlobalID" },
|
|
{ id_targetNG_RANnodeUEXnAPID, "id-targetNG-RANnodeUEXnAPID" },
|
|
{ id_TraceActivation, "id-TraceActivation" },
|
|
{ id_UEContextID, "id-UEContextID" },
|
|
{ id_UEContextInfoHORequest, "id-UEContextInfoHORequest" },
|
|
{ id_UEContextInfoRetrUECtxtResp, "id-UEContextInfoRetrUECtxtResp" },
|
|
{ id_UEIdentityIndexValue, "id-UEIdentityIndexValue" },
|
|
{ id_UERANPagingIdentity, "id-UERANPagingIdentity" },
|
|
{ id_XnRemovalThreshold, "id-XnRemovalThreshold" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext xnap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(xnap_ProtocolIE_ID_vals);
|
|
|
|
|
|
static int
|
|
dissect_xnap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 62 "./asn1/xnap/xnap.cnf"
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxProtocolIEs, &xnap_data->protocol_ie_id, FALSE);
|
|
|
|
|
|
|
|
#line 65 "./asn1/xnap/xnap.cnf"
|
|
if (tree) {
|
|
proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(xnap_data->protocol_ie_id, &xnap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
|
|
}
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_TriggeringMessage_vals[] = {
|
|
{ initiating_message, "initiating-message" },
|
|
{ successful_outcome, "successful-outcome" },
|
|
{ unsuccessful_outcome, "unsuccessful-outcome" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 79 "./asn1/xnap/xnap.cnf"
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, &xnap_data->triggering_message, FALSE, 0, NULL);
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_ProtocolIE_Field_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ProtocolIE_Field_sequence[] = {
|
|
{ &hf_xnap_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_ID },
|
|
{ &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
|
|
{ &hf_xnap_protocolIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Field_value },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_ProtocolIE_Field, ProtocolIE_Field_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
|
|
{ &hf_xnap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Field },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
|
|
0, maxProtocolIEs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_ProtocolIE_Single_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_xnap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_extension_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_ID },
|
|
{ &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
|
|
{ &hf_xnap_extensionValue , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_T_extensionValue },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_ProtocolExtensionField, ProtocolExtensionField_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
|
|
{ &hf_xnap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolExtensionField },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
|
|
1, maxProtocolExtensions, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_PrivateIE_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(tvb, offset, actx, tree, hf_index, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PrivateIE_Field_sequence[] = {
|
|
{ &hf_xnap_private_id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_PrivateIE_ID },
|
|
{ &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
|
|
{ &hf_xnap_privateIE_Field_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_PrivateIE_Field_value },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_PrivateIE_Field, PrivateIE_Field_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PrivateIE_Container_sequence_of[1] = {
|
|
{ &hf_xnap_PrivateIE_Container_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_PrivateIE_Field },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_PrivateIE_Container, PrivateIE_Container_sequence_of,
|
|
1, maxPrivateIEs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_ActivationIDforCellActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_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_xnap_INTEGER_0_15_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 15U, NULL, TRUE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_pre_emption_capability_vals[] = {
|
|
{ 0, "shall-not-trigger-preemptdatDion" },
|
|
{ 1, "may-trigger-preemption" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_pre_emption_capability(tvbuff_t *tvb _U_, int offset _U_, asn1_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 xnap_T_pre_emption_vulnerability_vals[] = {
|
|
{ 0, "not-preemptable" },
|
|
{ 1, "preemptable" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_pre_emption_vulnerability(tvbuff_t *tvb _U_, int offset _U_, asn1_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_xnap_priorityLevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_15_ },
|
|
{ &hf_xnap_pre_emption_capability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_pre_emption_capability },
|
|
{ &hf_xnap_pre_emption_vulnerability, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_pre_emption_vulnerability },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_AllocationandRetentionPriority, AllocationandRetentionPriority_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_AMF_Pool_Information(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_xnap_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(tvb, offset, actx, tree, hf_index,
|
|
0U, 4294967295U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t AreaOfInterest_sequence_of[1] = {
|
|
{ &hf_xnap_AreaOfInterest_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_AreaOfInterest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_AreaOfInterest, AreaOfInterest_sequence_of,
|
|
1, maxnoofAoIs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 200 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
proto_tree *subtree;
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
3, 3, FALSE, ¶meter_tvb);
|
|
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_xnap_PLMN_Identity);
|
|
dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 212 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
3, 3, FALSE, ¶meter_tvb);
|
|
|
|
if (parameter_tvb) {
|
|
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TAIsinAoI_Item_sequence[] = {
|
|
{ &hf_xnap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_TAIsinAoI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_TAIsinAoI_Item, TAIsinAoI_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ListOfTAIsinAoI_sequence_of[1] = {
|
|
{ &hf_xnap_ListOfTAIsinAoI_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_TAIsinAoI_Item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ListOfTAIsinAoI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ListOfTAIsinAoI, ListOfTAIsinAoI_sequence_of,
|
|
1, maxnoofTAIsinAoI, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_NR_Cell_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 225 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *cell_id_tvb = NULL;
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
|
|
36, 36, FALSE, &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 int
|
|
dissect_xnap_E_UTRA_Cell_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 239 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *cell_id_tvb = NULL;
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
|
|
28, 28, FALSE, &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 value_string xnap_NG_RAN_Cell_Identity_vals[] = {
|
|
{ 0, "nr" },
|
|
{ 1, "e-utra" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t NG_RAN_Cell_Identity_choice[] = {
|
|
{ 0, &hf_xnap_nr , ASN1_EXTENSION_ROOT , dissect_xnap_NR_Cell_Identity },
|
|
{ 1, &hf_xnap_e_utra , ASN1_EXTENSION_ROOT , dissect_xnap_E_UTRA_Cell_Identity },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NG_RAN_Cell_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NG_RAN_Cell_Identity, NG_RAN_Cell_Identity_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CellsinAoI_Item_sequence[] = {
|
|
{ &hf_xnap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_ng_ran_cell_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RAN_Cell_Identity },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_CellsinAoI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_CellsinAoI_Item, CellsinAoI_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ListOfCells_sequence_of[1] = {
|
|
{ &hf_xnap_ListOfCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_CellsinAoI_Item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ListOfCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ListOfCells, ListOfCells_sequence_of,
|
|
1, maxnoofCellsinAoI, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t AreaOfInterest_Item_sequence[] = {
|
|
{ &hf_xnap_listOfTAIs , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ListOfTAIsinAoI },
|
|
{ &hf_xnap_listOfCells , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ListOfCells },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_AreaOfInterest_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_AreaOfInterest_Item, AreaOfInterest_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_BIT_STRING_SIZE_256(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, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 7U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t AS_SecurityInformation_sequence[] = {
|
|
{ &hf_xnap_key_NG_RAN_Star, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BIT_STRING_SIZE_256 },
|
|
{ &hf_xnap_ncc , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_7 },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_AS_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_AS_SecurityInformation, AS_SecurityInformation_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_INTEGER_1_16_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 16U, NULL, TRUE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_nextPagingAreaScope_vals[] = {
|
|
{ 0, "same" },
|
|
{ 1, "changed" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_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 RANPagingAttemptInfo_sequence[] = {
|
|
{ &hf_xnap_pagingAttemptCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_1_16_ },
|
|
{ &hf_xnap_intendedNumberOfPagingAttempts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_1_16_ },
|
|
{ &hf_xnap_nextPagingAreaScope, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_nextPagingAreaScope },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RANPagingAttemptInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RANPagingAttemptInfo, RANPagingAttemptInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t AssistanceDataForRANPaging_sequence[] = {
|
|
{ &hf_xnap_ran_paging_attempt_info, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RANPagingAttemptInfo },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_AssistanceDataForRANPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_AssistanceDataForRANPaging, AssistanceDataForRANPaging_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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, 63U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
|
|
0U, G_GUINT64_CONSTANT(4000000000000), NULL, TRUE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BroadcastPLMNs_sequence_of[1] = {
|
|
{ &hf_xnap_BroadcastPLMNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_BroadcastPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_BroadcastPLMNs, BroadcastPLMNs_sequence_of,
|
|
1, maxnoofBPLMNs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_OCTET_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
1, 1, FALSE, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_OCTET_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
3, 3, FALSE, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t S_NSSAI_sequence[] = {
|
|
{ &hf_xnap_sst , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_OCTET_STRING_SIZE_1 },
|
|
{ &hf_xnap_sd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_OCTET_STRING_SIZE_3 },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_S_NSSAI, S_NSSAI_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SliceSupport_List_sequence_of[1] = {
|
|
{ &hf_xnap_SliceSupport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_S_NSSAI },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SliceSupport_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_xnap_SliceSupport_List, SliceSupport_List_sequence_of,
|
|
1, maxnoofSliceItems, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BroadcastPLMNinTAISupport_Item_sequence[] = {
|
|
{ &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_tAISliceSupport_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SliceSupport_List },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_BroadcastPLMNinTAISupport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_BroadcastPLMNinTAISupport_Item, BroadcastPLMNinTAISupport_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_CauseRadioNetworkLayer_vals[] = {
|
|
{ 0, "cell-not-available" },
|
|
{ 1, "handover-desirable-for-radio-reasons" },
|
|
{ 2, "handover-target-not-allowed" },
|
|
{ 3, "invalid-AMF-Region-ID" },
|
|
{ 4, "no-radio-resources-available-in-target-cell" },
|
|
{ 5, "partial-handover" },
|
|
{ 6, "reduce-load-in-serving-cell" },
|
|
{ 7, "resource-optimisation-handover" },
|
|
{ 8, "time-critical-handover" },
|
|
{ 9, "tXnRELOCoverall-expiry" },
|
|
{ 10, "tTXnRELOCprep-expiry" },
|
|
{ 11, "unknown-GUAMI-ID" },
|
|
{ 12, "unknown-local-NG-RAN-node-UE-XnAP-ID" },
|
|
{ 13, "inconsistent-remote-NG-RAN-node-UE-XnAP-ID" },
|
|
{ 14, "encryption-and-or-integrity-protection-algorithms-not-supported" },
|
|
{ 15, "protection-algorithms-not-supported" },
|
|
{ 16, "multiple-PDU-session-ID-instances" },
|
|
{ 17, "unknown-PDU-session-ID" },
|
|
{ 18, "unknown-QoS-Flow-ID" },
|
|
{ 19, "multiple-QoS-Flow-ID-instances" },
|
|
{ 20, "switch-off-ongoing" },
|
|
{ 21, "not-supported-5QI-value" },
|
|
{ 22, "tXnDCoverall-expiry" },
|
|
{ 23, "tXnDCprep-expiry" },
|
|
{ 24, "action-desirable-for-radio-reasons" },
|
|
{ 25, "reduce-load" },
|
|
{ 26, "resource-optimisation" },
|
|
{ 27, "time-critical-action" },
|
|
{ 28, "target-not-allowed" },
|
|
{ 29, "no-radio-resources-available" },
|
|
{ 30, "invalid-QoS-combination" },
|
|
{ 31, "encryption-algorithms-not-supported" },
|
|
{ 32, "procedure-cancelled" },
|
|
{ 33, "rRM-purpose" },
|
|
{ 34, "improve-user-bit-rate" },
|
|
{ 35, "user-inactivity" },
|
|
{ 36, "radio-connection-with-UE-lost" },
|
|
{ 37, "failure-in-the-radio-interface-procedure" },
|
|
{ 38, "bearer-option-not-supported" },
|
|
{ 39, "up-integrity-protection-not-possible" },
|
|
{ 40, "up-confidentiality-protection-not-possible" },
|
|
{ 41, "unspecified" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_CauseRadioNetworkLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
42, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_CauseTransportLayer_vals[] = {
|
|
{ 0, "transport-resource-unavailable" },
|
|
{ 1, "unspecified" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_CauseTransportLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_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 xnap_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_xnap_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 xnap_CauseMisc_vals[] = {
|
|
{ 0, "control-processing-overload" },
|
|
{ 1, "hardware-failure" },
|
|
{ 2, "o-and-M-intervention" },
|
|
{ 3, "not-enough-user-plane-processing-resources" },
|
|
{ 4, "unspecified" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
5, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_Cause_vals[] = {
|
|
{ 0, "radioNetwork" },
|
|
{ 1, "transport" },
|
|
{ 2, "protocol" },
|
|
{ 3, "misc" },
|
|
{ 4, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t Cause_choice[] = {
|
|
{ 0, &hf_xnap_radioNetwork , ASN1_EXTENSION_ROOT , dissect_xnap_CauseRadioNetworkLayer },
|
|
{ 1, &hf_xnap_transport , ASN1_EXTENSION_ROOT , dissect_xnap_CauseTransportLayer },
|
|
{ 2, &hf_xnap_protocol , ASN1_EXTENSION_ROOT , dissect_xnap_CauseProtocol },
|
|
{ 3, &hf_xnap_misc , ASN1_EXTENSION_ROOT , dissect_xnap_CauseMisc },
|
|
{ 4, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_Cause, Cause_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NR_CGI_sequence[] = {
|
|
{ &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_nr_CI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NR_Cell_Identity },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NR_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NR_CGI, NR_CGI_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI_sequence_of[1] = {
|
|
{ &hf_xnap_limitedNR_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_NR_CGI },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI, SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI_sequence_of,
|
|
1, maxnoofCellsinNGRANnode, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_full_List_vals[] = {
|
|
{ 0, "all-served-cells-NR" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_full_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_CellAssistanceInfo_NR_vals[] = {
|
|
{ 0, "limitedNR-List" },
|
|
{ 1, "full-List" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t CellAssistanceInfo_NR_choice[] = {
|
|
{ 0, &hf_xnap_limitedNR_List , ASN1_EXTENSION_ROOT , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI },
|
|
{ 1, &hf_xnap_full_List , ASN1_EXTENSION_ROOT , dissect_xnap_T_full_List },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_CellAssistanceInfo_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_xnap_CellAssistanceInfo_NR, CellAssistanceInfo_NR_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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 int
|
|
dissect_xnap_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 COUNT_PDCP_SN12_sequence[] = {
|
|
{ &hf_xnap_pdcp_SN12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_4095 },
|
|
{ &hf_xnap_hfn_PDCP_SN12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_1048575 },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_COUNT_PDCP_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_xnap_COUNT_PDCP_SN12, COUNT_PDCP_SN12_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_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 COUNT_PDCP_SN18_sequence[] = {
|
|
{ &hf_xnap_pdcp_SN18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_262143 },
|
|
{ &hf_xnap_hfn_PDCP_SN18 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_16383 },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_COUNT_PDCP_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_xnap_COUNT_PDCP_SN18, COUNT_PDCP_SN18_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 261 "./asn1/xnap/xnap.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, ¶meter_tvb, &len);
|
|
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_xnap_TransportLayerAddress);
|
|
if (len == 32) {
|
|
/* IPv4 */
|
|
proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
|
|
} else if (len == 128) {
|
|
/* IPv6 */
|
|
proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA);
|
|
} else if (len == 160) {
|
|
/* IPv4 */
|
|
proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
|
|
/* IPv6 */
|
|
proto_tree_add_item(subtree, hf_xnap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_CPTransportLayerInformation_vals[] = {
|
|
{ 0, "endpointIPAddress" },
|
|
{ 1, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t CPTransportLayerInformation_choice[] = {
|
|
{ 0, &hf_xnap_endpointIPAddress, ASN1_EXTENSION_ROOT , dissect_xnap_TransportLayerAddress },
|
|
{ 1, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_CPTransportLayerInformation, CPTransportLayerInformation_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_TypeOfError_vals[] = {
|
|
{ 0, "not-understood" },
|
|
{ 1, "missing" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CriticalityDiagnostics_IE_List_item_sequence[] = {
|
|
{ &hf_xnap_iECriticality , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
|
|
{ &hf_xnap_iE_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_ID },
|
|
{ &hf_xnap_typeOfError , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TypeOfError },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_CriticalityDiagnostics_IE_List_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_CriticalityDiagnostics_IE_List_item, CriticalityDiagnostics_IE_List_item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
|
|
{ &hf_xnap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_CriticalityDiagnostics_IE_List_item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
|
|
1, maxNrOfErrors, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CriticalityDiagnostics_sequence[] = {
|
|
{ &hf_xnap_procedureCode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProcedureCode },
|
|
{ &hf_xnap_triggeringMessage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_TriggeringMessage },
|
|
{ &hf_xnap_procedureCriticality, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_Criticality },
|
|
{ &hf_xnap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_CriticalityDiagnostics_IE_List },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_C_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
16, 16, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_CyclicPrefix_E_UTRA_DL_vals[] = {
|
|
{ 0, "normal" },
|
|
{ 1, "extended" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_CyclicPrefix_E_UTRA_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_CyclicPrefix_E_UTRA_UL_vals[] = {
|
|
{ 0, "normal" },
|
|
{ 1, "extended" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_CyclicPrefix_E_UTRA_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DataforwardingInfoperPDUSession_sequence_of[1] = {
|
|
{ &hf_xnap_DataforwardingInfoperPDUSession_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DataforwardingInfoperPDUSession(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_DataforwardingInfoperPDUSession, DataforwardingInfoperPDUSession_sequence_of,
|
|
1, maxnoofPDUSessions, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_PDUSession_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, 255U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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 GTPtunnelTransportLayerInformation_sequence[] = {
|
|
{ &hf_xnap_tnl_address , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TransportLayerAddress },
|
|
{ &hf_xnap_gtp_teid , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_GTP_TEID },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_GTPtunnelTransportLayerInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_GTPtunnelTransportLayerInformation, GTPtunnelTransportLayerInformation_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_UPTransportLayerInformation_vals[] = {
|
|
{ 0, "gtpTunnel" },
|
|
{ 1, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t UPTransportLayerInformation_choice[] = {
|
|
{ 0, &hf_xnap_gtpTunnel , ASN1_EXTENSION_ROOT , dissect_xnap_GTPtunnelTransportLayerInformation },
|
|
{ 1, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_UPTransportLayerInformation, UPTransportLayerInformation_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DataforwardingInfoperPDUSession_Item_sequence[] = {
|
|
{ &hf_xnap_pduSession_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSession_ID },
|
|
{ &hf_xnap_dlForwardingUPTNL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_UPTransportLayerInformation },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DataforwardingInfoperPDUSession_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_DataforwardingInfoperPDUSession_Item, DataforwardingInfoperPDUSession_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_DataForwardingAccepted_vals[] = {
|
|
{ 0, "data-forwarding-accepted" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_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 DataForwardingResponseDRBItemList_sequence_of[1] = {
|
|
{ &hf_xnap_DataForwardingResponseDRBItemList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DataForwardingResponseDRBItemList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_DataForwardingResponseDRBItemList, DataForwardingResponseDRBItemList_sequence_of,
|
|
1, maxnoofDRBs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DataForwardingInfoFromTargetNGRANnode_sequence[] = {
|
|
{ &hf_xnap_pduSessionLevelDLDataForwardingInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_UPTransportLayerInformation },
|
|
{ &hf_xnap_dataForwardingResponseDRBItemList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_DataForwardingResponseDRBItemList },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DataForwardingInfoFromTargetNGRANnode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_DataForwardingInfoFromTargetNGRANnode, DataForwardingInfoFromTargetNGRANnode_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_drb_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_DRB_ID },
|
|
{ &hf_xnap_dlForwardingUPTNL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_UPTransportLayerInformation },
|
|
{ &hf_xnap_ulForwardingUPTNL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_UPTransportLayerInformation },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_DataForwardingResponseDRBItem, DataForwardingResponseDRBItem_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_DLForwarding_vals[] = {
|
|
{ 0, "dl-forwarding-proposed" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_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 per_sequence_t DRBsSubjectToStatusTransfer_List_sequence_of[1] = {
|
|
{ &hf_xnap_DRBsSubjectToStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DRBsSubjectToStatusTransfer_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_xnap_DRBsSubjectToStatusTransfer_List, DRBsSubjectToStatusTransfer_List_sequence_of,
|
|
1, maxnoofDRBs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DRBBStatusTransfer12bitsSN_sequence[] = {
|
|
{ &hf_xnap_receiveStatusofPDCPSDU, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_BIT_STRING_SIZE_1_2048 },
|
|
{ &hf_xnap_ulCOUNTValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_COUNT_PDCP_SN12 },
|
|
{ &hf_xnap_dlCOUNTValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_COUNT_PDCP_SN12 },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DRBBStatusTransfer12bitsSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_DRBBStatusTransfer12bitsSN, DRBBStatusTransfer12bitsSN_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DRBBStatusTransfer18bitsSN_sequence[] = {
|
|
{ &hf_xnap_receiveStatusofPDCPSDU_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_BIT_STRING_SIZE_1_131072 },
|
|
{ &hf_xnap_ulCOUNTValue_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_COUNT_PDCP_SN18 },
|
|
{ &hf_xnap_dlCOUNTValue_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_COUNT_PDCP_SN18 },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DRBBStatusTransfer18bitsSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_DRBBStatusTransfer18bitsSN, DRBBStatusTransfer18bitsSN_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_DRBBStatusTransferChoice_vals[] = {
|
|
{ 0, "pdcp-sn-12bits" },
|
|
{ 1, "pdcp-sn-18bits" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t DRBBStatusTransferChoice_choice[] = {
|
|
{ 0, &hf_xnap_pdcp_sn_12bits , ASN1_EXTENSION_ROOT , dissect_xnap_DRBBStatusTransfer12bitsSN },
|
|
{ 1, &hf_xnap_pdcp_sn_18bits , ASN1_EXTENSION_ROOT , dissect_xnap_DRBBStatusTransfer18bitsSN },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DRBBStatusTransferChoice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_DRBBStatusTransferChoice, DRBBStatusTransferChoice_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DRBsSubjectToStatusTransfer_Item_sequence[] = {
|
|
{ &hf_xnap_drbID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_DRB_ID },
|
|
{ &hf_xnap_statusTransfer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_DRBBStatusTransferChoice },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DRBsSubjectToStatusTransfer_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_DRBsSubjectToStatusTransfer_Item, DRBsSubjectToStatusTransfer_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DRBToQoSFlowMapping_List_sequence_of[1] = {
|
|
{ &hf_xnap_DRBToQoSFlowMapping_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DRBToQoSFlowMapping_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_xnap_DRBToQoSFlowMapping_List, DRBToQoSFlowMapping_List_sequence_of,
|
|
1, maxnoofDRBs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QoSFlows_List_sequence_of[1] = {
|
|
{ &hf_xnap_QoSFlows_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_QoSFlows_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_xnap_QoSFlows_List, QoSFlows_List_sequence_of,
|
|
1, maxnoofQoSFlows, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DRBToQoSFlowMapping_Item_sequence[] = {
|
|
{ &hf_xnap_drb_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_DRB_ID },
|
|
{ &hf_xnap_qosFlows_List , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlows_List },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DRBToQoSFlowMapping_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_DRBToQoSFlowMapping_Item, DRBToQoSFlowMapping_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 128U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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, 63U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_PacketErrorRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 63U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_delayCritical_vals[] = {
|
|
{ 0, "delay-critical" },
|
|
{ 1, "non-delay-critical" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_delayCritical(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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, 63U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t Dynamic5QIDescriptor_sequence[] = {
|
|
{ &hf_xnap_priorityLevel_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_1_128 },
|
|
{ &hf_xnap_packetDelayBudget, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PacketDelayBudget },
|
|
{ &hf_xnap_packetErrorRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PacketErrorRate },
|
|
{ &hf_xnap_delayCritical , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_delayCritical },
|
|
{ &hf_xnap_averagingWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_AveragingWindow },
|
|
{ &hf_xnap_maximumDataBurstVolume, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_MaximumDataBurstVolume },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_Dynamic5QIDescriptor, Dynamic5QIDescriptor_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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 int
|
|
dissect_xnap_E_UTRAARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxEARFCN, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t E_UTRA_CGI_sequence[] = {
|
|
{ &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_e_utra_CI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_Cell_Identity },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_E_UTRA_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_E_UTRA_CGI, E_UTRA_CGI_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_E_UTRAFrequencyBandIndicator(tvbuff_t *tvb _U_, int offset _U_, 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 E_UTRAMultibandInfoList_sequence_of[1] = {
|
|
{ &hf_xnap_E_UTRAMultibandInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAFrequencyBandIndicator },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_E_UTRAMultibandInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_E_UTRAMultibandInfoList, E_UTRAMultibandInfoList_sequence_of,
|
|
1, maxnoofEUTRABands, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_E_UTRAPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 503U, NULL, TRUE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 837U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 15U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_highSpeedFlag_vals[] = {
|
|
{ 0, "true" },
|
|
{ 1, "false" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_highSpeedFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_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_xnap_INTEGER_0_94(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 94U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 63U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t E_UTRAPRACHConfiguration_sequence[] = {
|
|
{ &hf_xnap_rootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_837 },
|
|
{ &hf_xnap_zeroCorrelationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_15 },
|
|
{ &hf_xnap_highSpeedFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_highSpeedFlag },
|
|
{ &hf_xnap_prach_FreqOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_94 },
|
|
{ &hf_xnap_prach_ConfigIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_INTEGER_0_63 },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_E_UTRAPRACHConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_E_UTRAPRACHConfiguration, E_UTRAPRACHConfiguration_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_E_UTRATransmissionBandwidth_vals[] = {
|
|
{ 0, "bw6" },
|
|
{ 1, "bw15" },
|
|
{ 2, "bw25" },
|
|
{ 3, "bw50" },
|
|
{ 4, "bw75" },
|
|
{ 5, "bw100" },
|
|
{ 6, "bw1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_E_UTRATransmissionBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, TRUE, 1, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_EventType_vals[] = {
|
|
{ 0, "report-upon-change-of-serving-cell" },
|
|
{ 1, "report-UE-moving-presence-into-or-out-of-the-Area-of-Interest" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_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,
|
|
2, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_notificationControl_vals[] = {
|
|
{ 0, "notification-requested" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_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_xnap_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, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t GBRQoSFlowInfo_sequence[] = {
|
|
{ &hf_xnap_maxFlowBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
|
|
{ &hf_xnap_maxFlowBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
|
|
{ &hf_xnap_guaranteedFlowBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
|
|
{ &hf_xnap_guaranteedFlowBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
|
|
{ &hf_xnap_notificationControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_notificationControl },
|
|
{ &hf_xnap_maxPacketLossRateDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_PacketLossRate },
|
|
{ &hf_xnap_maxPacketLossRateUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_PacketLossRate },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_GBRQoSFlowInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_GBRQoSFlowInfo, GBRQoSFlowInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_GNB_ID_Choice_vals[] = {
|
|
{ 0, "gnb-ID" },
|
|
{ 1, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t GNB_ID_Choice_choice[] = {
|
|
{ 0, &hf_xnap_gnb_ID , ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_22_32 },
|
|
{ 1, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_GNB_ID_Choice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_GNB_ID_Choice, GNB_ID_Choice_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t GlobalgNB_ID_sequence[] = {
|
|
{ &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_gnb_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_GNB_ID_Choice },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_GlobalgNB_ID, GlobalgNB_ID_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
20, 20, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
18, 18, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_ENB_ID_Choice_vals[] = {
|
|
{ 0, "enb-ID-macro" },
|
|
{ 1, "enb-ID-shortmacro" },
|
|
{ 2, "enb-ID-longmacro" },
|
|
{ 3, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t ENB_ID_Choice_choice[] = {
|
|
{ 0, &hf_xnap_enb_ID_macro , ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_20 },
|
|
{ 1, &hf_xnap_enb_ID_shortmacro, ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_18 },
|
|
{ 2, &hf_xnap_enb_ID_longmacro, ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_21 },
|
|
{ 3, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ENB_ID_Choice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ENB_ID_Choice, ENB_ID_Choice_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t GlobalngeNB_ID_sequence[] = {
|
|
{ &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_enb_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ENB_ID_Choice },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_GlobalngeNB_ID, GlobalngeNB_ID_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_GlobalNG_RANNode_ID_vals[] = {
|
|
{ GlobalNG_RANNode_ID_gNB, "gNB" },
|
|
{ GlobalNG_RANNode_ID_ng_eNB, "ng-eNB" },
|
|
{ GlobalNG_RANNode_ID_choice_extension, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t GlobalNG_RANNode_ID_choice[] = {
|
|
{ GlobalNG_RANNode_ID_gNB, &hf_xnap_gNB , ASN1_EXTENSION_ROOT , dissect_xnap_GlobalgNB_ID },
|
|
{ GlobalNG_RANNode_ID_ng_eNB, &hf_xnap_ng_eNB , ASN1_EXTENSION_ROOT , dissect_xnap_GlobalngeNB_ID },
|
|
{ GlobalNG_RANNode_ID_choice_extension, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_GlobalNG_RANNode_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 103 "./asn1/xnap/xnap.cnf"
|
|
gint value;
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
|
|
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_GlobalNG_RANNode_ID, GlobalNG_RANNode_ID_choice,
|
|
&value);
|
|
|
|
if (xnap_data->xnap_conv && xnap_data->procedure_code == id_xnSetup) {
|
|
if (addresses_equal(&actx->pinfo->src, &xnap_data->xnap_conv->addr_a)) {
|
|
xnap_data->xnap_conv->ranmode_id_a = (GlobalNG_RANNode_ID_enum)value;
|
|
} else if (addresses_equal(&actx->pinfo->src, &xnap_data->xnap_conv->addr_b)) {
|
|
xnap_data->xnap_conv->ranmode_id_b = (GlobalNG_RANNode_ID_enum)value;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_OCTET_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
2, 2, FALSE, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
4, 4, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t GUAMI_sequence[] = {
|
|
{ &hf_xnap_plmn_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_amf_region_if , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_OCTET_STRING_SIZE_2 },
|
|
{ &hf_xnap_amf_set_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BIT_STRING_SIZE_4 },
|
|
{ &hf_xnap_amf_pointer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BIT_STRING_SIZE_4 },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_GUAMI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_GUAMI, GUAMI_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_I_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
40, 40, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_ReportArea_vals[] = {
|
|
{ 0, "cell" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_ReportArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t LocationReportingInformation_sequence[] = {
|
|
{ &hf_xnap_eventType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_EventType },
|
|
{ &hf_xnap_reportArea , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ReportArea },
|
|
{ &hf_xnap_areaOfInterest , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_AreaOfInterest },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_LocationReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_LocationReportingInformation, LocationReportingInformation_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_MAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
16, 16, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
6, 6, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
24, 24, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_MBSFNSubframeAllocation_E_UTRA_vals[] = {
|
|
{ 0, "oneframe" },
|
|
{ 1, "fourframes" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t MBSFNSubframeAllocation_E_UTRA_choice[] = {
|
|
{ 0, &hf_xnap_oneframe , ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_6 },
|
|
{ 1, &hf_xnap_fourframes , ASN1_EXTENSION_ROOT , dissect_xnap_BIT_STRING_SIZE_24 },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_MBSFNSubframeAllocation_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_MBSFNSubframeAllocation_E_UTRA, MBSFNSubframeAllocation_E_UTRA_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_radioframeAllocationPeriod_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 3, "n8" },
|
|
{ 4, "n16" },
|
|
{ 5, "n32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_radioframeAllocationPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_INTEGER_0_7_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 7U, NULL, TRUE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MBSFNSubframeInfo_E_UTRA_Item_sequence[] = {
|
|
{ &hf_xnap_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_radioframeAllocationPeriod },
|
|
{ &hf_xnap_radioframeAllocationOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_7_ },
|
|
{ &hf_xnap_subframeAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_MBSFNSubframeAllocation_E_UTRA },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_MBSFNSubframeInfo_E_UTRA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_MBSFNSubframeInfo_E_UTRA_Item, MBSFNSubframeInfo_E_UTRA_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MBSFNSubframeInfo_E_UTRA_sequence_of[1] = {
|
|
{ &hf_xnap_MBSFNSubframeInfo_E_UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_MBSFNSubframeInfo_E_UTRA_Item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_MBSFNSubframeInfo_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_MBSFNSubframeInfo_E_UTRA, MBSFNSubframeInfo_E_UTRA_sequence_of,
|
|
1, maxnoofMBSFNEUTRA, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity_sequence_of[1] = {
|
|
{ &hf_xnap_equivalent_PLMNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity, SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity_sequence_of,
|
|
1, maxnoofEPLMNs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_RAT_RestrictionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 340 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
8, 8, TRUE, ¶meter_tvb, NULL);
|
|
|
|
if (parameter_tvb) {
|
|
const gint *fields[] = {
|
|
&hf_xnap_RAT_RestrictionInformation_e_UTRA,
|
|
&hf_xnap_RAT_RestrictionInformation_nR,
|
|
NULL
|
|
};
|
|
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RAT_RestrictionInformation);
|
|
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RAT_RestrictionsItem_sequence[] = {
|
|
{ &hf_xnap_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_rat_RestrictionInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_RAT_RestrictionInformation },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RAT_RestrictionsItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RAT_RestrictionsItem, RAT_RestrictionsItem_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RAT_RestrictionsList_sequence_of[1] = {
|
|
{ &hf_xnap_RAT_RestrictionsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_RAT_RestrictionsItem },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RAT_RestrictionsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RAT_RestrictionsList, RAT_RestrictionsList_sequence_of,
|
|
1, maxnoofPLMNs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC_sequence_of[1] = {
|
|
{ &hf_xnap_forbidden_TACs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC, SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC_sequence_of,
|
|
1, maxnoofForbiddenTACs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ForbiddenAreaItem_sequence[] = {
|
|
{ &hf_xnap_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_forbidden_TACs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ForbiddenAreaItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ForbiddenAreaItem, ForbiddenAreaItem_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ForbiddenAreaList_sequence_of[1] = {
|
|
{ &hf_xnap_ForbiddenAreaList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ForbiddenAreaItem },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ForbiddenAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ForbiddenAreaList, ForbiddenAreaList_sequence_of,
|
|
1, maxnoofPLMNs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC_sequence_of[1] = {
|
|
{ &hf_xnap_allowed_TACs_ServiceArea_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC, SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC_sequence_of,
|
|
1, maxnoofAllowedAreas, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServiceAreaItem_sequence[] = {
|
|
{ &hf_xnap_plmn_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_allowed_TACs_ServiceArea, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC },
|
|
{ &hf_xnap_not_allowed_TACs_ServiceArea, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServiceAreaItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServiceAreaItem, ServiceAreaItem_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServiceAreaList_sequence_of[1] = {
|
|
{ &hf_xnap_ServiceAreaList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServiceAreaItem },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServiceAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServiceAreaList, ServiceAreaList_sequence_of,
|
|
1, maxnoofPLMNs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MobilityRestrictionList_sequence[] = {
|
|
{ &hf_xnap_serving_PLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_equivalent_PLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity },
|
|
{ &hf_xnap_rat_Restrictions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RAT_RestrictionsList },
|
|
{ &hf_xnap_forbiddenAreaInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ForbiddenAreaList },
|
|
{ &hf_xnap_serviceAreaInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServiceAreaList },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_MobilityRestrictionList, MobilityRestrictionList_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NeighbourInformation_E_UTRA_Item_sequence[] = {
|
|
{ &hf_xnap_e_utra_PCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAPCI },
|
|
{ &hf_xnap_e_utra_cgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_CGI },
|
|
{ &hf_xnap_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAARFCN },
|
|
{ &hf_xnap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NeighbourInformation_E_UTRA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NeighbourInformation_E_UTRA_Item, NeighbourInformation_E_UTRA_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NeighbourInformation_E_UTRA_sequence_of[1] = {
|
|
{ &hf_xnap_NeighbourInformation_E_UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_NeighbourInformation_E_UTRA_Item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NeighbourInformation_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NeighbourInformation_E_UTRA, NeighbourInformation_E_UTRA_sequence_of,
|
|
1, maxnoofNeighbours, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_NRTransmissionBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 65535U, NULL, TRUE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SUL_Information_sequence[] = {
|
|
{ &hf_xnap_sulFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRARFCN },
|
|
{ &hf_xnap_sulTransmissionBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRTransmissionBandwidth },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SUL_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SUL_Information, SUL_Information_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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 int
|
|
dissect_xnap_SUL_FrequencyBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 1024U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SupportedSULBandItem_sequence[] = {
|
|
{ &hf_xnap_sulBandItem , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SUL_FrequencyBand },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SupportedSULBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SupportedSULBandItem, SupportedSULBandItem_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SupportedSULBandList_sequence_of[1] = {
|
|
{ &hf_xnap_SupportedSULBandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_SupportedSULBandItem },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SupportedSULBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SupportedSULBandList, SupportedSULBandList_sequence_of,
|
|
1, maxnoofNRCellBands, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NRFrequencyBandItem_sequence[] = {
|
|
{ &hf_xnap_nr_frequency_band, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyBand },
|
|
{ &hf_xnap_supported_SUL_Band_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SupportedSULBandList },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_NRFrequencyBandItem, NRFrequencyBandItem_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NRFrequencyBand_List_sequence_of[1] = {
|
|
{ &hf_xnap_NRFrequencyBand_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyBandItem },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_NRFrequencyBand_List, NRFrequencyBand_List_sequence_of,
|
|
1, maxnoofNRCellBands, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NRFrequencyInfo_sequence[] = {
|
|
{ &hf_xnap_nrARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRARFCN },
|
|
{ &hf_xnap_sul_information, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SUL_Information },
|
|
{ &hf_xnap_frequencyBand_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyBand_List },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_NRFrequencyInfo, NRFrequencyInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NeighbourInformation_NR_ModeFDDInfo_sequence[] = {
|
|
{ &hf_xnap_ul_NR_FreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
|
|
{ &hf_xnap_dl_NR_FequInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
|
|
{ &hf_xnap_ie_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NeighbourInformation_NR_ModeFDDInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NeighbourInformation_NR_ModeFDDInfo, NeighbourInformation_NR_ModeFDDInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NeighbourInformation_NR_ModeTDDInfo_sequence[] = {
|
|
{ &hf_xnap_nr_FreqInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
|
|
{ &hf_xnap_ie_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NeighbourInformation_NR_ModeTDDInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NeighbourInformation_NR_ModeTDDInfo, NeighbourInformation_NR_ModeTDDInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_NeighbourInformation_NR_ModeInfo_vals[] = {
|
|
{ 0, "fdd-info" },
|
|
{ 1, "tdd-info" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t NeighbourInformation_NR_ModeInfo_choice[] = {
|
|
{ 0, &hf_xnap_fdd_info , ASN1_EXTENSION_ROOT , dissect_xnap_NeighbourInformation_NR_ModeFDDInfo },
|
|
{ 1, &hf_xnap_tdd_info , ASN1_EXTENSION_ROOT , dissect_xnap_NeighbourInformation_NR_ModeTDDInfo },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NeighbourInformation_NR_ModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NeighbourInformation_NR_ModeInfo, NeighbourInformation_NR_ModeInfo_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NeighbourInformation_NR_Item_sequence[] = {
|
|
{ &hf_xnap_e_utra_cgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_CGI },
|
|
{ &hf_xnap_e_utra_PCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAPCI },
|
|
{ &hf_xnap_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAARFCN },
|
|
{ &hf_xnap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
|
|
{ &hf_xnap_nr_mode_info , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NeighbourInformation_NR_ModeInfo },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NeighbourInformation_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_xnap_NeighbourInformation_NR_Item, NeighbourInformation_NR_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NeighbourInformation_NR_sequence_of[1] = {
|
|
{ &hf_xnap_NeighbourInformation_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_NeighbourInformation_NR_Item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NeighbourInformation_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_xnap_NeighbourInformation_NR, NeighbourInformation_NR_sequence_of,
|
|
1, maxnoofNeighbours, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_NRPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 1007U, NULL, TRUE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_NG_RAN_CellPCI_vals[] = {
|
|
{ 0, "nr" },
|
|
{ 1, "e-utra" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t NG_RAN_CellPCI_choice[] = {
|
|
{ 0, &hf_xnap_nr_01 , ASN1_EXTENSION_ROOT , dissect_xnap_NRPCI },
|
|
{ 1, &hf_xnap_e_utra_01 , ASN1_EXTENSION_ROOT , dissect_xnap_E_UTRAPCI },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NG_RAN_CellPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NG_RAN_CellPCI, NG_RAN_CellPCI_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_NG_RANnodeUEXnAPID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 4294967295U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_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 NonDynamic5QIDescriptor_sequence[] = {
|
|
{ &hf_xnap_fiveQI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_INTEGER_0_255 },
|
|
{ &hf_xnap_priorityLevel_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_INTEGER_1_128 },
|
|
{ &hf_xnap_averagingWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_AveragingWindow },
|
|
{ &hf_xnap_maximumDataBurstVolume, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_MaximumDataBurstVolume },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_NonDynamic5QIDescriptor, NonDynamic5QIDescriptor_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NG_RAN_Cell_Identity_ListinRANPagingArea_sequence_of[1] = {
|
|
{ &hf_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RAN_Cell_Identity },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea, NG_RAN_Cell_Identity_ListinRANPagingArea_sequence_of,
|
|
1, maxnoofCellsinRNA, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NRModeInfoFDD_sequence[] = {
|
|
{ &hf_xnap_ulNRFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
|
|
{ &hf_xnap_dlNRFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
|
|
{ &hf_xnap_ulNRTransmissonBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRTransmissionBandwidth },
|
|
{ &hf_xnap_dlNRTransmissonBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRTransmissionBandwidth },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NRModeInfoFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NRModeInfoFDD, NRModeInfoFDD_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NRModeInfoTDD_sequence[] = {
|
|
{ &hf_xnap_nrFrequencyInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRFrequencyInfo },
|
|
{ &hf_xnap_nrTransmissonBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRTransmissionBandwidth },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NRModeInfoTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NRModeInfoTDD, NRModeInfoTDD_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_NRModeInfo_vals[] = {
|
|
{ 0, "fdd" },
|
|
{ 1, "tdd" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t NRModeInfo_choice[] = {
|
|
{ 0, &hf_xnap_fdd , ASN1_EXTENSION_ROOT , dissect_xnap_NRModeInfoFDD },
|
|
{ 1, &hf_xnap_tdd , ASN1_EXTENSION_ROOT , dissect_xnap_NRModeInfoTDD },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NRModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NRModeInfo, NRModeInfo_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_NumberOfAntennaPorts_E_UTRA_vals[] = {
|
|
{ 0, "an1" },
|
|
{ 1, "an2" },
|
|
{ 2, "an3" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_NumberOfAntennaPorts_E_UTRA(tvbuff_t *tvb _U_, int offset _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_xnap_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 63U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDUSessionResourcesAdmitted_List_sequence_of[1] = {
|
|
{ &hf_xnap_PDUSessionResourcesAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_PDUSessionResourcesAdmitted_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_xnap_PDUSessionResourcesAdmitted_List, PDUSessionResourcesAdmitted_List_sequence_of,
|
|
1, maxnoofPDUSessions, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QoSFlowsAdmitted_List_sequence_of[1] = {
|
|
{ &hf_xnap_QoSFlowsAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_QoSFlowsAdmitted_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_xnap_QoSFlowsAdmitted_List, QoSFlowsAdmitted_List_sequence_of,
|
|
1, maxnoofQoSFlows, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QoSFlowsNotAdmitted_List_sequence_of[1] = {
|
|
{ &hf_xnap_QoSFlowsNotAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_QoSFlowsNotAdmitted_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_xnap_QoSFlowsNotAdmitted_List, QoSFlowsNotAdmitted_List_sequence_of,
|
|
1, maxnoofQoSFlows, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDUSessionResourceAdmittedInfo_sequence[] = {
|
|
{ &hf_xnap_qosFlowsAdmitted_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_QoSFlowsAdmitted_List },
|
|
{ &hf_xnap_qosFlowsNotAdmitted_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_QoSFlowsNotAdmitted_List },
|
|
{ &hf_xnap_dataForwardingInfoFromTarget, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_DataForwardingInfoFromTargetNGRANnode },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_PDUSessionResourceAdmittedInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_PDUSessionResourceAdmittedInfo, PDUSessionResourceAdmittedInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDUSessionResourcesAdmitted_Item_sequence[] = {
|
|
{ &hf_xnap_pduSessionId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSession_ID },
|
|
{ &hf_xnap_pduSessionResourceAdmittedInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_PDUSessionResourceAdmittedInfo },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_PDUSessionResourcesAdmitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_PDUSessionResourcesAdmitted_Item, PDUSessionResourcesAdmitted_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDUSessionResourcesNotAdmitted_List_sequence_of[1] = {
|
|
{ &hf_xnap_PDUSessionResourcesNotAdmitted_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_PDUSessionResourcesNotAdmitted_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_xnap_PDUSessionResourcesNotAdmitted_List, PDUSessionResourcesNotAdmitted_List_sequence_of,
|
|
1, maxnoofPDUSessions, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDUSessionResourcesNotAdmitted_Item_sequence[] = {
|
|
{ &hf_xnap_pduSessionId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSession_ID },
|
|
{ &hf_xnap_cause , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_Cause },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_PDUSessionResourcesNotAdmitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_PDUSessionResourcesNotAdmitted_Item, PDUSessionResourcesNotAdmitted_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDUSessionResourcesToBeSetup_List_sequence_of[1] = {
|
|
{ &hf_xnap_PDUSessionResourcesToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_PDUSessionResourcesToBeSetup_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_xnap_PDUSessionResourcesToBeSetup_List, PDUSessionResourcesToBeSetup_List_sequence_of,
|
|
1, maxnoofPDUSessions, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_integrityProtectionIndication_vals[] = {
|
|
{ 0, "required" },
|
|
{ 1, "preferred" },
|
|
{ 2, "not-needed" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_integrityProtectionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_confidentialityProtectionIndication_vals[] = {
|
|
{ 0, "required" },
|
|
{ 1, "preferred" },
|
|
{ 2, "not-needed" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_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 per_sequence_t SecurityIndication_sequence[] = {
|
|
{ &hf_xnap_integrityProtectionIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_integrityProtectionIndication },
|
|
{ &hf_xnap_confidentialityProtectionIndication, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_confidentialityProtectionIndication },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_SecurityIndication, SecurityIndication_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_PDUSessionType_vals[] = {
|
|
{ 0, "ipv4" },
|
|
{ 1, "ipv6" },
|
|
{ 2, "ipv4v6" },
|
|
{ 3, "ethernet" },
|
|
{ 4, "unstructured" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_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 per_sequence_t QoSFlowsToBeSetup_List_sequence_of[1] = {
|
|
{ &hf_xnap_QoSFlowsToBeSetup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_QoSFlowsToBeSetup_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_xnap_QoSFlowsToBeSetup_List, QoSFlowsToBeSetup_List_sequence_of,
|
|
1, maxnoofQoSFlows, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDUSessionResourcesToBeSetup_Item_sequence[] = {
|
|
{ &hf_xnap_pduSessionId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSession_ID },
|
|
{ &hf_xnap_s_NSSAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_S_NSSAI },
|
|
{ &hf_xnap_pduSessionAMBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_OCTET_STRING },
|
|
{ &hf_xnap_uL_NG_U_TNLatUPF, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_UPTransportLayerInformation },
|
|
{ &hf_xnap_securityIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SecurityIndication },
|
|
{ &hf_xnap_pduSessionType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSessionType },
|
|
{ &hf_xnap_qosFlowsToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowsToBeSetup_List },
|
|
{ &hf_xnap_sourceDRBtoQoSFlowMapping, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_DRBToQoSFlowMapping_List },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_PDUSessionResourcesToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_PDUSessionResourcesToBeSetup_Item, PDUSessionResourcesToBeSetup_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_QoSCharacteristics_vals[] = {
|
|
{ 0, "non-dynamic" },
|
|
{ 1, "dynamic" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t QoSCharacteristics_choice[] = {
|
|
{ 0, &hf_xnap_non_dynamic , ASN1_EXTENSION_ROOT , dissect_xnap_NonDynamic5QIDescriptor },
|
|
{ 1, &hf_xnap_dynamic , ASN1_EXTENSION_ROOT , dissect_xnap_Dynamic5QIDescriptor },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_QoSCharacteristics, QoSCharacteristics_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_QoSFlowIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_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 xnap_ReflectiveQoSAttribute_vals[] = {
|
|
{ 0, "subject-to-reflective-QoS" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_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 value_string xnap_T_additionalQoSflowInfo_vals[] = {
|
|
{ 0, "more-likely" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_additionalQoSflowInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_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_xnap_INTEGER_1_8_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 8U, NULL, TRUE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QoSFlowLevelQoSParameters_sequence[] = {
|
|
{ &hf_xnap_qos_characteristics, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSCharacteristics },
|
|
{ &hf_xnap_allocationAndRetentionPrio, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_AllocationandRetentionPriority },
|
|
{ &hf_xnap_gBRQoSFlowInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_GBRQoSFlowInfo },
|
|
{ &hf_xnap_relectiveQoS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ReflectiveQoSAttribute },
|
|
{ &hf_xnap_additionalQoSflowInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_additionalQoSflowInfo },
|
|
{ &hf_xnap_pPI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_INTEGER_1_8_ },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_QoSFlowLevelQoSParameters, QoSFlowLevelQoSParameters_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QoSFlow_Item_sequence[] = {
|
|
{ &hf_xnap_qfi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowIndicator },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_QoSFlow_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_QoSFlow_Item, QoSFlow_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QoSFlowAdmitted_Item_sequence[] = {
|
|
{ &hf_xnap_qfi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowIndicator },
|
|
{ &hf_xnap_dataForwardingAccepted, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_DataForwardingAccepted },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_QoSFlowAdmitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_QoSFlowAdmitted_Item, QoSFlowAdmitted_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QoSFlowNotAdmitted_Item_sequence[] = {
|
|
{ &hf_xnap_qfi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowIndicator },
|
|
{ &hf_xnap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_Cause },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_QoSFlowNotAdmitted_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_QoSFlowNotAdmitted_Item, QoSFlowNotAdmitted_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QoSFlowsToBeSetup_Item_sequence[] = {
|
|
{ &hf_xnap_qfi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowIndicator },
|
|
{ &hf_xnap_dlDataForwarding, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_DLForwarding },
|
|
{ &hf_xnap_qosFlowLevelQoSParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_QoSFlowLevelQoSParameters },
|
|
{ &hf_xnap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_E_RAB_ID },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_QoSFlowsToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_QoSFlowsToBeSetup_Item, QoSFlowsToBeSetup_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_RANAC(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, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RANAreaID_sequence[] = {
|
|
{ &hf_xnap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
|
|
{ &hf_xnap_rANAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RANAC },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RANAreaID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RANAreaID, RANAreaID_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RANAreaID_List_sequence_of[1] = {
|
|
{ &hf_xnap_RANAreaID_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_RANAreaID },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RANAreaID_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_xnap_RANAreaID_List, RANAreaID_List_sequence_of,
|
|
1, maxnoofRANAreasinRNA, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_RANPagingAreaChoice_vals[] = {
|
|
{ 0, "cell-List" },
|
|
{ 1, "rANAreaID-List" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t RANPagingAreaChoice_choice[] = {
|
|
{ 0, &hf_xnap_cell_List , ASN1_EXTENSION_ROOT , dissect_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea },
|
|
{ 1, &hf_xnap_rANAreaID_List , ASN1_EXTENSION_ROOT , dissect_xnap_RANAreaID_List },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RANPagingAreaChoice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RANPagingAreaChoice, RANPagingAreaChoice_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RANPagingArea_sequence[] = {
|
|
{ &hf_xnap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_rANPagingAreaChoice, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_RANPagingAreaChoice },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RANPagingArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RANPagingArea, RANPagingArea_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_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 ResetRequestTypeInfo_Full_sequence[] = {
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetRequestTypeInfo_Full(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetRequestTypeInfo_Full, ResetRequestTypeInfo_Full_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResetRequestPartialReleaseList_sequence_of[1] = {
|
|
{ &hf_xnap_ResetRequestPartialReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetRequestPartialReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetRequestPartialReleaseList, ResetRequestPartialReleaseList_sequence_of,
|
|
1, maxnoofUEContexts, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResetRequestTypeInfo_Partial_sequence[] = {
|
|
{ &hf_xnap_ue_contexts_ToBeReleasedList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ResetRequestPartialReleaseList },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetRequestTypeInfo_Partial(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetRequestTypeInfo_Partial, ResetRequestTypeInfo_Partial_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_ResetRequestTypeInfo_vals[] = {
|
|
{ 0, "fullReset" },
|
|
{ 1, "partialReset" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t ResetRequestTypeInfo_choice[] = {
|
|
{ 0, &hf_xnap_fullReset , ASN1_EXTENSION_ROOT , dissect_xnap_ResetRequestTypeInfo_Full },
|
|
{ 1, &hf_xnap_partialReset , ASN1_EXTENSION_ROOT , dissect_xnap_ResetRequestTypeInfo_Partial },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetRequestTypeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetRequestTypeInfo, ResetRequestTypeInfo_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResetRequestPartialReleaseItem_sequence[] = {
|
|
{ &hf_xnap_ng_ran_node1UEXnAPID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RANnodeUEXnAPID },
|
|
{ &hf_xnap_ng_ran_node2UEXnAPID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RANnodeUEXnAPID },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetRequestPartialReleaseItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetRequestPartialReleaseItem, ResetRequestPartialReleaseItem_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResetResponseTypeInfo_Full_sequence[] = {
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetResponseTypeInfo_Full(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetResponseTypeInfo_Full, ResetResponseTypeInfo_Full_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResetResponsePartialReleaseList_sequence_of[1] = {
|
|
{ &hf_xnap_ResetResponsePartialReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetResponsePartialReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetResponsePartialReleaseList, ResetResponsePartialReleaseList_sequence_of,
|
|
1, maxnoofUEContexts, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResetResponseTypeInfo_Partial_sequence[] = {
|
|
{ &hf_xnap_ue_contexts_AdmittedToBeReleasedList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ResetResponsePartialReleaseList },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetResponseTypeInfo_Partial(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetResponseTypeInfo_Partial, ResetResponseTypeInfo_Partial_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_ResetResponseTypeInfo_vals[] = {
|
|
{ 0, "fullReset" },
|
|
{ 1, "partialReset" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t ResetResponseTypeInfo_choice[] = {
|
|
{ 0, &hf_xnap_fullReset_01 , ASN1_EXTENSION_ROOT , dissect_xnap_ResetResponseTypeInfo_Full },
|
|
{ 1, &hf_xnap_partialReset_01, ASN1_EXTENSION_ROOT , dissect_xnap_ResetResponseTypeInfo_Partial },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetResponseTypeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetResponseTypeInfo, ResetResponseTypeInfo_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResetResponsePartialReleaseItem_sequence[] = {
|
|
{ &hf_xnap_ng_ran_node1UEXnAPID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RANnodeUEXnAPID },
|
|
{ &hf_xnap_ng_ran_node2UEXnAPID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RANnodeUEXnAPID },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetResponsePartialReleaseItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetResponsePartialReleaseItem, ResetResponsePartialReleaseItem_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_RFSP_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 256U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCellInformation_E_UTRA_perBPLMN_FDDInfo_sequence[] = {
|
|
{ &hf_xnap_ul_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAARFCN },
|
|
{ &hf_xnap_dl_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAARFCN },
|
|
{ &hf_xnap_ul_e_utraTxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRATransmissionBandwidth },
|
|
{ &hf_xnap_dl_e_utraTxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRATransmissionBandwidth },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_FDDInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_FDDInfo, ServedCellInformation_E_UTRA_perBPLMN_FDDInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_subframeAssignmnet_vals[] = {
|
|
{ 0, "sa0" },
|
|
{ 1, "sa1" },
|
|
{ 2, "sa2" },
|
|
{ 3, "sa3" },
|
|
{ 4, "sa4" },
|
|
{ 5, "sa5" },
|
|
{ 6, "sa6" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_subframeAssignmnet(tvbuff_t *tvb _U_, int offset _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 xnap_SpecialSubframePatterns_E_UTRA_vals[] = {
|
|
{ 0, "ssp0" },
|
|
{ 1, "ssp1" },
|
|
{ 2, "ssp2" },
|
|
{ 3, "ssp3" },
|
|
{ 4, "ssp4" },
|
|
{ 5, "ssp5" },
|
|
{ 6, "ssp6" },
|
|
{ 7, "ssp7" },
|
|
{ 8, "ssp8" },
|
|
{ 9, "ssp9" },
|
|
{ 10, "ssp10" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_SpecialSubframePatterns_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
11, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SpecialSubframeInfo_E_UTRA_sequence[] = {
|
|
{ &hf_xnap_specialSubframePattern, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SpecialSubframePatterns_E_UTRA },
|
|
{ &hf_xnap_cyclicPrefixDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_CyclicPrefix_E_UTRA_DL },
|
|
{ &hf_xnap_cyclicPrefixUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_CyclicPrefix_E_UTRA_UL },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SpecialSubframeInfo_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SpecialSubframeInfo_E_UTRA, SpecialSubframeInfo_E_UTRA_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCellInformation_E_UTRA_perBPLMN_TDDInfo_sequence[] = {
|
|
{ &hf_xnap_earfcn , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAARFCN },
|
|
{ &hf_xnap_e_utraTxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRATransmissionBandwidth },
|
|
{ &hf_xnap_subframeAssignmnet, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_subframeAssignmnet },
|
|
{ &hf_xnap_specialSubframeInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SpecialSubframeInfo_E_UTRA },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_TDDInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_TDDInfo, ServedCellInformation_E_UTRA_perBPLMN_TDDInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo_vals[] = {
|
|
{ 0, "fdd" },
|
|
{ 1, "tdd" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t ServedCellInformation_E_UTRA_perBPLMN_ModeInfo_choice[] = {
|
|
{ 0, &hf_xnap_fdd_01 , ASN1_EXTENSION_ROOT , dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_FDDInfo },
|
|
{ 1, &hf_xnap_tdd_01 , ASN1_EXTENSION_ROOT , dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_TDDInfo },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo, ServedCellInformation_E_UTRA_perBPLMN_ModeInfo_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCellInformation_E_UTRA_perBPLMN_sequence[] = {
|
|
{ &hf_xnap_plmn_id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PLMN_Identity },
|
|
{ &hf_xnap_e_utra_mode_info, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCellInformation_E_UTRA_perBPLMN, ServedCellInformation_E_UTRA_perBPLMN_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN_sequence_of[1] = {
|
|
{ &hf_xnap_broadcastPLMNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_E_UTRA_perBPLMN },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN, SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN_sequence_of,
|
|
1, maxnoofBPLMNs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_freqBandIndicatorPriority_vals[] = {
|
|
{ 0, "not-broadcast" },
|
|
{ 1, "broadcast" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_freqBandIndicatorPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_T_bandwidthReducedSI_vals[] = {
|
|
{ 0, "scheduled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_bandwidthReducedSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCellInformation_E_UTRA_sequence[] = {
|
|
{ &hf_xnap_e_utra_pci , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRAPCI },
|
|
{ &hf_xnap_e_utra_cgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_CGI },
|
|
{ &hf_xnap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
|
|
{ &hf_xnap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN },
|
|
{ &hf_xnap_numberofAntennaPorts, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NumberOfAntennaPorts_E_UTRA },
|
|
{ &hf_xnap_prach_configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_E_UTRAPRACHConfiguration },
|
|
{ &hf_xnap_mBSFNsubframeInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_MBSFNSubframeInfo_E_UTRA },
|
|
{ &hf_xnap_multibandInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_E_UTRAMultibandInfoList },
|
|
{ &hf_xnap_freqBandIndicatorPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_freqBandIndicatorPriority },
|
|
{ &hf_xnap_bandwidthReducedSI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_T_bandwidthReducedSI },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCellInformation_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCellInformation_E_UTRA, ServedCellInformation_E_UTRA_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCells_E_UTRA_Item_sequence[] = {
|
|
{ &hf_xnap_served_cell_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_E_UTRA },
|
|
{ &hf_xnap_neighbour_info_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_NR },
|
|
{ &hf_xnap_neighbour_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_E_UTRA },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCells_E_UTRA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCells_E_UTRA_Item, ServedCells_E_UTRA_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCells_E_UTRA_sequence_of[1] = {
|
|
{ &hf_xnap_ServedCells_E_UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCells_E_UTRA_Item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCells_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCells_E_UTRA, ServedCells_E_UTRA_sequence_of,
|
|
1, maxnoofCellsinNGRANnode, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCells_ToModify_E_UTRA_Item_sequence[] = {
|
|
{ &hf_xnap_old_ECGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_CGI },
|
|
{ &hf_xnap_served_cell_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_E_UTRA },
|
|
{ &hf_xnap_neighbour_info_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_NR },
|
|
{ &hf_xnap_neighbour_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_E_UTRA },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCells_ToModify_E_UTRA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCells_ToModify_E_UTRA_Item, ServedCells_ToModify_E_UTRA_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCells_ToModify_E_UTRA_sequence_of[1] = {
|
|
{ &hf_xnap_ServedCells_ToModify_E_UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCells_ToModify_E_UTRA_Item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCells_ToModify_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCells_ToModify_E_UTRA, ServedCells_ToModify_E_UTRA_sequence_of,
|
|
1, maxnoofCellsinNGRANnode, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI_sequence_of[1] = {
|
|
{ &hf_xnap_served_Cells_ToDelete_E_UTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_E_UTRA_CGI },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI, SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI_sequence_of,
|
|
1, maxnoofCellsinNGRANnode, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCellsToUpdate_E_UTRA_sequence[] = {
|
|
{ &hf_xnap_served_Cells_ToAdd_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServedCells_E_UTRA },
|
|
{ &hf_xnap_served_Cells_ToModify_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServedCells_ToModify_E_UTRA },
|
|
{ &hf_xnap_served_Cells_ToDelete_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCellsToUpdate_E_UTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCellsToUpdate_E_UTRA, ServedCellsToUpdate_E_UTRA_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_measurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 247 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *param_tvb = NULL;
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, ¶m_tvb);
|
|
|
|
if (param_tvb) {
|
|
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_measurementTimingConfiguration);
|
|
dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCellInformation_NR_sequence[] = {
|
|
{ &hf_xnap_nrPCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRPCI },
|
|
{ &hf_xnap_cellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NR_CGI },
|
|
{ &hf_xnap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
|
|
{ &hf_xnap_ranac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RANAC },
|
|
{ &hf_xnap_broadcastPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BroadcastPLMNs },
|
|
{ &hf_xnap_nrModeInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NRModeInfo },
|
|
{ &hf_xnap_measurementTimingConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_measurementTimingConfiguration },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCellInformation_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_xnap_ServedCellInformation_NR, ServedCellInformation_NR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCells_NR_Item_sequence[] = {
|
|
{ &hf_xnap_served_cell_info_NR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_NR },
|
|
{ &hf_xnap_neighbour_info_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_NR },
|
|
{ &hf_xnap_neighbour_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_E_UTRA },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCells_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_xnap_ServedCells_NR_Item, ServedCells_NR_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCells_NR_sequence_of[1] = {
|
|
{ &hf_xnap_ServedCells_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCells_NR_Item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCells_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_xnap_ServedCells_NR, ServedCells_NR_sequence_of,
|
|
1, maxnoofCellsinNGRANnode, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCells_ToModify_NR_Item_sequence[] = {
|
|
{ &hf_xnap_old_NR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NR_CGI },
|
|
{ &hf_xnap_served_cell_info_NR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCellInformation_NR },
|
|
{ &hf_xnap_neighbour_info_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_NR },
|
|
{ &hf_xnap_neighbour_info_E_UTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_NeighbourInformation_E_UTRA },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCells_ToModify_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_xnap_ServedCells_ToModify_NR_Item, ServedCells_ToModify_NR_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCells_ToModify_NR_sequence_of[1] = {
|
|
{ &hf_xnap_ServedCells_ToModify_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ServedCells_ToModify_NR_Item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCells_ToModify_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_xnap_ServedCells_ToModify_NR, ServedCells_ToModify_NR_sequence_of,
|
|
1, maxnoofCellsinNGRANnode, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServedCellsToUpdate_NR_sequence[] = {
|
|
{ &hf_xnap_served_Cells_ToAdd_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServedCells_NR },
|
|
{ &hf_xnap_served_Cells_ToModify_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServedCells_ToModify_NR },
|
|
{ &hf_xnap_served_Cells_ToDelete_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCellsToUpdate_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_xnap_ServedCellsToUpdate_NR, ServedCellsToUpdate_NR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TAISupport_List_sequence_of[1] = {
|
|
{ &hf_xnap_TAISupport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Single_Container },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_TAISupport_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_xnap_TAISupport_List, TAISupport_List_sequence_of,
|
|
1, maxnoofsupportedTACs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item_sequence_of[1] = {
|
|
{ &hf_xnap_broadcastPLMNs_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_BroadcastPLMNinTAISupport_Item },
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item, SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item_sequence_of,
|
|
1, maxnoofsupportedPLMNs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TAISupport_Item_sequence[] = {
|
|
{ &hf_xnap_tac , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TAC },
|
|
{ &hf_xnap_broadcastPLMNs_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_TAISupport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_TAISupport_Item, TAISupport_Item_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_Target_CGI_vals[] = {
|
|
{ 0, "nr" },
|
|
{ 1, "e-utra" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t Target_CGI_choice[] = {
|
|
{ 0, &hf_xnap_nr_02 , ASN1_EXTENSION_ROOT , dissect_xnap_NR_CGI },
|
|
{ 1, &hf_xnap_e_utra_02 , ASN1_EXTENSION_ROOT , dissect_xnap_E_UTRA_CGI },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_Target_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_xnap_Target_CGI, Target_CGI_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_ng_ran_TraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 353 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb;
|
|
proto_tree *subtree = NULL;
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
8, 8, FALSE, ¶meter_tvb);
|
|
|
|
if (!parameter_tvb)
|
|
return offset;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_xnap_ng_ran_TraceID);
|
|
dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
|
|
proto_tree_add_item(subtree, hf_xnap_ng_ran_TraceID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
|
|
proto_tree_add_item(subtree, hf_xnap_ng_ran_TraceID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_interfaces_to_trace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 364 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
8, 8, FALSE, ¶meter_tvb, NULL);
|
|
|
|
if (parameter_tvb) {
|
|
const gint *fields[] = {
|
|
&hf_xnap_T_interfaces_to_trace_ng_c,
|
|
&hf_xnap_T_interfaces_to_trace_x_nc,
|
|
&hf_xnap_T_interfaces_to_trace_uu,
|
|
&hf_xnap_T_interfaces_to_trace_f1_c,
|
|
&hf_xnap_T_interfaces_to_trace_e1,
|
|
NULL
|
|
};
|
|
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_interfaces_to_trace);
|
|
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_Trace_Depth_vals[] = {
|
|
{ 0, "minimum" },
|
|
{ 1, "medium" },
|
|
{ 2, "maximum" },
|
|
{ 3, "minimumWithoutVendorSpecificExtension" },
|
|
{ 4, "mediumWithoutVendorSpecificExtension" },
|
|
{ 5, "maximumWithoutVendorSpecificExtension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_xnap_Trace_Depth(tvbuff_t *tvb _U_, int offset _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_xnap_ng_ran_TraceID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_ng_ran_TraceID },
|
|
{ &hf_xnap_interfaces_to_trace, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_interfaces_to_trace },
|
|
{ &hf_xnap_trace_depth , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_Trace_Depth },
|
|
{ &hf_xnap_trace_coll_address, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_TransportLayerAddress },
|
|
{ &hf_xnap_ie_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_TraceActivation, TraceActivation_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UEAggregateMaximumBitRate_sequence[] = {
|
|
{ &hf_xnap_dl_UE_AMBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
|
|
{ &hf_xnap_ul_UE_AMBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_BitRate },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_UEAggregateMaximumBitRate, UEAggregateMaximumBitRate_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UEContextIDforRRCResume_sequence[] = {
|
|
{ &hf_xnap_i_rnti , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_I_RNTI },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_UEContextIDforRRCResume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_UEContextIDforRRCResume, UEContextIDforRRCResume_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UEContextIDforRRCReestablishment_sequence[] = {
|
|
{ &hf_xnap_c_rnti , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_C_RNTI },
|
|
{ &hf_xnap_failureCellPCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_NG_RAN_CellPCI },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_UEContextIDforRRCReestablishment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_UEContextIDforRRCReestablishment, UEContextIDforRRCReestablishment_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_UEContextID_vals[] = {
|
|
{ 0, "rRCResume" },
|
|
{ 1, "rRRCReestablishment" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t UEContextID_choice[] = {
|
|
{ 0, &hf_xnap_rRCResume , ASN1_EXTENSION_ROOT , dissect_xnap_UEContextIDforRRCResume },
|
|
{ 1, &hf_xnap_rRRCReestablishment, ASN1_EXTENSION_ROOT , dissect_xnap_UEContextIDforRRCReestablishment },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_UEContextID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_UEContextID, UEContextID_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_nr_EncyptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 284 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
16, 16, TRUE, ¶meter_tvb, NULL);
|
|
|
|
if (parameter_tvb) {
|
|
const gint *fields[] = {
|
|
&hf_xnap_T_nr_EncyptionAlgorithms_nea1_128,
|
|
&hf_xnap_T_nr_EncyptionAlgorithms_nea2_128,
|
|
&hf_xnap_T_nr_EncyptionAlgorithms_nea3_128,
|
|
NULL
|
|
};
|
|
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_nr_EncyptionAlgorithms);
|
|
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_nr_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 298 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
16, 16, TRUE, ¶meter_tvb, NULL);
|
|
|
|
if (parameter_tvb) {
|
|
const gint *fields[] = {
|
|
&hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia1_128,
|
|
&hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia2_128,
|
|
&hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia3_128,
|
|
NULL
|
|
};
|
|
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_nr_IntegrityProtectionAlgorithms);
|
|
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_e_utra_EncyptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 312 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
16, 16, TRUE, ¶meter_tvb, NULL);
|
|
|
|
if (parameter_tvb) {
|
|
const gint *fields[] = {
|
|
&hf_xnap_T_e_utra_EncyptionAlgorithms_eea1_128,
|
|
&hf_xnap_T_e_utra_EncyptionAlgorithms_eea2_128,
|
|
&hf_xnap_T_e_utra_EncyptionAlgorithms_eea3_128,
|
|
NULL
|
|
};
|
|
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_e_utra_EncyptionAlgorithms);
|
|
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_e_utra_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 326 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
16, 16, TRUE, ¶meter_tvb, NULL);
|
|
|
|
if (parameter_tvb) {
|
|
const gint *fields[] = {
|
|
&hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia1_128,
|
|
&hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia2_128,
|
|
&hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia3_128,
|
|
NULL
|
|
};
|
|
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_xnap_e_utra_IntegrityProtectionAlgorithms);
|
|
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UESecurityCapabilities_sequence[] = {
|
|
{ &hf_xnap_nr_EncyptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_nr_EncyptionAlgorithms },
|
|
{ &hf_xnap_nr_IntegrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_nr_IntegrityProtectionAlgorithms },
|
|
{ &hf_xnap_e_utra_EncyptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_e_utra_EncyptionAlgorithms },
|
|
{ &hf_xnap_e_utra_IntegrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_e_utra_IntegrityProtectionAlgorithms },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_UESecurityCapabilities, UESecurityCapabilities_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_rrc_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 172 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb);
|
|
|
|
if (parameter_tvb) {
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
|
|
proto_tree *subtree;
|
|
GlobalNG_RANNode_ID_enum target_ranmode_id = (GlobalNG_RANNode_ID_enum)-1;
|
|
|
|
if (xnap_data->xnap_conv) {
|
|
if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_a)) {
|
|
target_ranmode_id = xnap_data->xnap_conv->ranmode_id_a;
|
|
} else if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_b)) {
|
|
target_ranmode_id = xnap_data->xnap_conv->ranmode_id_b;
|
|
}
|
|
}
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RRC_Context);
|
|
if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
|
|
target_ranmode_id == GlobalNG_RANNode_ID_gNB) &&
|
|
(xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_GNB)) {
|
|
dissect_nr_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
|
|
} else if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
|
|
target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) &&
|
|
(xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_NG_ENB)) {
|
|
dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UEContextInfoRetrUECtxtResp_sequence[] = {
|
|
{ &hf_xnap_ng_c_UE_signalling_ref, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_AMF_UE_NGAP_ID },
|
|
{ &hf_xnap_signalling_TNL_at_source, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_CPTransportLayerInformation },
|
|
{ &hf_xnap_ueSecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_UESecurityCapabilities },
|
|
{ &hf_xnap_securityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_AS_SecurityInformation },
|
|
{ &hf_xnap_ue_AMBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_UEAggregateMaximumBitRate },
|
|
{ &hf_xnap_pduSessionResourcesToBeSet_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSessionResourcesToBeSetup_List },
|
|
{ &hf_xnap_rrc_Context , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_rrc_Context },
|
|
{ &hf_xnap_mobilityRestrictionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_MobilityRestrictionList },
|
|
{ &hf_xnap_indexToRatFrequencySelectionPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RFSP_Index },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_UEContextInfoRetrUECtxtResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_UEContextInfoRetrUECtxtResp, UEContextInfoRetrUECtxtResp_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 63U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_UERANPagingIdentity_vals[] = {
|
|
{ 0, "i-RNTI" },
|
|
{ 1, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t UERANPagingIdentity_choice[] = {
|
|
{ 0, &hf_xnap_i_RNTI , ASN1_EXTENSION_ROOT , dissect_xnap_I_RNTI },
|
|
{ 1, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_UERANPagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_UERANPagingIdentity, UERANPagingIdentity_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_XnBenefitValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 8U, NULL, TRUE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t HandoverRequest_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 382 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_HandoverRequest, HandoverRequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_T_rrc_Context_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 116 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb);
|
|
|
|
if (parameter_tvb) {
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
|
|
proto_tree *subtree;
|
|
GlobalNG_RANNode_ID_enum target_ranmode_id = (GlobalNG_RANNode_ID_enum)-1;
|
|
|
|
if (xnap_data->xnap_conv) {
|
|
if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_a)) {
|
|
target_ranmode_id = xnap_data->xnap_conv->ranmode_id_a;
|
|
} else if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_b)) {
|
|
target_ranmode_id = xnap_data->xnap_conv->ranmode_id_b;
|
|
}
|
|
}
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_xnap_RRC_Context);
|
|
if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
|
|
target_ranmode_id == GlobalNG_RANNode_ID_gNB) ||
|
|
(xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_GNB)) {
|
|
dissect_nr_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
|
|
} else if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
|
|
target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) ||
|
|
(xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_NG_ENB)) {
|
|
dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UEContextInfoHORequest_sequence[] = {
|
|
{ &hf_xnap_ng_c_UE_reference, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_AMF_UE_NGAP_ID },
|
|
{ &hf_xnap_cp_TNL_info_source, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_CPTransportLayerInformation },
|
|
{ &hf_xnap_ueSecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_UESecurityCapabilities },
|
|
{ &hf_xnap_securityInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_AS_SecurityInformation },
|
|
{ &hf_xnap_indexToRatFrequencySelectionPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_RFSP_Index },
|
|
{ &hf_xnap_ue_AMBR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_UEAggregateMaximumBitRate },
|
|
{ &hf_xnap_pduSessionResourcesToBeSetup_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PDUSessionResourcesToBeSetup_List },
|
|
{ &hf_xnap_rrc_Context_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_T_rrc_Context_01 },
|
|
{ &hf_xnap_locationReportingInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_LocationReportingInformation },
|
|
{ &hf_xnap_hlr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_MobilityRestrictionList },
|
|
{ &hf_xnap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_UEContextInfoHORequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_UEContextInfoHORequest, UEContextInfoHORequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 384 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_Target2SourceNG_RANnodeTranspContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 144 "./asn1/xnap/xnap.cnf"
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb);
|
|
|
|
if (parameter_tvb) {
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
|
|
proto_tree *subtree;
|
|
GlobalNG_RANNode_ID_enum target_ranmode_id = (GlobalNG_RANNode_ID_enum)-1;
|
|
|
|
if (xnap_data->xnap_conv) {
|
|
if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_a)) {
|
|
target_ranmode_id = xnap_data->xnap_conv->ranmode_id_a;
|
|
} else if (addresses_equal(&actx->pinfo->dst, &xnap_data->xnap_conv->addr_b)) {
|
|
target_ranmode_id = xnap_data->xnap_conv->ranmode_id_b;
|
|
}
|
|
}
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nxap_container);
|
|
if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
|
|
target_ranmode_id == GlobalNG_RANNode_ID_gNB) ||
|
|
(xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_GNB)) {
|
|
dissect_nr_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
|
|
} else if ((xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_AUTOMATIC &&
|
|
target_ranmode_id == GlobalNG_RANNode_ID_ng_eNB) ||
|
|
(xnap_dissect_target_ng_ran_container_as == XNAP_NG_RAN_CONTAINER_NG_ENB)) {
|
|
dissect_lte_rrc_HandoverCommand_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t HandoverPreparationFailure_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 386 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNStatusTransfer_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 388 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNStatusTransfer, SNStatusTransfer_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UEContextRelease_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 402 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_UEContextRelease, UEContextRelease_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t HandoverCancel_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 390 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_HandoverCancel, HandoverCancel_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RANPaging_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RANPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 398 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANPaging");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RANPaging, RANPaging_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RetrieveUEContextRequest_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RetrieveUEContextRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 392 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RetrieveUEContextRequest, RetrieveUEContextRequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RetrieveUEContextResponse_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RetrieveUEContextResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 394 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RetrieveUEContextResponse, RetrieveUEContextResponse_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RetrieveUEContextFailure_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RetrieveUEContextFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 396 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RetrieveUEContextFailure, RetrieveUEContextFailure_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DataForwardingAddressIndication_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_DataForwardingAddressIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 400 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataForwardingAddressIndication");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_DataForwardingAddressIndication, DataForwardingAddressIndication_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeAdditionRequest_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeAdditionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 404 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequest");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeAdditionRequest, SNodeAdditionRequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeAdditionRequestAcknowledge_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeAdditionRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 406 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequestAcknowledge");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeAdditionRequestAcknowledge, SNodeAdditionRequestAcknowledge_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeAdditionRequestReject_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeAdditionRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 408 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeAdditionRequestReject");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeAdditionRequestReject, SNodeAdditionRequestReject_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeReconfigurationComplete_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 410 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReconfigurationComplete");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeReconfigurationComplete, SNodeReconfigurationComplete_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeModificationRequest_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 412 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequest");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeModificationRequest, SNodeModificationRequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeModificationRequestAcknowledge_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeModificationRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 414 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequestAcknowledge");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeModificationRequestAcknowledge, SNodeModificationRequestAcknowledge_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeModificationRequestReject_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeModificationRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 416 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequestReject");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeModificationRequestReject, SNodeModificationRequestReject_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeModificationRequired_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 418 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRequired");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeModificationRequired, SNodeModificationRequired_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeModificationConfirm_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 420 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationConfirm");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeModificationConfirm, SNodeModificationConfirm_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeModificationRefuse_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 422 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeModificationRefuse");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeModificationRefuse, SNodeModificationRefuse_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeReleaseRequest_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 424 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequest");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeReleaseRequest, SNodeReleaseRequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeReleaseRequestAcknowledge_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeReleaseRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 426 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequestAcknowledge");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeReleaseRequestAcknowledge, SNodeReleaseRequestAcknowledge_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeReleaseReject_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeReleaseReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 428 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseReject");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeReleaseReject, SNodeReleaseReject_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeReleaseRequired_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeReleaseRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 430 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseRequired");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeReleaseRequired, SNodeReleaseRequired_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeReleaseConfirm_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 432 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeReleaseConfirm");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeReleaseConfirm, SNodeReleaseConfirm_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeCounterCheckRequest_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeCounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 434 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeCounterCheckRequest");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeCounterCheckRequest, SNodeCounterCheckRequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeChangeRequired_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeChangeRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 436 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeRequired");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeChangeRequired, SNodeChangeRequired_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeChangeConfirm_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeChangeConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 438 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeConfirm");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeChangeConfirm, SNodeChangeConfirm_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SNodeChangeRefuse_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_SNodeChangeRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 440 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNodeChangeRefuse");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_SNodeChangeRefuse, SNodeChangeRefuse_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RRCTransfer_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RRCTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 442 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCTransfer");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RRCTransfer, RRCTransfer_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t XnSetupRequest_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_XnSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 450 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupRequest");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_XnSetupRequest, XnSetupRequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t XnSetupResponse_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_XnSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 452 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupResponse");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_XnSetupResponse, XnSetupResponse_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t XnSetupFailure_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_XnSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 454 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnSetupFailure");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_XnSetupFailure, XnSetupFailure_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NGRANNodeConfigurationUpdate_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NGRANNodeConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 456 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdate");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NGRANNodeConfigurationUpdate, NGRANNodeConfigurationUpdate_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_ConfigurationUpdateInitiatingNodeChoice_vals[] = {
|
|
{ 0, "gNB" },
|
|
{ 1, "ng-eNB" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t ConfigurationUpdateInitiatingNodeChoice_choice[] = {
|
|
{ 0, &hf_xnap_gNB_01 , ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolIE_Container },
|
|
{ 1, &hf_xnap_ng_eNB_01 , ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolIE_Container },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ConfigurationUpdateInitiatingNodeChoice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ConfigurationUpdateInitiatingNodeChoice, ConfigurationUpdateInitiatingNodeChoice_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NGRANNodeConfigurationUpdateAcknowledge_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NGRANNodeConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 458 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdateAcknowledge");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NGRANNodeConfigurationUpdateAcknowledge, NGRANNodeConfigurationUpdateAcknowledge_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RespondingNodeTypeConfigUpdateAck_ng_eNB_sequence[] = {
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RespondingNodeTypeConfigUpdateAck_ng_eNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RespondingNodeTypeConfigUpdateAck_ng_eNB, RespondingNodeTypeConfigUpdateAck_ng_eNB_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RespondingNodeTypeConfigUpdateAck_gNB_sequence[] = {
|
|
{ &hf_xnap_served_NR_Cells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ServedCells_NR },
|
|
{ &hf_xnap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_xnap_ProtocolExtensionContainer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RespondingNodeTypeConfigUpdateAck_gNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RespondingNodeTypeConfigUpdateAck_gNB, RespondingNodeTypeConfigUpdateAck_gNB_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_RespondingNodeTypeConfigUpdateAck_vals[] = {
|
|
{ 0, "ng-eNB" },
|
|
{ 1, "gNB" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t RespondingNodeTypeConfigUpdateAck_choice[] = {
|
|
{ 0, &hf_xnap_ng_eNB_02 , ASN1_EXTENSION_ROOT , dissect_xnap_RespondingNodeTypeConfigUpdateAck_ng_eNB },
|
|
{ 1, &hf_xnap_gNB_02 , ASN1_EXTENSION_ROOT , dissect_xnap_RespondingNodeTypeConfigUpdateAck_gNB },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_RespondingNodeTypeConfigUpdateAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_RespondingNodeTypeConfigUpdateAck, RespondingNodeTypeConfigUpdateAck_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NGRANNodeConfigurationUpdateFailure_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_NGRANNodeConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 460 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGRANNodeConfigurationUpdateFailure");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_NGRANNodeConfigurationUpdateFailure, NGRANNodeConfigurationUpdateFailure_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t XnRemovalRequest_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_XnRemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 444 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalRequest");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_XnRemovalRequest, XnRemovalRequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t XnRemovalResponse_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_XnRemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 446 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalResponse");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_XnRemovalResponse, XnRemovalResponse_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t XnRemovalFailure_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_XnRemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 448 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "XnRemovalFailure");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_XnRemovalFailure, XnRemovalFailure_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CellActivationRequest_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_CellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 462 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_CellActivationRequest, CellActivationRequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_ServedCellsToActivate_vals[] = {
|
|
{ 0, "nr-cells" },
|
|
{ 1, "e-utra-cells" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t ServedCellsToActivate_choice[] = {
|
|
{ 0, &hf_xnap_nr_cells , ASN1_EXTENSION_ROOT , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI },
|
|
{ 1, &hf_xnap_e_utra_cells , ASN1_EXTENSION_ROOT , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ServedCellsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ServedCellsToActivate, ServedCellsToActivate_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CellActivationResponse_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_CellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 464 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_CellActivationResponse, CellActivationResponse_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_ActivatedServedCells_vals[] = {
|
|
{ 0, "nr-cells" },
|
|
{ 1, "e-utra-cells" },
|
|
{ 2, "choice-extension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t ActivatedServedCells_choice[] = {
|
|
{ 0, &hf_xnap_nr_cells , ASN1_EXTENSION_ROOT , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI },
|
|
{ 1, &hf_xnap_e_utra_cells , ASN1_EXTENSION_ROOT , dissect_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI },
|
|
{ 2, &hf_xnap_choice_extension, ASN1_EXTENSION_ROOT , dissect_xnap_ProtocolExtensionContainer },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ActivatedServedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ActivatedServedCells, ActivatedServedCells_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CellActivationFailure_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_CellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 466 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_CellActivationFailure, CellActivationFailure_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResetRequest_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 468 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetRequest, ResetRequest_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResetResponse_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 470 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ResetResponse, ResetResponse_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ErrorIndication_sequence[] = {
|
|
{ &hf_xnap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_ProtocolIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 472 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_ErrorIndication, ErrorIndication_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PrivateMessage_sequence[] = {
|
|
{ &hf_xnap_privateIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_xnap_PrivateIE_Container },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 474 "./asn1/xnap/xnap.cnf"
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_xnap_PrivateMessage, PrivateMessage_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 85 "./asn1/xnap/xnap.cnf"
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
|
|
xnap_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_xnap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProcedureCode },
|
|
{ &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
|
|
{ &hf_xnap_initiatingMessage_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_InitiatingMessage_value },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_InitiatingMessage, InitiatingMessage_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 90 "./asn1/xnap/xnap.cnf"
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
|
|
xnap_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_xnap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProcedureCode },
|
|
{ &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
|
|
{ &hf_xnap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_SuccessfulOutcome_value },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_SuccessfulOutcome, SuccessfulOutcome_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_xnap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
#line 95 "./asn1/xnap/xnap.cnf"
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(actx->pinfo);
|
|
xnap_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_xnap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_ProcedureCode },
|
|
{ &hf_xnap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_Criticality },
|
|
{ &hf_xnap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_xnap_UnsuccessfulOutcome_value },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_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_xnap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string xnap_XnAP_PDU_vals[] = {
|
|
{ 0, "initiatingMessage" },
|
|
{ 1, "successfulOutcome" },
|
|
{ 2, "unsuccessfulOutcome" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t XnAP_PDU_choice[] = {
|
|
{ 0, &hf_xnap_initiatingMessage, ASN1_EXTENSION_ROOT , dissect_xnap_InitiatingMessage },
|
|
{ 1, &hf_xnap_successfulOutcome, ASN1_EXTENSION_ROOT , dissect_xnap_SuccessfulOutcome },
|
|
{ 2, &hf_xnap_unsuccessfulOutcome, ASN1_EXTENSION_ROOT , dissect_xnap_UnsuccessfulOutcome },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_xnap_XnAP_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_xnap_XnAP_PDU, XnAP_PDU_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
/*--- PDUs ---*/
|
|
|
|
static int dissect_ActivationIDforCellActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ActivationIDforCellActivation(tvb, offset, &asn1_ctx, tree, hf_xnap_ActivationIDforCellActivation_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_AMF_Pool_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_xnap_AMF_Pool_Information(tvb, offset, &asn1_ctx, tree, hf_xnap_AMF_Pool_Information_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_AreaOfInterest_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_AreaOfInterest_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_AreaOfInterest_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_AssistanceDataForRANPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_AssistanceDataForRANPaging(tvb, offset, &asn1_ctx, tree, hf_xnap_AssistanceDataForRANPaging_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_xnap_Cause(tvb, offset, &asn1_ctx, tree, hf_xnap_Cause_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_CellAssistanceInfo_NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_CellAssistanceInfo_NR(tvb, offset, &asn1_ctx, tree, hf_xnap_CellAssistanceInfo_NR_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_xnap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_xnap_CriticalityDiagnostics_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_DataforwardingInfoperPDUSession_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_DataforwardingInfoperPDUSession(tvb, offset, &asn1_ctx, tree, hf_xnap_DataforwardingInfoperPDUSession_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_DataforwardingInfoperPDUSession_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_DataforwardingInfoperPDUSession_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_DataforwardingInfoperPDUSession_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_DataForwardingResponseDRBItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_DataForwardingResponseDRBItem(tvb, offset, &asn1_ctx, tree, hf_xnap_DataForwardingResponseDRBItem_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_DRBsSubjectToStatusTransfer_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_DRBsSubjectToStatusTransfer_List(tvb, offset, &asn1_ctx, tree, hf_xnap_DRBsSubjectToStatusTransfer_List_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_DRBsSubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_DRBsSubjectToStatusTransfer_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_DRBsSubjectToStatusTransfer_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_DRBToQoSFlowMapping_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_DRBToQoSFlowMapping_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_DRBToQoSFlowMapping_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_GlobalNG_RANNode_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_xnap_GlobalNG_RANNode_ID(tvb, offset, &asn1_ctx, tree, hf_xnap_GlobalNG_RANNode_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_xnap_GUAMI(tvb, offset, &asn1_ctx, tree, hf_xnap_GUAMI_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_LocationReportingInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_LocationReportingInformation(tvb, offset, &asn1_ctx, tree, hf_xnap_LocationReportingInformation_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_MAC_I_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_MAC_I(tvb, offset, &asn1_ctx, tree, hf_xnap_MAC_I_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_xnap_MaskedIMEISV(tvb, offset, &asn1_ctx, tree, hf_xnap_MaskedIMEISV_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_NG_RAN_Cell_Identity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_NG_RAN_Cell_Identity(tvb, offset, &asn1_ctx, tree, hf_xnap_NG_RAN_Cell_Identity_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_NG_RANnodeUEXnAPID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_NG_RANnodeUEXnAPID(tvb, offset, &asn1_ctx, tree, hf_xnap_NG_RANnodeUEXnAPID_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_xnap_PagingDRX(tvb, offset, &asn1_ctx, tree, hf_xnap_PagingDRX_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_PDUSessionResourcesAdmitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_PDUSessionResourcesAdmitted_List(tvb, offset, &asn1_ctx, tree, hf_xnap_PDUSessionResourcesAdmitted_List_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_PDUSessionResourcesAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_PDUSessionResourcesAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_PDUSessionResourcesAdmitted_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_PDUSessionResourcesNotAdmitted_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_PDUSessionResourcesNotAdmitted_List(tvb, offset, &asn1_ctx, tree, hf_xnap_PDUSessionResourcesNotAdmitted_List_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_PDUSessionResourcesNotAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_PDUSessionResourcesNotAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_PDUSessionResourcesNotAdmitted_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_PDUSessionResourcesToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_PDUSessionResourcesToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_PDUSessionResourcesToBeSetup_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_QoSFlow_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_QoSFlow_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_QoSFlow_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_QoSFlowAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_QoSFlowAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_QoSFlowAdmitted_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_QoSFlowNotAdmitted_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_QoSFlowNotAdmitted_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_QoSFlowNotAdmitted_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_QoSFlowsToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_QoSFlowsToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_QoSFlowsToBeSetup_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_RANPagingArea_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_RANPagingArea(tvb, offset, &asn1_ctx, tree, hf_xnap_RANPagingArea_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_xnap_RANPagingPriority(tvb, offset, &asn1_ctx, tree, hf_xnap_RANPagingPriority_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ResetRequestTypeInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ResetRequestTypeInfo(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetRequestTypeInfo_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ResetRequestPartialReleaseItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ResetRequestPartialReleaseItem(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetRequestPartialReleaseItem_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ResetResponseTypeInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ResetResponseTypeInfo(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetResponseTypeInfo_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ResetResponsePartialReleaseItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ResetResponsePartialReleaseItem(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetResponsePartialReleaseItem_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ServedCells_E_UTRA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ServedCells_E_UTRA(tvb, offset, &asn1_ctx, tree, hf_xnap_ServedCells_E_UTRA_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ServedCellsToUpdate_E_UTRA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ServedCellsToUpdate_E_UTRA(tvb, offset, &asn1_ctx, tree, hf_xnap_ServedCellsToUpdate_E_UTRA_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ServedCells_NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ServedCells_NR(tvb, offset, &asn1_ctx, tree, hf_xnap_ServedCells_NR_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ServedCellsToUpdate_NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ServedCellsToUpdate_NR(tvb, offset, &asn1_ctx, tree, hf_xnap_ServedCellsToUpdate_NR_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_TAISupport_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_TAISupport_List(tvb, offset, &asn1_ctx, tree, hf_xnap_TAISupport_List_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_TAISupport_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_TAISupport_Item(tvb, offset, &asn1_ctx, tree, hf_xnap_TAISupport_Item_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_Target_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_xnap_Target_CGI(tvb, offset, &asn1_ctx, tree, hf_xnap_Target_CGI_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_xnap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_xnap_TraceActivation_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_UEContextID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_UEContextID(tvb, offset, &asn1_ctx, tree, hf_xnap_UEContextID_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_UEContextInfoRetrUECtxtResp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_UEContextInfoRetrUECtxtResp(tvb, offset, &asn1_ctx, tree, hf_xnap_UEContextInfoRetrUECtxtResp_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_xnap_UEIdentityIndexValue_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_UERANPagingIdentity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_UERANPagingIdentity(tvb, offset, &asn1_ctx, tree, hf_xnap_UERANPagingIdentity_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_XnBenefitValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_XnBenefitValue(tvb, offset, &asn1_ctx, tree, hf_xnap_XnBenefitValue_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_xnap_HandoverRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_HandoverRequest_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_UEContextInfoHORequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_UEContextInfoHORequest(tvb, offset, &asn1_ctx, tree, hf_xnap_UEContextInfoHORequest_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_xnap_HandoverRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_xnap_HandoverRequestAcknowledge_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_Target2SourceNG_RANnodeTranspContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_Target2SourceNG_RANnodeTranspContainer(tvb, offset, &asn1_ctx, tree, hf_xnap_Target2SourceNG_RANnodeTranspContainer_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_xnap_HandoverPreparationFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_HandoverPreparationFailure_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_xnap_SNStatusTransfer_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_UEContextRelease_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_UEContextRelease(tvb, offset, &asn1_ctx, tree, hf_xnap_UEContextRelease_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_HandoverCancel(tvb, offset, &asn1_ctx, tree, hf_xnap_HandoverCancel_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_RANPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_RANPaging(tvb, offset, &asn1_ctx, tree, hf_xnap_RANPaging_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_RetrieveUEContextRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_RetrieveUEContextRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_RetrieveUEContextRequest_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_RetrieveUEContextResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_RetrieveUEContextResponse(tvb, offset, &asn1_ctx, tree, hf_xnap_RetrieveUEContextResponse_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_RetrieveUEContextFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_RetrieveUEContextFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_RetrieveUEContextFailure_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_DataForwardingAddressIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_DataForwardingAddressIndication(tvb, offset, &asn1_ctx, tree, hf_xnap_DataForwardingAddressIndication_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeAdditionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeAdditionRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeAdditionRequest_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeAdditionRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeAdditionRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeAdditionRequestAcknowledge_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeAdditionRequestReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeAdditionRequestReject(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeAdditionRequestReject_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeReconfigurationComplete(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReconfigurationComplete_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeModificationRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationRequest_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeModificationRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeModificationRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationRequestAcknowledge_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeModificationRequestReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeModificationRequestReject(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationRequestReject_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeModificationRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeModificationRequired(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationRequired_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationConfirm_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeModificationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeModificationRefuse(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeModificationRefuse_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReleaseRequest_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeReleaseRequestAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeReleaseRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReleaseRequestAcknowledge_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeReleaseReject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeReleaseReject(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReleaseReject_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeReleaseRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeReleaseRequired(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReleaseRequired_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeReleaseConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeReleaseConfirm(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeReleaseConfirm_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeCounterCheckRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeCounterCheckRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeCounterCheckRequest_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeChangeRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeChangeRequired(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeChangeRequired_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeChangeConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeChangeConfirm(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeChangeConfirm_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_SNodeChangeRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_SNodeChangeRefuse(tvb, offset, &asn1_ctx, tree, hf_xnap_SNodeChangeRefuse_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_RRCTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_RRCTransfer(tvb, offset, &asn1_ctx, tree, hf_xnap_RRCTransfer_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_XnSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_XnSetupRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_XnSetupRequest_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_XnSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_XnSetupResponse(tvb, offset, &asn1_ctx, tree, hf_xnap_XnSetupResponse_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_XnSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_XnSetupFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_XnSetupFailure_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_NGRANNodeConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_NGRANNodeConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_xnap_NGRANNodeConfigurationUpdate_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ConfigurationUpdateInitiatingNodeChoice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ConfigurationUpdateInitiatingNodeChoice(tvb, offset, &asn1_ctx, tree, hf_xnap_ConfigurationUpdateInitiatingNodeChoice_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_NGRANNodeConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_NGRANNodeConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_xnap_NGRANNodeConfigurationUpdateAcknowledge_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_RespondingNodeTypeConfigUpdateAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_RespondingNodeTypeConfigUpdateAck(tvb, offset, &asn1_ctx, tree, hf_xnap_RespondingNodeTypeConfigUpdateAck_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_NGRANNodeConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_NGRANNodeConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_NGRANNodeConfigurationUpdateFailure_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_XnRemovalRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_XnRemovalRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_XnRemovalRequest_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_XnRemovalResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_XnRemovalResponse(tvb, offset, &asn1_ctx, tree, hf_xnap_XnRemovalResponse_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_XnRemovalFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_XnRemovalFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_XnRemovalFailure_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_CellActivationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_CellActivationRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_CellActivationRequest_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ServedCellsToActivate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ServedCellsToActivate(tvb, offset, &asn1_ctx, tree, hf_xnap_ServedCellsToActivate_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_CellActivationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_CellActivationResponse(tvb, offset, &asn1_ctx, tree, hf_xnap_CellActivationResponse_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ActivatedServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ActivatedServedCells(tvb, offset, &asn1_ctx, tree, hf_xnap_ActivatedServedCells_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_CellActivationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_CellActivationFailure(tvb, offset, &asn1_ctx, tree, hf_xnap_CellActivationFailure_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ResetRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ResetRequest(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetRequest_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_ResetResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
|
|
offset = dissect_xnap_ResetResponse(tvb, offset, &asn1_ctx, tree, hf_xnap_ResetResponse_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_xnap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_xnap_ErrorIndication_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_xnap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_xnap_PrivateMessage_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_XnAP_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_xnap_XnAP_PDU(tvb, offset, &asn1_ctx, tree, hf_xnap_XnAP_PDU_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
|
|
|
|
/*--- End of included file: packet-xnap-fn.c ---*/
|
|
#line 141 "./asn1/xnap/packet-xnap-template.c"
|
|
|
|
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
{
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
|
|
|
|
return (dissector_try_uint_new(xnap_ies_dissector_table, xnap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
|
|
}
|
|
|
|
static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
{
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
|
|
|
|
return (dissector_try_uint_new(xnap_extension_dissector_table, xnap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
|
|
}
|
|
|
|
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
{
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
|
|
|
|
return (dissector_try_uint_new(xnap_proc_imsg_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
|
|
}
|
|
|
|
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
{
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
|
|
|
|
return (dissector_try_uint_new(xnap_proc_sout_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
|
|
}
|
|
|
|
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
{
|
|
struct xnap_private_data *xnap_data = xnap_get_private_data(pinfo);
|
|
|
|
return (dissector_try_uint_new(xnap_proc_uout_dissector_table, xnap_data->procedure_code, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0;
|
|
}
|
|
|
|
static int
|
|
dissect_xnap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|
{
|
|
proto_item *xnap_item;
|
|
proto_tree *xnap_tree;
|
|
conversation_t *conversation;
|
|
struct xnap_private_data* xnap_data;
|
|
|
|
col_set_str(pinfo->cinfo, COL_PROTOCOL, "XnAP");
|
|
col_clear_fence(pinfo->cinfo, COL_INFO);
|
|
col_clear(pinfo->cinfo, COL_INFO);
|
|
|
|
xnap_item = proto_tree_add_item(tree, proto_xnap, tvb, 0, -1, ENC_NA);
|
|
xnap_tree = proto_item_add_subtree(xnap_item, ett_xnap);
|
|
|
|
xnap_data = xnap_get_private_data(pinfo);
|
|
conversation = find_or_create_conversation(pinfo);
|
|
xnap_data->xnap_conv = (struct xnap_conv_info *)conversation_get_proto_data(conversation, proto_xnap);
|
|
if (!xnap_data->xnap_conv) {
|
|
xnap_data->xnap_conv = wmem_new0(wmem_file_scope(), struct xnap_conv_info);
|
|
copy_address_wmem(wmem_packet_scope(), &xnap_data->xnap_conv->addr_a, &pinfo->src);
|
|
xnap_data->xnap_conv->ranmode_id_a = (GlobalNG_RANNode_ID_enum)-1;
|
|
copy_address_wmem(wmem_packet_scope(), &xnap_data->xnap_conv->addr_b, &pinfo->dst);
|
|
xnap_data->xnap_conv->ranmode_id_b = (GlobalNG_RANNode_ID_enum)-1;
|
|
conversation_add_proto_data(conversation, proto_xnap, xnap_data->xnap_conv);
|
|
}
|
|
|
|
return dissect_XnAP_PDU_PDU(tvb, pinfo, xnap_tree, data);
|
|
}
|
|
|
|
void proto_register_xnap(void) {
|
|
|
|
/* List of fields */
|
|
|
|
static hf_register_info hf[] = {
|
|
{ &hf_xnap_transportLayerAddressIPv4,
|
|
{ "TransportLayerAddress (IPv4)", "xnap.TransportLayerAddressIPv4",
|
|
FT_IPv4, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_transportLayerAddressIPv6,
|
|
{ "TransportLayerAddress (IPv6)", "xnap.TransportLayerAddressIPv6",
|
|
FT_IPv6, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ng_ran_TraceID_TraceID,
|
|
{ "TraceID", "xnap.ng_ran_TraceID.TraceID",
|
|
FT_UINT24, BASE_HEX, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ng_ran_TraceID_TraceRecordingSessionReference,
|
|
{ "TraceRecordingSessionReference", "xnap.ng_ran_TraceID.TraceRecordingSessionReference",
|
|
FT_UINT16, BASE_HEX, NULL, 0,
|
|
NULL, HFILL }},
|
|
|
|
/*--- Included file: packet-xnap-hfarr.c ---*/
|
|
#line 1 "./asn1/xnap/packet-xnap-hfarr.c"
|
|
{ &hf_xnap_ActivationIDforCellActivation_PDU,
|
|
{ "ActivationIDforCellActivation", "xnap.ActivationIDforCellActivation",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_AMF_Pool_Information_PDU,
|
|
{ "AMF-Pool-Information", "xnap.AMF_Pool_Information",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_AreaOfInterest_Item_PDU,
|
|
{ "AreaOfInterest-Item", "xnap.AreaOfInterest_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_AssistanceDataForRANPaging_PDU,
|
|
{ "AssistanceDataForRANPaging", "xnap.AssistanceDataForRANPaging_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_Cause_PDU,
|
|
{ "Cause", "xnap.Cause",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_Cause_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_CellAssistanceInfo_NR_PDU,
|
|
{ "CellAssistanceInfo-NR", "xnap.CellAssistanceInfo_NR",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_CellAssistanceInfo_NR_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_CriticalityDiagnostics_PDU,
|
|
{ "CriticalityDiagnostics", "xnap.CriticalityDiagnostics_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_DataforwardingInfoperPDUSession_PDU,
|
|
{ "DataforwardingInfoperPDUSession", "xnap.DataforwardingInfoperPDUSession",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_DataforwardingInfoperPDUSession_Item_PDU,
|
|
{ "DataforwardingInfoperPDUSession-Item", "xnap.DataforwardingInfoperPDUSession_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_DataForwardingResponseDRBItem_PDU,
|
|
{ "DataForwardingResponseDRBItem", "xnap.DataForwardingResponseDRBItem_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_DRBsSubjectToStatusTransfer_List_PDU,
|
|
{ "DRBsSubjectToStatusTransfer-List", "xnap.DRBsSubjectToStatusTransfer_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_DRBsSubjectToStatusTransfer_Item_PDU,
|
|
{ "DRBsSubjectToStatusTransfer-Item", "xnap.DRBsSubjectToStatusTransfer_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_DRBToQoSFlowMapping_Item_PDU,
|
|
{ "DRBToQoSFlowMapping-Item", "xnap.DRBToQoSFlowMapping_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_GlobalNG_RANNode_ID_PDU,
|
|
{ "GlobalNG-RANNode-ID", "xnap.GlobalNG_RANNode_ID",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_GlobalNG_RANNode_ID_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_GUAMI_PDU,
|
|
{ "GUAMI", "xnap.GUAMI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_LocationReportingInformation_PDU,
|
|
{ "LocationReportingInformation", "xnap.LocationReportingInformation_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_MAC_I_PDU,
|
|
{ "MAC-I", "xnap.MAC_I",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_MaskedIMEISV_PDU,
|
|
{ "MaskedIMEISV", "xnap.MaskedIMEISV",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_NG_RAN_Cell_Identity_PDU,
|
|
{ "NG-RAN-Cell-Identity", "xnap.NG_RAN_Cell_Identity",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_NG_RAN_Cell_Identity_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_NG_RANnodeUEXnAPID_PDU,
|
|
{ "NG-RANnodeUEXnAPID", "xnap.NG_RANnodeUEXnAPID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_PagingDRX_PDU,
|
|
{ "PagingDRX", "xnap.PagingDRX",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_PDUSessionResourcesAdmitted_List_PDU,
|
|
{ "PDUSessionResourcesAdmitted-List", "xnap.PDUSessionResourcesAdmitted_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_PDUSessionResourcesAdmitted_Item_PDU,
|
|
{ "PDUSessionResourcesAdmitted-Item", "xnap.PDUSessionResourcesAdmitted_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_PDUSessionResourcesNotAdmitted_List_PDU,
|
|
{ "PDUSessionResourcesNotAdmitted-List", "xnap.PDUSessionResourcesNotAdmitted_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_PDUSessionResourcesNotAdmitted_Item_PDU,
|
|
{ "PDUSessionResourcesNotAdmitted-Item", "xnap.PDUSessionResourcesNotAdmitted_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_PDUSessionResourcesToBeSetup_Item_PDU,
|
|
{ "PDUSessionResourcesToBeSetup-Item", "xnap.PDUSessionResourcesToBeSetup_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_QoSFlow_Item_PDU,
|
|
{ "QoSFlow-Item", "xnap.QoSFlow_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_QoSFlowAdmitted_Item_PDU,
|
|
{ "QoSFlowAdmitted-Item", "xnap.QoSFlowAdmitted_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_QoSFlowNotAdmitted_Item_PDU,
|
|
{ "QoSFlowNotAdmitted-Item", "xnap.QoSFlowNotAdmitted_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_QoSFlowsToBeSetup_Item_PDU,
|
|
{ "QoSFlowsToBeSetup-Item", "xnap.QoSFlowsToBeSetup_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_RANPagingArea_PDU,
|
|
{ "RANPagingArea", "xnap.RANPagingArea_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_RANPagingPriority_PDU,
|
|
{ "RANPagingPriority", "xnap.RANPagingPriority",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ResetRequestTypeInfo_PDU,
|
|
{ "ResetRequestTypeInfo", "xnap.ResetRequestTypeInfo",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_ResetRequestTypeInfo_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ResetRequestPartialReleaseItem_PDU,
|
|
{ "ResetRequestPartialReleaseItem", "xnap.ResetRequestPartialReleaseItem_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ResetResponseTypeInfo_PDU,
|
|
{ "ResetResponseTypeInfo", "xnap.ResetResponseTypeInfo",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_ResetResponseTypeInfo_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ResetResponsePartialReleaseItem_PDU,
|
|
{ "ResetResponsePartialReleaseItem", "xnap.ResetResponsePartialReleaseItem_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ServedCells_E_UTRA_PDU,
|
|
{ "ServedCells-E-UTRA", "xnap.ServedCells_E_UTRA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ServedCellsToUpdate_E_UTRA_PDU,
|
|
{ "ServedCellsToUpdate-E-UTRA", "xnap.ServedCellsToUpdate_E_UTRA_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ServedCells_NR_PDU,
|
|
{ "ServedCells-NR", "xnap.ServedCells_NR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ServedCellsToUpdate_NR_PDU,
|
|
{ "ServedCellsToUpdate-NR", "xnap.ServedCellsToUpdate_NR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_TAISupport_List_PDU,
|
|
{ "TAISupport-List", "xnap.TAISupport_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_TAISupport_Item_PDU,
|
|
{ "TAISupport-Item", "xnap.TAISupport_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_Target_CGI_PDU,
|
|
{ "Target-CGI", "xnap.Target_CGI",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_Target_CGI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_TraceActivation_PDU,
|
|
{ "TraceActivation", "xnap.TraceActivation_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_UEContextID_PDU,
|
|
{ "UEContextID", "xnap.UEContextID",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_UEContextID_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_UEContextInfoRetrUECtxtResp_PDU,
|
|
{ "UEContextInfoRetrUECtxtResp", "xnap.UEContextInfoRetrUECtxtResp_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_UEIdentityIndexValue_PDU,
|
|
{ "UEIdentityIndexValue", "xnap.UEIdentityIndexValue",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_UERANPagingIdentity_PDU,
|
|
{ "UERANPagingIdentity", "xnap.UERANPagingIdentity",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_UERANPagingIdentity_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_XnBenefitValue_PDU,
|
|
{ "XnBenefitValue", "xnap.XnBenefitValue",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_HandoverRequest_PDU,
|
|
{ "HandoverRequest", "xnap.HandoverRequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_UEContextInfoHORequest_PDU,
|
|
{ "UEContextInfoHORequest", "xnap.UEContextInfoHORequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_HandoverRequestAcknowledge_PDU,
|
|
{ "HandoverRequestAcknowledge", "xnap.HandoverRequestAcknowledge_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_Target2SourceNG_RANnodeTranspContainer_PDU,
|
|
{ "Target2SourceNG-RANnodeTranspContainer", "xnap.Target2SourceNG_RANnodeTranspContainer",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_HandoverPreparationFailure_PDU,
|
|
{ "HandoverPreparationFailure", "xnap.HandoverPreparationFailure_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNStatusTransfer_PDU,
|
|
{ "SNStatusTransfer", "xnap.SNStatusTransfer_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_UEContextRelease_PDU,
|
|
{ "UEContextRelease", "xnap.UEContextRelease_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_HandoverCancel_PDU,
|
|
{ "HandoverCancel", "xnap.HandoverCancel_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_RANPaging_PDU,
|
|
{ "RANPaging", "xnap.RANPaging_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_RetrieveUEContextRequest_PDU,
|
|
{ "RetrieveUEContextRequest", "xnap.RetrieveUEContextRequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_RetrieveUEContextResponse_PDU,
|
|
{ "RetrieveUEContextResponse", "xnap.RetrieveUEContextResponse_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_RetrieveUEContextFailure_PDU,
|
|
{ "RetrieveUEContextFailure", "xnap.RetrieveUEContextFailure_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_DataForwardingAddressIndication_PDU,
|
|
{ "DataForwardingAddressIndication", "xnap.DataForwardingAddressIndication_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeAdditionRequest_PDU,
|
|
{ "SNodeAdditionRequest", "xnap.SNodeAdditionRequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeAdditionRequestAcknowledge_PDU,
|
|
{ "SNodeAdditionRequestAcknowledge", "xnap.SNodeAdditionRequestAcknowledge_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeAdditionRequestReject_PDU,
|
|
{ "SNodeAdditionRequestReject", "xnap.SNodeAdditionRequestReject_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeReconfigurationComplete_PDU,
|
|
{ "SNodeReconfigurationComplete", "xnap.SNodeReconfigurationComplete_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeModificationRequest_PDU,
|
|
{ "SNodeModificationRequest", "xnap.SNodeModificationRequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeModificationRequestAcknowledge_PDU,
|
|
{ "SNodeModificationRequestAcknowledge", "xnap.SNodeModificationRequestAcknowledge_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeModificationRequestReject_PDU,
|
|
{ "SNodeModificationRequestReject", "xnap.SNodeModificationRequestReject_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeModificationRequired_PDU,
|
|
{ "SNodeModificationRequired", "xnap.SNodeModificationRequired_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeModificationConfirm_PDU,
|
|
{ "SNodeModificationConfirm", "xnap.SNodeModificationConfirm_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeModificationRefuse_PDU,
|
|
{ "SNodeModificationRefuse", "xnap.SNodeModificationRefuse_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeReleaseRequest_PDU,
|
|
{ "SNodeReleaseRequest", "xnap.SNodeReleaseRequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeReleaseRequestAcknowledge_PDU,
|
|
{ "SNodeReleaseRequestAcknowledge", "xnap.SNodeReleaseRequestAcknowledge_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeReleaseReject_PDU,
|
|
{ "SNodeReleaseReject", "xnap.SNodeReleaseReject_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeReleaseRequired_PDU,
|
|
{ "SNodeReleaseRequired", "xnap.SNodeReleaseRequired_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeReleaseConfirm_PDU,
|
|
{ "SNodeReleaseConfirm", "xnap.SNodeReleaseConfirm_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeCounterCheckRequest_PDU,
|
|
{ "SNodeCounterCheckRequest", "xnap.SNodeCounterCheckRequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeChangeRequired_PDU,
|
|
{ "SNodeChangeRequired", "xnap.SNodeChangeRequired_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeChangeConfirm_PDU,
|
|
{ "SNodeChangeConfirm", "xnap.SNodeChangeConfirm_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SNodeChangeRefuse_PDU,
|
|
{ "SNodeChangeRefuse", "xnap.SNodeChangeRefuse_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_RRCTransfer_PDU,
|
|
{ "RRCTransfer", "xnap.RRCTransfer_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_XnSetupRequest_PDU,
|
|
{ "XnSetupRequest", "xnap.XnSetupRequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_XnSetupResponse_PDU,
|
|
{ "XnSetupResponse", "xnap.XnSetupResponse_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_XnSetupFailure_PDU,
|
|
{ "XnSetupFailure", "xnap.XnSetupFailure_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_NGRANNodeConfigurationUpdate_PDU,
|
|
{ "NGRANNodeConfigurationUpdate", "xnap.NGRANNodeConfigurationUpdate_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ConfigurationUpdateInitiatingNodeChoice_PDU,
|
|
{ "ConfigurationUpdateInitiatingNodeChoice", "xnap.ConfigurationUpdateInitiatingNodeChoice",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_ConfigurationUpdateInitiatingNodeChoice_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_NGRANNodeConfigurationUpdateAcknowledge_PDU,
|
|
{ "NGRANNodeConfigurationUpdateAcknowledge", "xnap.NGRANNodeConfigurationUpdateAcknowledge_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_RespondingNodeTypeConfigUpdateAck_PDU,
|
|
{ "RespondingNodeTypeConfigUpdateAck", "xnap.RespondingNodeTypeConfigUpdateAck",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_RespondingNodeTypeConfigUpdateAck_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_NGRANNodeConfigurationUpdateFailure_PDU,
|
|
{ "NGRANNodeConfigurationUpdateFailure", "xnap.NGRANNodeConfigurationUpdateFailure_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_XnRemovalRequest_PDU,
|
|
{ "XnRemovalRequest", "xnap.XnRemovalRequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_XnRemovalResponse_PDU,
|
|
{ "XnRemovalResponse", "xnap.XnRemovalResponse_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_XnRemovalFailure_PDU,
|
|
{ "XnRemovalFailure", "xnap.XnRemovalFailure_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_CellActivationRequest_PDU,
|
|
{ "CellActivationRequest", "xnap.CellActivationRequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ServedCellsToActivate_PDU,
|
|
{ "ServedCellsToActivate", "xnap.ServedCellsToActivate",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_ServedCellsToActivate_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_CellActivationResponse_PDU,
|
|
{ "CellActivationResponse", "xnap.CellActivationResponse_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ActivatedServedCells_PDU,
|
|
{ "ActivatedServedCells", "xnap.ActivatedServedCells",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_ActivatedServedCells_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_CellActivationFailure_PDU,
|
|
{ "CellActivationFailure", "xnap.CellActivationFailure_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ResetRequest_PDU,
|
|
{ "ResetRequest", "xnap.ResetRequest_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ResetResponse_PDU,
|
|
{ "ResetResponse", "xnap.ResetResponse_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ErrorIndication_PDU,
|
|
{ "ErrorIndication", "xnap.ErrorIndication_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_PrivateMessage_PDU,
|
|
{ "PrivateMessage", "xnap.PrivateMessage_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_XnAP_PDU_PDU,
|
|
{ "XnAP-PDU", "xnap.XnAP_PDU",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_XnAP_PDU_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_local,
|
|
{ "local", "xnap.local",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxPrivateIEs", HFILL }},
|
|
{ &hf_xnap_global,
|
|
{ "global", "xnap.global",
|
|
FT_OID, BASE_NONE, NULL, 0,
|
|
"OBJECT_IDENTIFIER", HFILL }},
|
|
{ &hf_xnap_ProtocolIE_Container_item,
|
|
{ "ProtocolIE-Field", "xnap.ProtocolIE_Field_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_id,
|
|
{ "id", "xnap.id",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &xnap_ProtocolIE_ID_vals_ext, 0,
|
|
"ProtocolIE_ID", HFILL }},
|
|
{ &hf_xnap_criticality,
|
|
{ "criticality", "xnap.criticality",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_Criticality_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_protocolIE_Field_value,
|
|
{ "value", "xnap.value_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ProtocolIE_Field_value", HFILL }},
|
|
{ &hf_xnap_ProtocolExtensionContainer_item,
|
|
{ "ProtocolExtensionField", "xnap.ProtocolExtensionField_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_extension_id,
|
|
{ "id", "xnap.id",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &xnap_ProtocolIE_ID_vals_ext, 0,
|
|
"ProtocolIE_ID", HFILL }},
|
|
{ &hf_xnap_extensionValue,
|
|
{ "extensionValue", "xnap.extensionValue_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_PrivateIE_Container_item,
|
|
{ "PrivateIE-Field", "xnap.PrivateIE_Field_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_private_id,
|
|
{ "id", "xnap.id",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_PrivateIE_ID_vals), 0,
|
|
"PrivateIE_ID", HFILL }},
|
|
{ &hf_xnap_privateIE_Field_value,
|
|
{ "value", "xnap.value_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PrivateIE_Field_value", HFILL }},
|
|
{ &hf_xnap_priorityLevel,
|
|
{ "priorityLevel", "xnap.priorityLevel",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15_", HFILL }},
|
|
{ &hf_xnap_pre_emption_capability,
|
|
{ "pre-emption-capability", "xnap.pre_emption_capability",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_pre_emption_capability_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_pre_emption_vulnerability,
|
|
{ "pre-emption-vulnerability", "xnap.pre_emption_vulnerability",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_pre_emption_vulnerability_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_iE_Extensions,
|
|
{ "iE-Extensions", "xnap.iE_Extensions",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ProtocolExtensionContainer", HFILL }},
|
|
{ &hf_xnap_AreaOfInterest_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_listOfTAIs,
|
|
{ "listOfTAIs", "xnap.listOfTAIs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ListOfTAIsinAoI", HFILL }},
|
|
{ &hf_xnap_listOfCells,
|
|
{ "listOfCells", "xnap.listOfCells",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_key_NG_RAN_Star,
|
|
{ "key-NG-RAN-Star", "xnap.key_NG_RAN_Star",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_256", HFILL }},
|
|
{ &hf_xnap_ncc,
|
|
{ "ncc", "xnap.ncc",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_7", HFILL }},
|
|
{ &hf_xnap_ran_paging_attempt_info,
|
|
{ "ran-paging-attempt-info", "xnap.ran_paging_attempt_info_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RANPagingAttemptInfo", HFILL }},
|
|
{ &hf_xnap_BroadcastPLMNs_item,
|
|
{ "PLMN-Identity", "xnap.PLMN_Identity",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_plmn_id,
|
|
{ "plmn-id", "xnap.plmn_id",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"PLMN_Identity", HFILL }},
|
|
{ &hf_xnap_tAISliceSupport_List,
|
|
{ "tAISliceSupport-List", "xnap.tAISliceSupport_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SliceSupport_List", HFILL }},
|
|
{ &hf_xnap_iE_Extension,
|
|
{ "iE-Extension", "xnap.iE_Extension",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ProtocolExtensionContainer", HFILL }},
|
|
{ &hf_xnap_radioNetwork,
|
|
{ "radioNetwork", "xnap.radioNetwork",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_CauseRadioNetworkLayer_vals), 0,
|
|
"CauseRadioNetworkLayer", HFILL }},
|
|
{ &hf_xnap_transport,
|
|
{ "transport", "xnap.transport",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_CauseTransportLayer_vals), 0,
|
|
"CauseTransportLayer", HFILL }},
|
|
{ &hf_xnap_protocol,
|
|
{ "protocol", "xnap.protocol",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_CauseProtocol_vals), 0,
|
|
"CauseProtocol", HFILL }},
|
|
{ &hf_xnap_misc,
|
|
{ "misc", "xnap.misc",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_CauseMisc_vals), 0,
|
|
"CauseMisc", HFILL }},
|
|
{ &hf_xnap_choice_extension,
|
|
{ "choice-extension", "xnap.choice_extension",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ProtocolExtensionContainer", HFILL }},
|
|
{ &hf_xnap_limitedNR_List,
|
|
{ "limitedNR-List", "xnap.limitedNR_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI", HFILL }},
|
|
{ &hf_xnap_limitedNR_List_item,
|
|
{ "NR-CGI", "xnap.NR_CGI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_full_List,
|
|
{ "full-List", "xnap.full_List",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_full_List_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_pdcp_SN12,
|
|
{ "pdcp-SN12", "xnap.pdcp_SN12",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_4095", HFILL }},
|
|
{ &hf_xnap_hfn_PDCP_SN12,
|
|
{ "hfn-PDCP-SN12", "xnap.hfn_PDCP_SN12",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1048575", HFILL }},
|
|
{ &hf_xnap_pdcp_SN18,
|
|
{ "pdcp-SN18", "xnap.pdcp_SN18",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_262143", HFILL }},
|
|
{ &hf_xnap_hfn_PDCP_SN18,
|
|
{ "hfn-PDCP-SN18", "xnap.hfn_PDCP_SN18",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_16383", HFILL }},
|
|
{ &hf_xnap_endpointIPAddress,
|
|
{ "endpointIPAddress", "xnap.endpointIPAddress",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"TransportLayerAddress", HFILL }},
|
|
{ &hf_xnap_procedureCode,
|
|
{ "procedureCode", "xnap.procedureCode",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &xnap_ProcedureCode_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_triggeringMessage,
|
|
{ "triggeringMessage", "xnap.triggeringMessage",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_TriggeringMessage_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_procedureCriticality,
|
|
{ "procedureCriticality", "xnap.procedureCriticality",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_Criticality_vals), 0,
|
|
"Criticality", HFILL }},
|
|
{ &hf_xnap_iEsCriticalityDiagnostics,
|
|
{ "iEsCriticalityDiagnostics", "xnap.iEsCriticalityDiagnostics",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"CriticalityDiagnostics_IE_List", HFILL }},
|
|
{ &hf_xnap_CriticalityDiagnostics_IE_List_item,
|
|
{ "CriticalityDiagnostics-IE-List item", "xnap.CriticalityDiagnostics_IE_List_item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_iECriticality,
|
|
{ "iECriticality", "xnap.iECriticality",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_Criticality_vals), 0,
|
|
"Criticality", HFILL }},
|
|
{ &hf_xnap_iE_ID,
|
|
{ "iE-ID", "xnap.iE_ID",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &xnap_ProtocolIE_ID_vals_ext, 0,
|
|
"ProtocolIE_ID", HFILL }},
|
|
{ &hf_xnap_typeOfError,
|
|
{ "typeOfError", "xnap.typeOfError",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_TypeOfError_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_DataforwardingInfoperPDUSession_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_pduSession_ID,
|
|
{ "pduSession-ID", "xnap.pduSession_ID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_dlForwardingUPTNL,
|
|
{ "dlForwardingUPTNL", "xnap.dlForwardingUPTNL",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_UPTransportLayerInformation_vals), 0,
|
|
"UPTransportLayerInformation", HFILL }},
|
|
{ &hf_xnap_pduSessionLevelDLDataForwardingInfo,
|
|
{ "pduSessionLevelDLDataForwardingInfo", "xnap.pduSessionLevelDLDataForwardingInfo",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_UPTransportLayerInformation_vals), 0,
|
|
"UPTransportLayerInformation", HFILL }},
|
|
{ &hf_xnap_dataForwardingResponseDRBItemList,
|
|
{ "dataForwardingResponseDRBItemList", "xnap.dataForwardingResponseDRBItemList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_DataForwardingResponseDRBItemList_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_drb_ID,
|
|
{ "drb-ID", "xnap.drb_ID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ulForwardingUPTNL,
|
|
{ "ulForwardingUPTNL", "xnap.ulForwardingUPTNL",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_UPTransportLayerInformation_vals), 0,
|
|
"UPTransportLayerInformation", HFILL }},
|
|
{ &hf_xnap_DRBsSubjectToStatusTransfer_List_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_drbID,
|
|
{ "drbID", "xnap.drbID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"DRB_ID", HFILL }},
|
|
{ &hf_xnap_statusTransfer,
|
|
{ "statusTransfer", "xnap.statusTransfer",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_DRBBStatusTransferChoice_vals), 0,
|
|
"DRBBStatusTransferChoice", HFILL }},
|
|
{ &hf_xnap_pdcp_sn_12bits,
|
|
{ "pdcp-sn-12bits", "xnap.pdcp_sn_12bits_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"DRBBStatusTransfer12bitsSN", HFILL }},
|
|
{ &hf_xnap_pdcp_sn_18bits,
|
|
{ "pdcp-sn-18bits", "xnap.pdcp_sn_18bits_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"DRBBStatusTransfer18bitsSN", HFILL }},
|
|
{ &hf_xnap_receiveStatusofPDCPSDU,
|
|
{ "receiveStatusofPDCPSDU", "xnap.receiveStatusofPDCPSDU",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_1_2048", HFILL }},
|
|
{ &hf_xnap_ulCOUNTValue,
|
|
{ "ulCOUNTValue", "xnap.ulCOUNTValue_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"COUNT_PDCP_SN12", HFILL }},
|
|
{ &hf_xnap_dlCOUNTValue,
|
|
{ "dlCOUNTValue", "xnap.dlCOUNTValue_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"COUNT_PDCP_SN12", HFILL }},
|
|
{ &hf_xnap_receiveStatusofPDCPSDU_01,
|
|
{ "receiveStatusofPDCPSDU", "xnap.receiveStatusofPDCPSDU",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_1_131072", HFILL }},
|
|
{ &hf_xnap_ulCOUNTValue_01,
|
|
{ "ulCOUNTValue", "xnap.ulCOUNTValue_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"COUNT_PDCP_SN18", HFILL }},
|
|
{ &hf_xnap_dlCOUNTValue_01,
|
|
{ "dlCOUNTValue", "xnap.dlCOUNTValue_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"COUNT_PDCP_SN18", HFILL }},
|
|
{ &hf_xnap_DRBToQoSFlowMapping_List_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_qosFlows_List,
|
|
{ "qosFlows-List", "xnap.qosFlows_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_priorityLevel_01,
|
|
{ "priorityLevel", "xnap.priorityLevel",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_128", HFILL }},
|
|
{ &hf_xnap_packetDelayBudget,
|
|
{ "packetDelayBudget", "xnap.packetDelayBudget",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_packetErrorRate,
|
|
{ "packetErrorRate", "xnap.packetErrorRate",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_delayCritical,
|
|
{ "delayCritical", "xnap.delayCritical",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_delayCritical_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_averagingWindow,
|
|
{ "averagingWindow", "xnap.averagingWindow",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_maximumDataBurstVolume,
|
|
{ "maximumDataBurstVolume", "xnap.maximumDataBurstVolume",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_e_utra_CI,
|
|
{ "e-utra-CI", "xnap.E-UTRA-Cell-Identity",
|
|
FT_UINT32, BASE_HEX, NULL, 0,
|
|
"E_UTRA_Cell_Identity", HFILL }},
|
|
{ &hf_xnap_E_UTRAMultibandInfoList_item,
|
|
{ "E-UTRAFrequencyBandIndicator", "xnap.E_UTRAFrequencyBandIndicator",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_rootSequenceIndex,
|
|
{ "rootSequenceIndex", "xnap.rootSequenceIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_837", HFILL }},
|
|
{ &hf_xnap_zeroCorrelationIndex,
|
|
{ "zeroCorrelationIndex", "xnap.zeroCorrelationIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_xnap_highSpeedFlag,
|
|
{ "highSpeedFlag", "xnap.highSpeedFlag",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_highSpeedFlag_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_prach_FreqOffset,
|
|
{ "prach-FreqOffset", "xnap.prach_FreqOffset",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_94", HFILL }},
|
|
{ &hf_xnap_prach_ConfigIndex,
|
|
{ "prach-ConfigIndex", "xnap.prach_ConfigIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_63", HFILL }},
|
|
{ &hf_xnap_maxFlowBitRateDL,
|
|
{ "maxFlowBitRateDL", "xnap.maxFlowBitRateDL",
|
|
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
|
|
"BitRate", HFILL }},
|
|
{ &hf_xnap_maxFlowBitRateUL,
|
|
{ "maxFlowBitRateUL", "xnap.maxFlowBitRateUL",
|
|
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
|
|
"BitRate", HFILL }},
|
|
{ &hf_xnap_guaranteedFlowBitRateDL,
|
|
{ "guaranteedFlowBitRateDL", "xnap.guaranteedFlowBitRateDL",
|
|
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
|
|
"BitRate", HFILL }},
|
|
{ &hf_xnap_guaranteedFlowBitRateUL,
|
|
{ "guaranteedFlowBitRateUL", "xnap.guaranteedFlowBitRateUL",
|
|
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
|
|
"BitRate", HFILL }},
|
|
{ &hf_xnap_notificationControl,
|
|
{ "notificationControl", "xnap.notificationControl",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_notificationControl_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_maxPacketLossRateDL,
|
|
{ "maxPacketLossRateDL", "xnap.maxPacketLossRateDL",
|
|
FT_UINT32, BASE_CUSTOM, CF_FUNC(xnap_PacketLossRate_fmt), 0,
|
|
"PacketLossRate", HFILL }},
|
|
{ &hf_xnap_maxPacketLossRateUL,
|
|
{ "maxPacketLossRateUL", "xnap.maxPacketLossRateUL",
|
|
FT_UINT32, BASE_CUSTOM, CF_FUNC(xnap_PacketLossRate_fmt), 0,
|
|
"PacketLossRate", HFILL }},
|
|
{ &hf_xnap_gnb_id,
|
|
{ "gnb-id", "xnap.gnb_id",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_GNB_ID_Choice_vals), 0,
|
|
"GNB_ID_Choice", HFILL }},
|
|
{ &hf_xnap_gnb_ID,
|
|
{ "gnb-ID", "xnap.gnb_ID",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_22_32", HFILL }},
|
|
{ &hf_xnap_enb_id,
|
|
{ "enb-id", "xnap.enb_id",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_ENB_ID_Choice_vals), 0,
|
|
"ENB_ID_Choice", HFILL }},
|
|
{ &hf_xnap_enb_ID_macro,
|
|
{ "enb-ID-macro", "xnap.enb_ID_macro",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_20", HFILL }},
|
|
{ &hf_xnap_enb_ID_shortmacro,
|
|
{ "enb-ID-shortmacro", "xnap.enb_ID_shortmacro",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_18", HFILL }},
|
|
{ &hf_xnap_enb_ID_longmacro,
|
|
{ "enb-ID-longmacro", "xnap.enb_ID_longmacro",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_21", HFILL }},
|
|
{ &hf_xnap_gNB,
|
|
{ "gNB", "xnap.gNB_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"GlobalgNB_ID", HFILL }},
|
|
{ &hf_xnap_ng_eNB,
|
|
{ "ng-eNB", "xnap.ng_eNB_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"GlobalngeNB_ID", HFILL }},
|
|
{ &hf_xnap_tnl_address,
|
|
{ "tnl-address", "xnap.tnl_address",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"TransportLayerAddress", HFILL }},
|
|
{ &hf_xnap_gtp_teid,
|
|
{ "gtp-teid", "xnap.gtp_teid",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_plmn_ID,
|
|
{ "plmn-ID", "xnap.plmn_ID",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"PLMN_Identity", HFILL }},
|
|
{ &hf_xnap_amf_region_if,
|
|
{ "amf-region-if", "xnap.amf_region_if",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"OCTET_STRING_SIZE_2", HFILL }},
|
|
{ &hf_xnap_amf_set_id,
|
|
{ "amf-set-id", "xnap.amf_set_id",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_4", HFILL }},
|
|
{ &hf_xnap_amf_pointer,
|
|
{ "amf-pointer", "xnap.amf_pointer",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_4", HFILL }},
|
|
{ &hf_xnap_ListOfCells_item,
|
|
{ "CellsinAoI-Item", "xnap.CellsinAoI_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_pLMN_Identity,
|
|
{ "pLMN-Identity", "xnap.pLMN_Identity",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ng_ran_cell_id,
|
|
{ "ng-ran-cell-id", "xnap.ng_ran_cell_id",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_NG_RAN_Cell_Identity_vals), 0,
|
|
"NG_RAN_Cell_Identity", HFILL }},
|
|
{ &hf_xnap_ListOfTAIsinAoI_item,
|
|
{ "TAIsinAoI-Item", "xnap.TAIsinAoI_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_tAC,
|
|
{ "tAC", "xnap.tAC",
|
|
FT_UINT24, BASE_DEC_HEX, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_eventType,
|
|
{ "eventType", "xnap.eventType",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_EventType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_reportArea,
|
|
{ "reportArea", "xnap.reportArea",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_ReportArea_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_areaOfInterest,
|
|
{ "areaOfInterest", "xnap.areaOfInterest",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_oneframe,
|
|
{ "oneframe", "xnap.oneframe",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_6", HFILL }},
|
|
{ &hf_xnap_fourframes,
|
|
{ "fourframes", "xnap.fourframes",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_24", HFILL }},
|
|
{ &hf_xnap_MBSFNSubframeInfo_E_UTRA_item,
|
|
{ "MBSFNSubframeInfo-E-UTRA-Item", "xnap.MBSFNSubframeInfo_E_UTRA_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_radioframeAllocationPeriod,
|
|
{ "radioframeAllocationPeriod", "xnap.radioframeAllocationPeriod",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_radioframeAllocationPeriod_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_radioframeAllocationOffset,
|
|
{ "radioframeAllocationOffset", "xnap.radioframeAllocationOffset",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_7_", HFILL }},
|
|
{ &hf_xnap_subframeAllocation,
|
|
{ "subframeAllocation", "xnap.subframeAllocation",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_MBSFNSubframeAllocation_E_UTRA_vals), 0,
|
|
"MBSFNSubframeAllocation_E_UTRA", HFILL }},
|
|
{ &hf_xnap_serving_PLMN,
|
|
{ "serving-PLMN", "xnap.serving_PLMN",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"PLMN_Identity", HFILL }},
|
|
{ &hf_xnap_equivalent_PLMNs,
|
|
{ "equivalent-PLMNs", "xnap.equivalent_PLMNs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity", HFILL }},
|
|
{ &hf_xnap_equivalent_PLMNs_item,
|
|
{ "PLMN-Identity", "xnap.PLMN_Identity",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_rat_Restrictions,
|
|
{ "rat-Restrictions", "xnap.rat_Restrictions",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RAT_RestrictionsList", HFILL }},
|
|
{ &hf_xnap_forbiddenAreaInformation,
|
|
{ "forbiddenAreaInformation", "xnap.forbiddenAreaInformation",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ForbiddenAreaList", HFILL }},
|
|
{ &hf_xnap_serviceAreaInformation,
|
|
{ "serviceAreaInformation", "xnap.serviceAreaInformation",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServiceAreaList", HFILL }},
|
|
{ &hf_xnap_RAT_RestrictionsList_item,
|
|
{ "RAT-RestrictionsItem", "xnap.RAT_RestrictionsItem_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_plmn_Identity,
|
|
{ "plmn-Identity", "xnap.plmn_Identity",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_rat_RestrictionInformation,
|
|
{ "rat-RestrictionInformation", "xnap.rat_RestrictionInformation",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ForbiddenAreaList_item,
|
|
{ "ForbiddenAreaItem", "xnap.ForbiddenAreaItem_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_forbidden_TACs,
|
|
{ "forbidden-TACs", "xnap.forbidden_TACs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC", HFILL }},
|
|
{ &hf_xnap_forbidden_TACs_item,
|
|
{ "TAC", "xnap.TAC",
|
|
FT_UINT24, BASE_DEC_HEX, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ServiceAreaList_item,
|
|
{ "ServiceAreaItem", "xnap.ServiceAreaItem_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_allowed_TACs_ServiceArea,
|
|
{ "allowed-TACs-ServiceArea", "xnap.allowed_TACs_ServiceArea",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC", HFILL }},
|
|
{ &hf_xnap_allowed_TACs_ServiceArea_item,
|
|
{ "TAC", "xnap.TAC",
|
|
FT_UINT24, BASE_DEC_HEX, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_not_allowed_TACs_ServiceArea,
|
|
{ "not-allowed-TACs-ServiceArea", "xnap.not_allowed_TACs_ServiceArea",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC", HFILL }},
|
|
{ &hf_xnap_not_allowed_TACs_ServiceArea_item,
|
|
{ "TAC", "xnap.TAC",
|
|
FT_UINT24, BASE_DEC_HEX, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_NeighbourInformation_E_UTRA_item,
|
|
{ "NeighbourInformation-E-UTRA-Item", "xnap.NeighbourInformation_E_UTRA_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_e_utra_PCI,
|
|
{ "e-utra-PCI", "xnap.e_utra_PCI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"E_UTRAPCI", HFILL }},
|
|
{ &hf_xnap_e_utra_cgi,
|
|
{ "e-utra-cgi", "xnap.e_utra_cgi_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_earfcn,
|
|
{ "earfcn", "xnap.earfcn",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"E_UTRAARFCN", HFILL }},
|
|
{ &hf_xnap_tac,
|
|
{ "tac", "xnap.tac",
|
|
FT_UINT24, BASE_DEC_HEX, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_NeighbourInformation_NR_item,
|
|
{ "NeighbourInformation-NR-Item", "xnap.NeighbourInformation_NR_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_nr_mode_info,
|
|
{ "nr-mode-info", "xnap.nr_mode_info",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_NeighbourInformation_NR_ModeInfo_vals), 0,
|
|
"NeighbourInformation_NR_ModeInfo", HFILL }},
|
|
{ &hf_xnap_fdd_info,
|
|
{ "fdd-info", "xnap.fdd_info_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NeighbourInformation_NR_ModeFDDInfo", HFILL }},
|
|
{ &hf_xnap_tdd_info,
|
|
{ "tdd-info", "xnap.tdd_info_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NeighbourInformation_NR_ModeTDDInfo", HFILL }},
|
|
{ &hf_xnap_ul_NR_FreqInfo,
|
|
{ "ul-NR-FreqInfo", "xnap.ul_NR_FreqInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NRFrequencyInfo", HFILL }},
|
|
{ &hf_xnap_dl_NR_FequInfo,
|
|
{ "dl-NR-FequInfo", "xnap.dl_NR_FequInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NRFrequencyInfo", HFILL }},
|
|
{ &hf_xnap_ie_Extensions,
|
|
{ "ie-Extensions", "xnap.ie_Extensions",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ProtocolExtensionContainer", HFILL }},
|
|
{ &hf_xnap_nr_FreqInfo,
|
|
{ "nr-FreqInfo", "xnap.nr_FreqInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NRFrequencyInfo", HFILL }},
|
|
{ &hf_xnap_nr,
|
|
{ "nr", "xnap.NR-Cell-Identity",
|
|
FT_UINT40, BASE_HEX, NULL, 0,
|
|
"NR_Cell_Identity", HFILL }},
|
|
{ &hf_xnap_e_utra,
|
|
{ "e-utra", "xnap.E-UTRA-Cell-Identity",
|
|
FT_UINT32, BASE_HEX, NULL, 0,
|
|
"E_UTRA_Cell_Identity", HFILL }},
|
|
{ &hf_xnap_nr_01,
|
|
{ "nr", "xnap.nr",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NRPCI", HFILL }},
|
|
{ &hf_xnap_e_utra_01,
|
|
{ "e-utra", "xnap.e_utra",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"E_UTRAPCI", HFILL }},
|
|
{ &hf_xnap_fiveQI,
|
|
{ "fiveQI", "xnap.fiveQI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_255", HFILL }},
|
|
{ &hf_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea_item,
|
|
{ "NG-RAN-Cell-Identity", "xnap.NG_RAN_Cell_Identity",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_NG_RAN_Cell_Identity_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_nr_CI,
|
|
{ "nr-CI", "xnap.NR-Cell-Identity",
|
|
FT_UINT40, BASE_HEX, NULL, 0,
|
|
"NR_Cell_Identity", HFILL }},
|
|
{ &hf_xnap_NRFrequencyBand_List_item,
|
|
{ "NRFrequencyBandItem", "xnap.NRFrequencyBandItem_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_nr_frequency_band,
|
|
{ "nr-frequency-band", "xnap.nr_frequency_band",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NRFrequencyBand", HFILL }},
|
|
{ &hf_xnap_supported_SUL_Band_List,
|
|
{ "supported-SUL-Band-List", "xnap.supported_SUL_Band_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SupportedSULBandList", HFILL }},
|
|
{ &hf_xnap_nrARFCN,
|
|
{ "nrARFCN", "xnap.nrARFCN",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_sul_information,
|
|
{ "sul-information", "xnap.sul_information_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_frequencyBand_List,
|
|
{ "frequencyBand-List", "xnap.frequencyBand_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NRFrequencyBand_List", HFILL }},
|
|
{ &hf_xnap_fdd,
|
|
{ "fdd", "xnap.fdd_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NRModeInfoFDD", HFILL }},
|
|
{ &hf_xnap_tdd,
|
|
{ "tdd", "xnap.tdd_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NRModeInfoTDD", HFILL }},
|
|
{ &hf_xnap_ulNRFrequencyInfo,
|
|
{ "ulNRFrequencyInfo", "xnap.ulNRFrequencyInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NRFrequencyInfo", HFILL }},
|
|
{ &hf_xnap_dlNRFrequencyInfo,
|
|
{ "dlNRFrequencyInfo", "xnap.dlNRFrequencyInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NRFrequencyInfo", HFILL }},
|
|
{ &hf_xnap_ulNRTransmissonBandwidth,
|
|
{ "ulNRTransmissonBandwidth", "xnap.ulNRTransmissonBandwidth",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NRTransmissionBandwidth", HFILL }},
|
|
{ &hf_xnap_dlNRTransmissonBandwidth,
|
|
{ "dlNRTransmissonBandwidth", "xnap.dlNRTransmissonBandwidth",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NRTransmissionBandwidth", HFILL }},
|
|
{ &hf_xnap_nrFrequencyInfo,
|
|
{ "nrFrequencyInfo", "xnap.nrFrequencyInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_nrTransmissonBandwidth,
|
|
{ "nrTransmissonBandwidth", "xnap.nrTransmissonBandwidth",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NRTransmissionBandwidth", HFILL }},
|
|
{ &hf_xnap_PDUSessionResourcesAdmitted_List_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_pduSessionId,
|
|
{ "pduSessionId", "xnap.pduSessionId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PDUSession_ID", HFILL }},
|
|
{ &hf_xnap_pduSessionResourceAdmittedInfo,
|
|
{ "pduSessionResourceAdmittedInfo", "xnap.pduSessionResourceAdmittedInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_qosFlowsAdmitted_List,
|
|
{ "qosFlowsAdmitted-List", "xnap.qosFlowsAdmitted_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_qosFlowsNotAdmitted_List,
|
|
{ "qosFlowsNotAdmitted-List", "xnap.qosFlowsNotAdmitted_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_dataForwardingInfoFromTarget,
|
|
{ "dataForwardingInfoFromTarget", "xnap.dataForwardingInfoFromTarget_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"DataForwardingInfoFromTargetNGRANnode", HFILL }},
|
|
{ &hf_xnap_PDUSessionResourcesNotAdmitted_List_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_cause,
|
|
{ "cause", "xnap.cause",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_Cause_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_PDUSessionResourcesToBeSetup_List_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_s_NSSAI,
|
|
{ "s-NSSAI", "xnap.s_NSSAI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_pduSessionAMBR,
|
|
{ "pduSessionAMBR", "xnap.pduSessionAMBR",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"OCTET_STRING", HFILL }},
|
|
{ &hf_xnap_uL_NG_U_TNLatUPF,
|
|
{ "uL-NG-U-TNLatUPF", "xnap.uL_NG_U_TNLatUPF",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_UPTransportLayerInformation_vals), 0,
|
|
"UPTransportLayerInformation", HFILL }},
|
|
{ &hf_xnap_securityIndication,
|
|
{ "securityIndication", "xnap.securityIndication_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_pduSessionType,
|
|
{ "pduSessionType", "xnap.pduSessionType",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_PDUSessionType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_qosFlowsToBeSetup_List,
|
|
{ "qosFlowsToBeSetup-List", "xnap.qosFlowsToBeSetup_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_sourceDRBtoQoSFlowMapping,
|
|
{ "sourceDRBtoQoSFlowMapping", "xnap.sourceDRBtoQoSFlowMapping",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"DRBToQoSFlowMapping_List", HFILL }},
|
|
{ &hf_xnap_non_dynamic,
|
|
{ "non-dynamic", "xnap.non_dynamic_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NonDynamic5QIDescriptor", HFILL }},
|
|
{ &hf_xnap_dynamic,
|
|
{ "dynamic", "xnap.dynamic_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"Dynamic5QIDescriptor", HFILL }},
|
|
{ &hf_xnap_qos_characteristics,
|
|
{ "qos-characteristics", "xnap.qos_characteristics",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_QoSCharacteristics_vals), 0,
|
|
"QoSCharacteristics", HFILL }},
|
|
{ &hf_xnap_allocationAndRetentionPrio,
|
|
{ "allocationAndRetentionPrio", "xnap.allocationAndRetentionPrio_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"AllocationandRetentionPriority", HFILL }},
|
|
{ &hf_xnap_gBRQoSFlowInfo,
|
|
{ "gBRQoSFlowInfo", "xnap.gBRQoSFlowInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_relectiveQoS,
|
|
{ "relectiveQoS", "xnap.relectiveQoS",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_ReflectiveQoSAttribute_vals), 0,
|
|
"ReflectiveQoSAttribute", HFILL }},
|
|
{ &hf_xnap_additionalQoSflowInfo,
|
|
{ "additionalQoSflowInfo", "xnap.additionalQoSflowInfo",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_additionalQoSflowInfo_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_pPI,
|
|
{ "pPI", "xnap.pPI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_8_", HFILL }},
|
|
{ &hf_xnap_QoSFlows_List_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_qfi,
|
|
{ "qfi", "xnap.qfi",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"QoSFlowIndicator", HFILL }},
|
|
{ &hf_xnap_QoSFlowsAdmitted_List_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_dataForwardingAccepted,
|
|
{ "dataForwardingAccepted", "xnap.dataForwardingAccepted",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_DataForwardingAccepted_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_QoSFlowsNotAdmitted_List_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_QoSFlowsToBeSetup_List_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_dlDataForwarding,
|
|
{ "dlDataForwarding", "xnap.dlDataForwarding",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_DLForwarding_vals), 0,
|
|
"DLForwarding", HFILL }},
|
|
{ &hf_xnap_qosFlowLevelQoSParameters,
|
|
{ "qosFlowLevelQoSParameters", "xnap.qosFlowLevelQoSParameters_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_e_RAB_ID,
|
|
{ "e-RAB-ID", "xnap.e_RAB_ID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_rANAC,
|
|
{ "rANAC", "xnap.rANAC",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_RANAreaID_List_item,
|
|
{ "RANAreaID", "xnap.RANAreaID_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_rANPagingAreaChoice,
|
|
{ "rANPagingAreaChoice", "xnap.rANPagingAreaChoice",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_RANPagingAreaChoice_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_cell_List,
|
|
{ "cell-List", "xnap.cell_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NG_RAN_Cell_Identity_ListinRANPagingArea", HFILL }},
|
|
{ &hf_xnap_rANAreaID_List,
|
|
{ "rANAreaID-List", "xnap.rANAreaID_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_pagingAttemptCount,
|
|
{ "pagingAttemptCount", "xnap.pagingAttemptCount",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_16_", HFILL }},
|
|
{ &hf_xnap_intendedNumberOfPagingAttempts,
|
|
{ "intendedNumberOfPagingAttempts", "xnap.intendedNumberOfPagingAttempts",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_16_", HFILL }},
|
|
{ &hf_xnap_nextPagingAreaScope,
|
|
{ "nextPagingAreaScope", "xnap.nextPagingAreaScope",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_nextPagingAreaScope_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_fullReset,
|
|
{ "fullReset", "xnap.fullReset_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ResetRequestTypeInfo_Full", HFILL }},
|
|
{ &hf_xnap_partialReset,
|
|
{ "partialReset", "xnap.partialReset_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ResetRequestTypeInfo_Partial", HFILL }},
|
|
{ &hf_xnap_ue_contexts_ToBeReleasedList,
|
|
{ "ue-contexts-ToBeReleasedList", "xnap.ue_contexts_ToBeReleasedList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ResetRequestPartialReleaseList", HFILL }},
|
|
{ &hf_xnap_ResetRequestPartialReleaseList_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ng_ran_node1UEXnAPID,
|
|
{ "ng-ran-node1UEXnAPID", "xnap.ng_ran_node1UEXnAPID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NG_RANnodeUEXnAPID", HFILL }},
|
|
{ &hf_xnap_ng_ran_node2UEXnAPID,
|
|
{ "ng-ran-node2UEXnAPID", "xnap.ng_ran_node2UEXnAPID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NG_RANnodeUEXnAPID", HFILL }},
|
|
{ &hf_xnap_fullReset_01,
|
|
{ "fullReset", "xnap.fullReset_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ResetResponseTypeInfo_Full", HFILL }},
|
|
{ &hf_xnap_partialReset_01,
|
|
{ "partialReset", "xnap.partialReset_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ResetResponseTypeInfo_Partial", HFILL }},
|
|
{ &hf_xnap_ue_contexts_AdmittedToBeReleasedList,
|
|
{ "ue-contexts-AdmittedToBeReleasedList", "xnap.ue_contexts_AdmittedToBeReleasedList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ResetResponsePartialReleaseList", HFILL }},
|
|
{ &hf_xnap_ResetResponsePartialReleaseList_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_integrityProtectionIndication,
|
|
{ "integrityProtectionIndication", "xnap.integrityProtectionIndication",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_integrityProtectionIndication_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_confidentialityProtectionIndication,
|
|
{ "confidentialityProtectionIndication", "xnap.confidentialityProtectionIndication",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_confidentialityProtectionIndication_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_e_utra_pci,
|
|
{ "e-utra-pci", "xnap.e_utra_pci",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"E_UTRAPCI", HFILL }},
|
|
{ &hf_xnap_broadcastPLMNs,
|
|
{ "broadcastPLMNs", "xnap.broadcastPLMNs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN", HFILL }},
|
|
{ &hf_xnap_broadcastPLMNs_item,
|
|
{ "ServedCellInformation-E-UTRA-perBPLMN", "xnap.ServedCellInformation_E_UTRA_perBPLMN_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_numberofAntennaPorts,
|
|
{ "numberofAntennaPorts", "xnap.numberofAntennaPorts",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_NumberOfAntennaPorts_E_UTRA_vals), 0,
|
|
"NumberOfAntennaPorts_E_UTRA", HFILL }},
|
|
{ &hf_xnap_prach_configuration,
|
|
{ "prach-configuration", "xnap.prach_configuration_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"E_UTRAPRACHConfiguration", HFILL }},
|
|
{ &hf_xnap_mBSFNsubframeInfo,
|
|
{ "mBSFNsubframeInfo", "xnap.mBSFNsubframeInfo",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"MBSFNSubframeInfo_E_UTRA", HFILL }},
|
|
{ &hf_xnap_multibandInfo,
|
|
{ "multibandInfo", "xnap.multibandInfo",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"E_UTRAMultibandInfoList", HFILL }},
|
|
{ &hf_xnap_freqBandIndicatorPriority,
|
|
{ "freqBandIndicatorPriority", "xnap.freqBandIndicatorPriority",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_freqBandIndicatorPriority_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_bandwidthReducedSI,
|
|
{ "bandwidthReducedSI", "xnap.bandwidthReducedSI",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_bandwidthReducedSI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_e_utra_mode_info,
|
|
{ "e-utra-mode-info", "xnap.e_utra_mode_info",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo_vals), 0,
|
|
"ServedCellInformation_E_UTRA_perBPLMN_ModeInfo", HFILL }},
|
|
{ &hf_xnap_fdd_01,
|
|
{ "fdd", "xnap.fdd_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ServedCellInformation_E_UTRA_perBPLMN_FDDInfo", HFILL }},
|
|
{ &hf_xnap_tdd_01,
|
|
{ "tdd", "xnap.tdd_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ServedCellInformation_E_UTRA_perBPLMN_TDDInfo", HFILL }},
|
|
{ &hf_xnap_ul_earfcn,
|
|
{ "ul-earfcn", "xnap.ul_earfcn",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"E_UTRAARFCN", HFILL }},
|
|
{ &hf_xnap_dl_earfcn,
|
|
{ "dl-earfcn", "xnap.dl_earfcn",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"E_UTRAARFCN", HFILL }},
|
|
{ &hf_xnap_ul_e_utraTxBW,
|
|
{ "ul-e-utraTxBW", "xnap.ul_e_utraTxBW",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_E_UTRATransmissionBandwidth_vals), 0,
|
|
"E_UTRATransmissionBandwidth", HFILL }},
|
|
{ &hf_xnap_dl_e_utraTxBW,
|
|
{ "dl-e-utraTxBW", "xnap.dl_e_utraTxBW",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_E_UTRATransmissionBandwidth_vals), 0,
|
|
"E_UTRATransmissionBandwidth", HFILL }},
|
|
{ &hf_xnap_e_utraTxBW,
|
|
{ "e-utraTxBW", "xnap.e_utraTxBW",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_E_UTRATransmissionBandwidth_vals), 0,
|
|
"E_UTRATransmissionBandwidth", HFILL }},
|
|
{ &hf_xnap_subframeAssignmnet,
|
|
{ "subframeAssignmnet", "xnap.subframeAssignmnet",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_T_subframeAssignmnet_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_specialSubframeInfo,
|
|
{ "specialSubframeInfo", "xnap.specialSubframeInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SpecialSubframeInfo_E_UTRA", HFILL }},
|
|
{ &hf_xnap_ServedCells_E_UTRA_item,
|
|
{ "ServedCells-E-UTRA-Item", "xnap.ServedCells_E_UTRA_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_served_cell_info_E_UTRA,
|
|
{ "served-cell-info-E-UTRA", "xnap.served_cell_info_E_UTRA_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ServedCellInformation_E_UTRA", HFILL }},
|
|
{ &hf_xnap_neighbour_info_NR,
|
|
{ "neighbour-info-NR", "xnap.neighbour_info_NR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NeighbourInformation_NR", HFILL }},
|
|
{ &hf_xnap_neighbour_info_E_UTRA,
|
|
{ "neighbour-info-E-UTRA", "xnap.neighbour_info_E_UTRA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NeighbourInformation_E_UTRA", HFILL }},
|
|
{ &hf_xnap_served_Cells_ToAdd_E_UTRA,
|
|
{ "served-Cells-ToAdd-E-UTRA", "xnap.served_Cells_ToAdd_E_UTRA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServedCells_E_UTRA", HFILL }},
|
|
{ &hf_xnap_served_Cells_ToModify_E_UTRA,
|
|
{ "served-Cells-ToModify-E-UTRA", "xnap.served_Cells_ToModify_E_UTRA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServedCells_ToModify_E_UTRA", HFILL }},
|
|
{ &hf_xnap_served_Cells_ToDelete_E_UTRA,
|
|
{ "served-Cells-ToDelete-E-UTRA", "xnap.served_Cells_ToDelete_E_UTRA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI", HFILL }},
|
|
{ &hf_xnap_served_Cells_ToDelete_E_UTRA_item,
|
|
{ "E-UTRA-CGI", "xnap.E_UTRA_CGI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ServedCells_ToModify_E_UTRA_item,
|
|
{ "ServedCells-ToModify-E-UTRA-Item", "xnap.ServedCells_ToModify_E_UTRA_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_old_ECGI,
|
|
{ "old-ECGI", "xnap.old_ECGI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"E_UTRA_CGI", HFILL }},
|
|
{ &hf_xnap_nrPCI,
|
|
{ "nrPCI", "xnap.nrPCI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_cellID,
|
|
{ "cellID", "xnap.cellID_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NR_CGI", HFILL }},
|
|
{ &hf_xnap_ranac,
|
|
{ "ranac", "xnap.ranac",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_broadcastPLMN,
|
|
{ "broadcastPLMN", "xnap.broadcastPLMN",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"BroadcastPLMNs", HFILL }},
|
|
{ &hf_xnap_nrModeInfo,
|
|
{ "nrModeInfo", "xnap.nrModeInfo",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_NRModeInfo_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_measurementTimingConfiguration,
|
|
{ "measurementTimingConfiguration", "xnap.measurementTimingConfiguration",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_ServedCells_NR_item,
|
|
{ "ServedCells-NR-Item", "xnap.ServedCells_NR_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_served_cell_info_NR,
|
|
{ "served-cell-info-NR", "xnap.served_cell_info_NR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ServedCellInformation_NR", HFILL }},
|
|
{ &hf_xnap_ServedCells_ToModify_NR_item,
|
|
{ "ServedCells-ToModify-NR-Item", "xnap.ServedCells_ToModify_NR_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_old_NR_CGI,
|
|
{ "old-NR-CGI", "xnap.old_NR_CGI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NR_CGI", HFILL }},
|
|
{ &hf_xnap_served_Cells_ToAdd_NR,
|
|
{ "served-Cells-ToAdd-NR", "xnap.served_Cells_ToAdd_NR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServedCells_NR", HFILL }},
|
|
{ &hf_xnap_served_Cells_ToModify_NR,
|
|
{ "served-Cells-ToModify-NR", "xnap.served_Cells_ToModify_NR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServedCells_ToModify_NR", HFILL }},
|
|
{ &hf_xnap_served_Cells_ToDelete_NR,
|
|
{ "served-Cells-ToDelete-NR", "xnap.served_Cells_ToDelete_NR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI", HFILL }},
|
|
{ &hf_xnap_served_Cells_ToDelete_NR_item,
|
|
{ "NR-CGI", "xnap.NR_CGI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_SliceSupport_List_item,
|
|
{ "S-NSSAI", "xnap.S_NSSAI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_sst,
|
|
{ "sst", "xnap.sst",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"OCTET_STRING_SIZE_1", HFILL }},
|
|
{ &hf_xnap_sd,
|
|
{ "sd", "xnap.sd",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"OCTET_STRING_SIZE_3", HFILL }},
|
|
{ &hf_xnap_specialSubframePattern,
|
|
{ "specialSubframePattern", "xnap.specialSubframePattern",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_SpecialSubframePatterns_E_UTRA_vals), 0,
|
|
"SpecialSubframePatterns_E_UTRA", HFILL }},
|
|
{ &hf_xnap_cyclicPrefixDL,
|
|
{ "cyclicPrefixDL", "xnap.cyclicPrefixDL",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_CyclicPrefix_E_UTRA_DL_vals), 0,
|
|
"CyclicPrefix_E_UTRA_DL", HFILL }},
|
|
{ &hf_xnap_cyclicPrefixUL,
|
|
{ "cyclicPrefixUL", "xnap.cyclicPrefixUL",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_CyclicPrefix_E_UTRA_UL_vals), 0,
|
|
"CyclicPrefix_E_UTRA_UL", HFILL }},
|
|
{ &hf_xnap_sulFrequencyInfo,
|
|
{ "sulFrequencyInfo", "xnap.sulFrequencyInfo",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NRARFCN", HFILL }},
|
|
{ &hf_xnap_sulTransmissionBandwidth,
|
|
{ "sulTransmissionBandwidth", "xnap.sulTransmissionBandwidth",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NRTransmissionBandwidth", HFILL }},
|
|
{ &hf_xnap_SupportedSULBandList_item,
|
|
{ "SupportedSULBandItem", "xnap.SupportedSULBandItem_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_sulBandItem,
|
|
{ "sulBandItem", "xnap.sulBandItem",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SUL_FrequencyBand", HFILL }},
|
|
{ &hf_xnap_TAISupport_List_item,
|
|
{ "ProtocolIE-Single-Container", "xnap.ProtocolIE_Single_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_broadcastPLMNs_01,
|
|
{ "broadcastPLMNs", "xnap.broadcastPLMNs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item", HFILL }},
|
|
{ &hf_xnap_broadcastPLMNs_item_01,
|
|
{ "BroadcastPLMNinTAISupport-Item", "xnap.BroadcastPLMNinTAISupport_Item_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_nr_02,
|
|
{ "nr", "xnap.nr_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"NR_CGI", HFILL }},
|
|
{ &hf_xnap_e_utra_02,
|
|
{ "e-utra", "xnap.e_utra_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"E_UTRA_CGI", HFILL }},
|
|
{ &hf_xnap_ng_ran_TraceID,
|
|
{ "ng-ran-TraceID", "xnap.ng_ran_TraceID",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_interfaces_to_trace,
|
|
{ "interfaces-to-trace", "xnap.interfaces_to_trace",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_trace_depth,
|
|
{ "trace-depth", "xnap.trace_depth",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_Trace_Depth_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_trace_coll_address,
|
|
{ "trace-coll-address", "xnap.trace_coll_address",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"TransportLayerAddress", HFILL }},
|
|
{ &hf_xnap_ie_Extension,
|
|
{ "ie-Extension", "xnap.ie_Extension",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ProtocolExtensionContainer", HFILL }},
|
|
{ &hf_xnap_dl_UE_AMBR,
|
|
{ "dl-UE-AMBR", "xnap.dl_UE_AMBR",
|
|
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
|
|
"BitRate", HFILL }},
|
|
{ &hf_xnap_ul_UE_AMBR,
|
|
{ "ul-UE-AMBR", "xnap.ul_UE_AMBR",
|
|
FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
|
|
"BitRate", HFILL }},
|
|
{ &hf_xnap_rRCResume,
|
|
{ "rRCResume", "xnap.rRCResume_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UEContextIDforRRCResume", HFILL }},
|
|
{ &hf_xnap_rRRCReestablishment,
|
|
{ "rRRCReestablishment", "xnap.rRRCReestablishment_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UEContextIDforRRCReestablishment", HFILL }},
|
|
{ &hf_xnap_i_rnti,
|
|
{ "i-rnti", "xnap.i_rnti",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_c_rnti,
|
|
{ "c-rnti", "xnap.c_rnti",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_failureCellPCI,
|
|
{ "failureCellPCI", "xnap.failureCellPCI",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_NG_RAN_CellPCI_vals), 0,
|
|
"NG_RAN_CellPCI", HFILL }},
|
|
{ &hf_xnap_ng_c_UE_signalling_ref,
|
|
{ "ng-c-UE-signalling-ref", "xnap.ng_c_UE_signalling_ref",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"AMF_UE_NGAP_ID", HFILL }},
|
|
{ &hf_xnap_signalling_TNL_at_source,
|
|
{ "signalling-TNL-at-source", "xnap.signalling_TNL_at_source",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_CPTransportLayerInformation_vals), 0,
|
|
"CPTransportLayerInformation", HFILL }},
|
|
{ &hf_xnap_ueSecurityCapabilities,
|
|
{ "ueSecurityCapabilities", "xnap.ueSecurityCapabilities_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_securityInformation,
|
|
{ "securityInformation", "xnap.securityInformation_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"AS_SecurityInformation", HFILL }},
|
|
{ &hf_xnap_ue_AMBR,
|
|
{ "ue-AMBR", "xnap.ue_AMBR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UEAggregateMaximumBitRate", HFILL }},
|
|
{ &hf_xnap_pduSessionResourcesToBeSet_List,
|
|
{ "pduSessionResourcesToBeSet-List", "xnap.pduSessionResourcesToBeSet_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PDUSessionResourcesToBeSetup_List", HFILL }},
|
|
{ &hf_xnap_rrc_Context,
|
|
{ "rrc-Context", "xnap.rrc_Context",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_mobilityRestrictionList,
|
|
{ "mobilityRestrictionList", "xnap.mobilityRestrictionList_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_indexToRatFrequencySelectionPriority,
|
|
{ "indexToRatFrequencySelectionPriority", "xnap.indexToRatFrequencySelectionPriority",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RFSP_Index", HFILL }},
|
|
{ &hf_xnap_i_RNTI,
|
|
{ "i-RNTI", "xnap.i_RNTI",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_nr_EncyptionAlgorithms,
|
|
{ "nr-EncyptionAlgorithms", "xnap.nr_EncyptionAlgorithms",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_nr_IntegrityProtectionAlgorithms,
|
|
{ "nr-IntegrityProtectionAlgorithms", "xnap.nr_IntegrityProtectionAlgorithms",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_e_utra_EncyptionAlgorithms,
|
|
{ "e-utra-EncyptionAlgorithms", "xnap.e_utra_EncyptionAlgorithms",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_e_utra_IntegrityProtectionAlgorithms,
|
|
{ "e-utra-IntegrityProtectionAlgorithms", "xnap.e_utra_IntegrityProtectionAlgorithms",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_gtpTunnel,
|
|
{ "gtpTunnel", "xnap.gtpTunnel_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"GTPtunnelTransportLayerInformation", HFILL }},
|
|
{ &hf_xnap_protocolIEs,
|
|
{ "protocolIEs", "xnap.protocolIEs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ProtocolIE_Container", HFILL }},
|
|
{ &hf_xnap_ng_c_UE_reference,
|
|
{ "ng-c-UE-reference", "xnap.ng_c_UE_reference",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"AMF_UE_NGAP_ID", HFILL }},
|
|
{ &hf_xnap_cp_TNL_info_source,
|
|
{ "cp-TNL-info-source", "xnap.cp_TNL_info_source",
|
|
FT_UINT32, BASE_DEC, VALS(xnap_CPTransportLayerInformation_vals), 0,
|
|
"CPTransportLayerInformation", HFILL }},
|
|
{ &hf_xnap_pduSessionResourcesToBeSetup_List,
|
|
{ "pduSessionResourcesToBeSetup-List", "xnap.pduSessionResourcesToBeSetup_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_rrc_Context_01,
|
|
{ "rrc-Context", "xnap.rrc_Context",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"T_rrc_Context_01", HFILL }},
|
|
{ &hf_xnap_locationReportingInformation,
|
|
{ "locationReportingInformation", "xnap.locationReportingInformation_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_hlr,
|
|
{ "hlr", "xnap.hlr_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MobilityRestrictionList", HFILL }},
|
|
{ &hf_xnap_gNB_01,
|
|
{ "gNB", "xnap.gNB",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ProtocolIE_Container", HFILL }},
|
|
{ &hf_xnap_ng_eNB_01,
|
|
{ "ng-eNB", "xnap.ng_eNB",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ProtocolIE_Container", HFILL }},
|
|
{ &hf_xnap_ng_eNB_02,
|
|
{ "ng-eNB", "xnap.ng_eNB_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RespondingNodeTypeConfigUpdateAck_ng_eNB", HFILL }},
|
|
{ &hf_xnap_gNB_02,
|
|
{ "gNB", "xnap.gNB_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RespondingNodeTypeConfigUpdateAck_gNB", HFILL }},
|
|
{ &hf_xnap_served_NR_Cells,
|
|
{ "served-NR-Cells", "xnap.served_NR_Cells",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServedCells_NR", HFILL }},
|
|
{ &hf_xnap_nr_cells,
|
|
{ "nr-cells", "xnap.nr_cells",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI", HFILL }},
|
|
{ &hf_xnap_nr_cells_item,
|
|
{ "NR-CGI", "xnap.NR_CGI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_e_utra_cells,
|
|
{ "e-utra-cells", "xnap.e_utra_cells",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI", HFILL }},
|
|
{ &hf_xnap_e_utra_cells_item,
|
|
{ "E-UTRA-CGI", "xnap.E_UTRA_CGI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_privateIEs,
|
|
{ "privateIEs", "xnap.privateIEs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PrivateIE_Container", HFILL }},
|
|
{ &hf_xnap_initiatingMessage,
|
|
{ "initiatingMessage", "xnap.initiatingMessage_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_successfulOutcome,
|
|
{ "successfulOutcome", "xnap.successfulOutcome_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_unsuccessfulOutcome,
|
|
{ "unsuccessfulOutcome", "xnap.unsuccessfulOutcome_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_initiatingMessage_value,
|
|
{ "value", "xnap.value_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"InitiatingMessage_value", HFILL }},
|
|
{ &hf_xnap_successfulOutcome_value,
|
|
{ "value", "xnap.value_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SuccessfulOutcome_value", HFILL }},
|
|
{ &hf_xnap_value,
|
|
{ "value", "xnap.value_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UnsuccessfulOutcome_value", HFILL }},
|
|
{ &hf_xnap_RAT_RestrictionInformation_e_UTRA,
|
|
{ "e-UTRA", "xnap.e-UTRA",
|
|
FT_BOOLEAN, 8, NULL, 0x80,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_RAT_RestrictionInformation_nR,
|
|
{ "nR", "xnap.nR",
|
|
FT_BOOLEAN, 8, NULL, 0x40,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_interfaces_to_trace_ng_c,
|
|
{ "ng-c", "xnap.ng-c",
|
|
FT_BOOLEAN, 8, NULL, 0x80,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_interfaces_to_trace_x_nc,
|
|
{ "x-nc", "xnap.x-nc",
|
|
FT_BOOLEAN, 8, NULL, 0x40,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_interfaces_to_trace_uu,
|
|
{ "uu", "xnap.uu",
|
|
FT_BOOLEAN, 8, NULL, 0x20,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_interfaces_to_trace_f1_c,
|
|
{ "f1-c", "xnap.f1-c",
|
|
FT_BOOLEAN, 8, NULL, 0x10,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_interfaces_to_trace_e1,
|
|
{ "e1", "xnap.e1",
|
|
FT_BOOLEAN, 8, NULL, 0x08,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_nr_EncyptionAlgorithms_nea1_128,
|
|
{ "nea1-128", "xnap.nea1-128",
|
|
FT_BOOLEAN, 8, NULL, 0x40,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_nr_EncyptionAlgorithms_nea2_128,
|
|
{ "nea2-128", "xnap.nea2-128",
|
|
FT_BOOLEAN, 8, NULL, 0x20,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_nr_EncyptionAlgorithms_nea3_128,
|
|
{ "nea3-128", "xnap.nea3-128",
|
|
FT_BOOLEAN, 8, NULL, 0x10,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia1_128,
|
|
{ "nia1-128", "xnap.nia1-128",
|
|
FT_BOOLEAN, 8, NULL, 0x40,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia2_128,
|
|
{ "nia2-128", "xnap.nia2-128",
|
|
FT_BOOLEAN, 8, NULL, 0x20,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_nr_IntegrityProtectionAlgorithms_nia3_128,
|
|
{ "nia3-128", "xnap.nia3-128",
|
|
FT_BOOLEAN, 8, NULL, 0x10,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_e_utra_EncyptionAlgorithms_eea1_128,
|
|
{ "eea1-128", "xnap.eea1-128",
|
|
FT_BOOLEAN, 8, NULL, 0x40,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_e_utra_EncyptionAlgorithms_eea2_128,
|
|
{ "eea2-128", "xnap.eea2-128",
|
|
FT_BOOLEAN, 8, NULL, 0x20,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_e_utra_EncyptionAlgorithms_eea3_128,
|
|
{ "eea3-128", "xnap.eea3-128",
|
|
FT_BOOLEAN, 8, NULL, 0x10,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia1_128,
|
|
{ "eia1-128", "xnap.eia1-128",
|
|
FT_BOOLEAN, 8, NULL, 0x40,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia2_128,
|
|
{ "eia2-128", "xnap.eia2-128",
|
|
FT_BOOLEAN, 8, NULL, 0x20,
|
|
NULL, HFILL }},
|
|
{ &hf_xnap_T_e_utra_IntegrityProtectionAlgorithms_eia3_128,
|
|
{ "eia3-128", "xnap.eia3-128",
|
|
FT_BOOLEAN, 8, NULL, 0x10,
|
|
NULL, HFILL }},
|
|
|
|
/*--- End of included file: packet-xnap-hfarr.c ---*/
|
|
#line 229 "./asn1/xnap/packet-xnap-template.c"
|
|
};
|
|
|
|
/* List of subtrees */
|
|
static gint *ett[] = {
|
|
&ett_xnap,
|
|
&ett_xnap_RRC_Context,
|
|
&ett_nxap_container,
|
|
&ett_xnap_PLMN_Identity,
|
|
&ett_xnap_measurementTimingConfiguration,
|
|
&ett_xnap_TransportLayerAddress,
|
|
&ett_xnap_nr_EncyptionAlgorithms,
|
|
&ett_xnap_nr_IntegrityProtectionAlgorithms,
|
|
&ett_xnap_e_utra_EncyptionAlgorithms,
|
|
&ett_xnap_e_utra_IntegrityProtectionAlgorithms,
|
|
&ett_xnap_ng_ran_TraceID,
|
|
&ett_xnap_interfaces_to_trace,
|
|
|
|
/*--- Included file: packet-xnap-ettarr.c ---*/
|
|
#line 1 "./asn1/xnap/packet-xnap-ettarr.c"
|
|
&ett_xnap_PrivateIE_ID,
|
|
&ett_xnap_ProtocolIE_Container,
|
|
&ett_xnap_ProtocolIE_Field,
|
|
&ett_xnap_ProtocolExtensionContainer,
|
|
&ett_xnap_ProtocolExtensionField,
|
|
&ett_xnap_PrivateIE_Container,
|
|
&ett_xnap_PrivateIE_Field,
|
|
&ett_xnap_AllocationandRetentionPriority,
|
|
&ett_xnap_AreaOfInterest,
|
|
&ett_xnap_AreaOfInterest_Item,
|
|
&ett_xnap_AS_SecurityInformation,
|
|
&ett_xnap_AssistanceDataForRANPaging,
|
|
&ett_xnap_BroadcastPLMNs,
|
|
&ett_xnap_BroadcastPLMNinTAISupport_Item,
|
|
&ett_xnap_Cause,
|
|
&ett_xnap_CellAssistanceInfo_NR,
|
|
&ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_NR_CGI,
|
|
&ett_xnap_COUNT_PDCP_SN12,
|
|
&ett_xnap_COUNT_PDCP_SN18,
|
|
&ett_xnap_CPTransportLayerInformation,
|
|
&ett_xnap_CriticalityDiagnostics,
|
|
&ett_xnap_CriticalityDiagnostics_IE_List,
|
|
&ett_xnap_CriticalityDiagnostics_IE_List_item,
|
|
&ett_xnap_DataforwardingInfoperPDUSession,
|
|
&ett_xnap_DataforwardingInfoperPDUSession_Item,
|
|
&ett_xnap_DataForwardingInfoFromTargetNGRANnode,
|
|
&ett_xnap_DataForwardingResponseDRBItemList,
|
|
&ett_xnap_DataForwardingResponseDRBItem,
|
|
&ett_xnap_DRBsSubjectToStatusTransfer_List,
|
|
&ett_xnap_DRBsSubjectToStatusTransfer_Item,
|
|
&ett_xnap_DRBBStatusTransferChoice,
|
|
&ett_xnap_DRBBStatusTransfer12bitsSN,
|
|
&ett_xnap_DRBBStatusTransfer18bitsSN,
|
|
&ett_xnap_DRBToQoSFlowMapping_List,
|
|
&ett_xnap_DRBToQoSFlowMapping_Item,
|
|
&ett_xnap_Dynamic5QIDescriptor,
|
|
&ett_xnap_E_UTRA_CGI,
|
|
&ett_xnap_E_UTRAMultibandInfoList,
|
|
&ett_xnap_E_UTRAPRACHConfiguration,
|
|
&ett_xnap_GBRQoSFlowInfo,
|
|
&ett_xnap_GlobalgNB_ID,
|
|
&ett_xnap_GNB_ID_Choice,
|
|
&ett_xnap_GlobalngeNB_ID,
|
|
&ett_xnap_ENB_ID_Choice,
|
|
&ett_xnap_GlobalNG_RANNode_ID,
|
|
&ett_xnap_GTPtunnelTransportLayerInformation,
|
|
&ett_xnap_GUAMI,
|
|
&ett_xnap_ListOfCells,
|
|
&ett_xnap_CellsinAoI_Item,
|
|
&ett_xnap_ListOfTAIsinAoI,
|
|
&ett_xnap_TAIsinAoI_Item,
|
|
&ett_xnap_LocationReportingInformation,
|
|
&ett_xnap_MBSFNSubframeAllocation_E_UTRA,
|
|
&ett_xnap_MBSFNSubframeInfo_E_UTRA,
|
|
&ett_xnap_MBSFNSubframeInfo_E_UTRA_Item,
|
|
&ett_xnap_MobilityRestrictionList,
|
|
&ett_xnap_SEQUENCE_SIZE_1_maxnoofEPLMNs_OF_PLMN_Identity,
|
|
&ett_xnap_RAT_RestrictionsList,
|
|
&ett_xnap_RAT_RestrictionsItem,
|
|
&ett_xnap_RAT_RestrictionInformation,
|
|
&ett_xnap_ForbiddenAreaList,
|
|
&ett_xnap_ForbiddenAreaItem,
|
|
&ett_xnap_SEQUENCE_SIZE_1_maxnoofForbiddenTACs_OF_TAC,
|
|
&ett_xnap_ServiceAreaList,
|
|
&ett_xnap_ServiceAreaItem,
|
|
&ett_xnap_SEQUENCE_SIZE_1_maxnoofAllowedAreas_OF_TAC,
|
|
&ett_xnap_NeighbourInformation_E_UTRA,
|
|
&ett_xnap_NeighbourInformation_E_UTRA_Item,
|
|
&ett_xnap_NeighbourInformation_NR,
|
|
&ett_xnap_NeighbourInformation_NR_Item,
|
|
&ett_xnap_NeighbourInformation_NR_ModeInfo,
|
|
&ett_xnap_NeighbourInformation_NR_ModeFDDInfo,
|
|
&ett_xnap_NeighbourInformation_NR_ModeTDDInfo,
|
|
&ett_xnap_NG_RAN_Cell_Identity,
|
|
&ett_xnap_NG_RAN_CellPCI,
|
|
&ett_xnap_NonDynamic5QIDescriptor,
|
|
&ett_xnap_NG_RAN_Cell_Identity_ListinRANPagingArea,
|
|
&ett_xnap_NR_CGI,
|
|
&ett_xnap_NRFrequencyBand_List,
|
|
&ett_xnap_NRFrequencyBandItem,
|
|
&ett_xnap_NRFrequencyInfo,
|
|
&ett_xnap_NRModeInfo,
|
|
&ett_xnap_NRModeInfoFDD,
|
|
&ett_xnap_NRModeInfoTDD,
|
|
&ett_xnap_PDUSessionResourcesAdmitted_List,
|
|
&ett_xnap_PDUSessionResourcesAdmitted_Item,
|
|
&ett_xnap_PDUSessionResourceAdmittedInfo,
|
|
&ett_xnap_PDUSessionResourcesNotAdmitted_List,
|
|
&ett_xnap_PDUSessionResourcesNotAdmitted_Item,
|
|
&ett_xnap_PDUSessionResourcesToBeSetup_List,
|
|
&ett_xnap_PDUSessionResourcesToBeSetup_Item,
|
|
&ett_xnap_QoSCharacteristics,
|
|
&ett_xnap_QoSFlowLevelQoSParameters,
|
|
&ett_xnap_QoSFlows_List,
|
|
&ett_xnap_QoSFlow_Item,
|
|
&ett_xnap_QoSFlowsAdmitted_List,
|
|
&ett_xnap_QoSFlowAdmitted_Item,
|
|
&ett_xnap_QoSFlowsNotAdmitted_List,
|
|
&ett_xnap_QoSFlowNotAdmitted_Item,
|
|
&ett_xnap_QoSFlowsToBeSetup_List,
|
|
&ett_xnap_QoSFlowsToBeSetup_Item,
|
|
&ett_xnap_RANAreaID,
|
|
&ett_xnap_RANAreaID_List,
|
|
&ett_xnap_RANPagingArea,
|
|
&ett_xnap_RANPagingAreaChoice,
|
|
&ett_xnap_RANPagingAttemptInfo,
|
|
&ett_xnap_ResetRequestTypeInfo,
|
|
&ett_xnap_ResetRequestTypeInfo_Full,
|
|
&ett_xnap_ResetRequestTypeInfo_Partial,
|
|
&ett_xnap_ResetRequestPartialReleaseList,
|
|
&ett_xnap_ResetRequestPartialReleaseItem,
|
|
&ett_xnap_ResetResponseTypeInfo,
|
|
&ett_xnap_ResetResponseTypeInfo_Full,
|
|
&ett_xnap_ResetResponseTypeInfo_Partial,
|
|
&ett_xnap_ResetResponsePartialReleaseList,
|
|
&ett_xnap_ResetResponsePartialReleaseItem,
|
|
&ett_xnap_SecurityIndication,
|
|
&ett_xnap_ServedCellInformation_E_UTRA,
|
|
&ett_xnap_SEQUENCE_SIZE_1_maxnoofBPLMNs_OF_ServedCellInformation_E_UTRA_perBPLMN,
|
|
&ett_xnap_ServedCellInformation_E_UTRA_perBPLMN,
|
|
&ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_ModeInfo,
|
|
&ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_FDDInfo,
|
|
&ett_xnap_ServedCellInformation_E_UTRA_perBPLMN_TDDInfo,
|
|
&ett_xnap_ServedCells_E_UTRA,
|
|
&ett_xnap_ServedCells_E_UTRA_Item,
|
|
&ett_xnap_ServedCellsToUpdate_E_UTRA,
|
|
&ett_xnap_SEQUENCE_SIZE_1_maxnoofCellsinNGRANnode_OF_E_UTRA_CGI,
|
|
&ett_xnap_ServedCells_ToModify_E_UTRA,
|
|
&ett_xnap_ServedCells_ToModify_E_UTRA_Item,
|
|
&ett_xnap_ServedCellInformation_NR,
|
|
&ett_xnap_ServedCells_NR,
|
|
&ett_xnap_ServedCells_NR_Item,
|
|
&ett_xnap_ServedCells_ToModify_NR,
|
|
&ett_xnap_ServedCells_ToModify_NR_Item,
|
|
&ett_xnap_ServedCellsToUpdate_NR,
|
|
&ett_xnap_SliceSupport_List,
|
|
&ett_xnap_S_NSSAI,
|
|
&ett_xnap_SpecialSubframeInfo_E_UTRA,
|
|
&ett_xnap_SUL_Information,
|
|
&ett_xnap_SupportedSULBandList,
|
|
&ett_xnap_SupportedSULBandItem,
|
|
&ett_xnap_TAISupport_List,
|
|
&ett_xnap_TAISupport_Item,
|
|
&ett_xnap_SEQUENCE_SIZE_1_maxnoofsupportedPLMNs_OF_BroadcastPLMNinTAISupport_Item,
|
|
&ett_xnap_Target_CGI,
|
|
&ett_xnap_TraceActivation,
|
|
&ett_xnap_T_interfaces_to_trace,
|
|
&ett_xnap_UEAggregateMaximumBitRate,
|
|
&ett_xnap_UEContextID,
|
|
&ett_xnap_UEContextIDforRRCResume,
|
|
&ett_xnap_UEContextIDforRRCReestablishment,
|
|
&ett_xnap_UEContextInfoRetrUECtxtResp,
|
|
&ett_xnap_UERANPagingIdentity,
|
|
&ett_xnap_UESecurityCapabilities,
|
|
&ett_xnap_T_nr_EncyptionAlgorithms,
|
|
&ett_xnap_T_nr_IntegrityProtectionAlgorithms,
|
|
&ett_xnap_T_e_utra_EncyptionAlgorithms,
|
|
&ett_xnap_T_e_utra_IntegrityProtectionAlgorithms,
|
|
&ett_xnap_UPTransportLayerInformation,
|
|
&ett_xnap_HandoverRequest,
|
|
&ett_xnap_UEContextInfoHORequest,
|
|
&ett_xnap_HandoverRequestAcknowledge,
|
|
&ett_xnap_HandoverPreparationFailure,
|
|
&ett_xnap_SNStatusTransfer,
|
|
&ett_xnap_UEContextRelease,
|
|
&ett_xnap_HandoverCancel,
|
|
&ett_xnap_RANPaging,
|
|
&ett_xnap_RetrieveUEContextRequest,
|
|
&ett_xnap_RetrieveUEContextResponse,
|
|
&ett_xnap_RetrieveUEContextFailure,
|
|
&ett_xnap_DataForwardingAddressIndication,
|
|
&ett_xnap_SNodeAdditionRequest,
|
|
&ett_xnap_SNodeAdditionRequestAcknowledge,
|
|
&ett_xnap_SNodeAdditionRequestReject,
|
|
&ett_xnap_SNodeReconfigurationComplete,
|
|
&ett_xnap_SNodeModificationRequest,
|
|
&ett_xnap_SNodeModificationRequestAcknowledge,
|
|
&ett_xnap_SNodeModificationRequestReject,
|
|
&ett_xnap_SNodeModificationRequired,
|
|
&ett_xnap_SNodeModificationConfirm,
|
|
&ett_xnap_SNodeModificationRefuse,
|
|
&ett_xnap_SNodeReleaseRequest,
|
|
&ett_xnap_SNodeReleaseRequestAcknowledge,
|
|
&ett_xnap_SNodeReleaseReject,
|
|
&ett_xnap_SNodeReleaseRequired,
|
|
&ett_xnap_SNodeReleaseConfirm,
|
|
&ett_xnap_SNodeCounterCheckRequest,
|
|
&ett_xnap_SNodeChangeRequired,
|
|
&ett_xnap_SNodeChangeConfirm,
|
|
&ett_xnap_SNodeChangeRefuse,
|
|
&ett_xnap_RRCTransfer,
|
|
&ett_xnap_XnSetupRequest,
|
|
&ett_xnap_XnSetupResponse,
|
|
&ett_xnap_XnSetupFailure,
|
|
&ett_xnap_NGRANNodeConfigurationUpdate,
|
|
&ett_xnap_ConfigurationUpdateInitiatingNodeChoice,
|
|
&ett_xnap_NGRANNodeConfigurationUpdateAcknowledge,
|
|
&ett_xnap_RespondingNodeTypeConfigUpdateAck,
|
|
&ett_xnap_RespondingNodeTypeConfigUpdateAck_ng_eNB,
|
|
&ett_xnap_RespondingNodeTypeConfigUpdateAck_gNB,
|
|
&ett_xnap_NGRANNodeConfigurationUpdateFailure,
|
|
&ett_xnap_XnRemovalRequest,
|
|
&ett_xnap_XnRemovalResponse,
|
|
&ett_xnap_XnRemovalFailure,
|
|
&ett_xnap_CellActivationRequest,
|
|
&ett_xnap_ServedCellsToActivate,
|
|
&ett_xnap_CellActivationResponse,
|
|
&ett_xnap_ActivatedServedCells,
|
|
&ett_xnap_CellActivationFailure,
|
|
&ett_xnap_ResetRequest,
|
|
&ett_xnap_ResetResponse,
|
|
&ett_xnap_ErrorIndication,
|
|
&ett_xnap_PrivateMessage,
|
|
&ett_xnap_XnAP_PDU,
|
|
&ett_xnap_InitiatingMessage,
|
|
&ett_xnap_SuccessfulOutcome,
|
|
&ett_xnap_UnsuccessfulOutcome,
|
|
|
|
/*--- End of included file: packet-xnap-ettarr.c ---*/
|
|
#line 246 "./asn1/xnap/packet-xnap-template.c"
|
|
};
|
|
|
|
module_t *xnap_module;
|
|
|
|
proto_xnap = proto_register_protocol(PNAME, PSNAME, PFNAME);
|
|
proto_register_field_array(proto_xnap, hf, array_length(hf));
|
|
proto_register_subtree_array(ett, array_length(ett));
|
|
|
|
xnap_handle = register_dissector("xnap", dissect_xnap, proto_xnap);
|
|
|
|
xnap_ies_dissector_table = register_dissector_table("xnap.ies", "XNAP-PROTOCOL-IES", proto_xnap, FT_UINT32, BASE_DEC);
|
|
xnap_extension_dissector_table = register_dissector_table("xnap.extension", "XNAP-PROTOCOL-EXTENSION", proto_xnap, FT_UINT32, BASE_DEC);
|
|
xnap_proc_imsg_dissector_table = register_dissector_table("xnap.proc.imsg", "XNAP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_xnap, FT_UINT32, BASE_DEC);
|
|
xnap_proc_sout_dissector_table = register_dissector_table("xnap.proc.sout", "XNAP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_xnap, FT_UINT32, BASE_DEC);
|
|
xnap_proc_uout_dissector_table = register_dissector_table("xnap.proc.uout", "XNAP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_xnap, FT_UINT32, BASE_DEC);
|
|
|
|
xnap_module = prefs_register_protocol(proto_xnap, proto_reg_handoff_xnap);
|
|
|
|
prefs_register_uint_preference(xnap_module, "sctp.port",
|
|
"XnAP SCTP Port",
|
|
"Set the SCTP port for XnAP messages",
|
|
10,
|
|
&xnap_sctp_port);
|
|
prefs_register_enum_preference(xnap_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 Xn Setup procedure) or manually",
|
|
&xnap_dissect_target_ng_ran_container_as, xnap_target_ng_ran_container_vals, FALSE);
|
|
}
|
|
|
|
|
|
void
|
|
proto_reg_handoff_xnap(void)
|
|
{
|
|
static gboolean initialized = FALSE;
|
|
static guint sctp_port;
|
|
|
|
if (!initialized) {
|
|
dissector_add_for_decode_as("sctp.port", xnap_handle);
|
|
dissector_add_uint("sctp.ppi", XNAP_PROTOCOL_ID, xnap_handle);
|
|
initialized = TRUE;
|
|
|
|
/*--- Included file: packet-xnap-dis-tab.c ---*/
|
|
#line 1 "./asn1/xnap/packet-xnap-dis-tab.c"
|
|
dissector_add_uint("xnap.ies", id_ActivatedServedCells, create_dissector_handle(dissect_ActivatedServedCells_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_ActivationIDforCellActivation, create_dissector_handle(dissect_ActivationIDforCellActivation_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_AMF_Pool_Information, create_dissector_handle(dissect_AMF_Pool_Information_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_AreaOfInterest_Item, create_dissector_handle(dissect_AreaOfInterest_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_AssistanceDataForRANPaging, create_dissector_handle(dissect_AssistanceDataForRANPaging_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_Cause, create_dissector_handle(dissect_Cause_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_cellAssistanceInfo_NR, create_dissector_handle(dissect_CellAssistanceInfo_NR_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_ConfigurationUpdateInitiatingNodeChoice, create_dissector_handle(dissect_ConfigurationUpdateInitiatingNodeChoice_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_CriticalityDiagnostics, create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_dataforwardingInfoperPDUSession, create_dissector_handle(dissect_DataforwardingInfoperPDUSession_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_dataforwardingInfoperPDUSession_Item, create_dissector_handle(dissect_DataforwardingInfoperPDUSession_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_DataForwardingResponseDRBItem, create_dissector_handle(dissect_DataForwardingResponseDRBItem_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_DRBsSubjectToStatusTransfer_Item, create_dissector_handle(dissect_DRBsSubjectToStatusTransfer_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_DRBsSubjectToStatusTransfer_List, create_dissector_handle(dissect_DRBsSubjectToStatusTransfer_List_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_DRBToQoSFlowMapping_Item, create_dissector_handle(dissect_DRBToQoSFlowMapping_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_GlobalNG_RAN_node_ID, create_dissector_handle(dissect_GlobalNG_RANNode_ID_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_GUAMI, create_dissector_handle(dissect_GUAMI_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_List_of_served_cells_E_UTRA, create_dissector_handle(dissect_ServedCells_E_UTRA_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_List_of_served_cells_NR, create_dissector_handle(dissect_ServedCells_NR_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_LocationReportingInformation, create_dissector_handle(dissect_LocationReportingInformation_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_MAC_I, create_dissector_handle(dissect_MAC_I_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_MaskedIMEISV, create_dissector_handle(dissect_MaskedIMEISV_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_new_NG_RAN_Cell_Identity, create_dissector_handle(dissect_NG_RAN_Cell_Identity_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_newNG_RANnodeUEXnAPID, create_dissector_handle(dissect_NG_RANnodeUEXnAPID_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_oldNG_RANnodeUEXnAPID, create_dissector_handle(dissect_NG_RANnodeUEXnAPID_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_PagingDRX, create_dissector_handle(dissect_PagingDRX_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_PDUSessionResourcesAdmitted_Item, create_dissector_handle(dissect_PDUSessionResourcesAdmitted_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_PDUSessionResourcesAdmitted_List, create_dissector_handle(dissect_PDUSessionResourcesAdmitted_List_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_PDUSessionResourcesNotAdmitted_Item, create_dissector_handle(dissect_PDUSessionResourcesNotAdmitted_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_PDUSessionResourcesNotAdmitted_List, create_dissector_handle(dissect_PDUSessionResourcesNotAdmitted_List_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_PDUSessionResourcesToBeSetup_Item, create_dissector_handle(dissect_PDUSessionResourcesToBeSetup_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_QoSFlowAdmitted_Item, create_dissector_handle(dissect_QoSFlowAdmitted_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_QoSFlow_Item, create_dissector_handle(dissect_QoSFlow_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_QoSFlowNotAdmitted_Item, create_dissector_handle(dissect_QoSFlowNotAdmitted_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_QoSFlowsToBeSetup_Item, create_dissector_handle(dissect_QoSFlowsToBeSetup_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_RANPagingArea, create_dissector_handle(dissect_RANPagingArea_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_RANPagingPriority, create_dissector_handle(dissect_RANPagingPriority_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_ResetRequestPartialReleaseItem, create_dissector_handle(dissect_ResetRequestPartialReleaseItem_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_ResetRequestTypeInfo, create_dissector_handle(dissect_ResetRequestTypeInfo_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_ResetResponsePartialReleaseItem, create_dissector_handle(dissect_ResetResponsePartialReleaseItem_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_ResetResponseTypeInfo, create_dissector_handle(dissect_ResetResponseTypeInfo_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_RespondingNodeTypeConfigUpdateAck, create_dissector_handle(dissect_RespondingNodeTypeConfigUpdateAck_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_ServedCellsToActivate, create_dissector_handle(dissect_ServedCellsToActivate_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_servedCellsToUpdate_E_UTRA, create_dissector_handle(dissect_ServedCellsToUpdate_E_UTRA_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_servedCellsToUpdate_NR, create_dissector_handle(dissect_ServedCellsToUpdate_NR_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_sourceNG_RANnodeUEXnAPID, create_dissector_handle(dissect_NG_RANnodeUEXnAPID_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_TAISupport_Item, create_dissector_handle(dissect_TAISupport_Item_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_TAISupport_list, create_dissector_handle(dissect_TAISupport_List_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_Target2SourceNG_RANnodeTranspContainer, create_dissector_handle(dissect_Target2SourceNG_RANnodeTranspContainer_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_targetCellGlobalID, create_dissector_handle(dissect_Target_CGI_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_targetNG_RANnodeUEXnAPID, create_dissector_handle(dissect_NG_RANnodeUEXnAPID_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_TraceActivation, create_dissector_handle(dissect_TraceActivation_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_UEContextID, create_dissector_handle(dissect_UEContextID_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_UEContextInfoHORequest, create_dissector_handle(dissect_UEContextInfoHORequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_UEContextInfoRetrUECtxtResp, create_dissector_handle(dissect_UEContextInfoRetrUECtxtResp_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_UEIdentityIndexValue, create_dissector_handle(dissect_UEIdentityIndexValue_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_UERANPagingIdentity, create_dissector_handle(dissect_UERANPagingIdentity_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.ies", id_XnRemovalThreshold, create_dissector_handle(dissect_XnBenefitValue_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_handoverPreparation, create_dissector_handle(dissect_HandoverRequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_handoverPreparation, create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_handoverPreparation, create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_sNStatusTransfer, create_dissector_handle(dissect_SNStatusTransfer_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_handoverCancel, create_dissector_handle(dissect_HandoverCancel_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextRequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextResponse_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextFailure_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_rANPaging, create_dissector_handle(dissect_RANPaging_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_dataForwardingAddressIndication, create_dissector_handle(dissect_DataForwardingAddressIndication_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_uEContextRelease, create_dissector_handle(dissect_UEContextRelease_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeAdditionPreparation, create_dissector_handle(dissect_SNodeAdditionRequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_sNGRANnodeAdditionPreparation, create_dissector_handle(dissect_SNodeAdditionRequestAcknowledge_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_sNGRANnodeAdditionPreparation, create_dissector_handle(dissect_SNodeAdditionRequestReject_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeReconfigurationCompletion, create_dissector_handle(dissect_SNodeReconfigurationComplete_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationRequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationRequestAcknowledge_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_mNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationRequestReject_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationRequired_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationConfirm_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_sNGRANnodeinitiatedSNGRANnodeModificationPreparation, create_dissector_handle(dissect_SNodeModificationRefuse_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_mNGRANnodeinitiatedSNGRANnodeRelease, create_dissector_handle(dissect_SNodeReleaseRequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_mNGRANnodeinitiatedSNGRANnodeRelease, create_dissector_handle(dissect_SNodeReleaseRequestAcknowledge_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_mNGRANnodeinitiatedSNGRANnodeRelease, create_dissector_handle(dissect_SNodeReleaseReject_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeinitiatedSNGRANnodeRelease, create_dissector_handle(dissect_SNodeReleaseRequired_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_sNGRANnodeinitiatedSNGRANnodeRelease, create_dissector_handle(dissect_SNodeReleaseConfirm_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeCounterCheck, create_dissector_handle(dissect_SNodeCounterCheckRequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_sNGRANnodeChange, create_dissector_handle(dissect_SNodeChangeRequired_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_sNGRANnodeChange, create_dissector_handle(dissect_SNodeChangeConfirm_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_sNGRANnodeChange, create_dissector_handle(dissect_SNodeChangeRefuse_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_rRCTransfer, create_dissector_handle(dissect_RRCTransfer_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_xnRemoval, create_dissector_handle(dissect_XnRemovalRequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_xnRemoval, create_dissector_handle(dissect_XnRemovalResponse_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_xnRemoval, create_dissector_handle(dissect_XnRemovalFailure_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_xnSetup, create_dissector_handle(dissect_XnSetupRequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_xnSetup, create_dissector_handle(dissect_XnSetupResponse_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_xnSetup, create_dissector_handle(dissect_XnSetupFailure_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_nGRANnodeConfigurationUpdate, create_dissector_handle(dissect_NGRANNodeConfigurationUpdate_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_nGRANnodeConfigurationUpdate, create_dissector_handle(dissect_NGRANNodeConfigurationUpdateAcknowledge_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_nGRANnodeConfigurationUpdate, create_dissector_handle(dissect_NGRANNodeConfigurationUpdateFailure_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_cellActivation, create_dissector_handle(dissect_CellActivationRequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_cellActivation, create_dissector_handle(dissect_CellActivationResponse_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.uout", id_cellActivation, create_dissector_handle(dissect_CellActivationFailure_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_reset, create_dissector_handle(dissect_ResetRequest_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.sout", id_reset, create_dissector_handle(dissect_ResetResponse_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_errorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_xnap));
|
|
dissector_add_uint("xnap.proc.imsg", id_privateMessage, create_dissector_handle(dissect_PrivateMessage_PDU, proto_xnap));
|
|
|
|
|
|
/*--- End of included file: packet-xnap-dis-tab.c ---*/
|
|
#line 287 "./asn1/xnap/packet-xnap-template.c"
|
|
} else {
|
|
if (sctp_port != 0) {
|
|
dissector_delete_uint("sctp.port", sctp_port, xnap_handle);
|
|
}
|
|
}
|
|
sctp_port = xnap_sctp_port;
|
|
if (sctp_port != 0) {
|
|
dissector_add_uint("sctp.port", sctp_port, xnap_handle);
|
|
}
|
|
}
|