Add NGAP Stats.

This commit is contained in:
Martin Mathieson 2021-10-05 11:52:40 +01:00
parent b240d5baa0
commit af19fc795a
6 changed files with 1060 additions and 295 deletions

View File

@ -2048,295 +2048,392 @@ NRPPa-PDU S ngap.n2_ie_type "NRPPA_PDU"
UERadioCapability S ngap.n2_ie_type "UE_RADIO_CAPABILITY"
#.FN_HDR AMFConfigurationUpdate
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFConfigurationUpdate");
set_message_label(actx, MTYPE_AMF_CONFIGURATION_UPDATE);
set_stats_message_type(actx->pinfo, MTYPE_AMF_CONFIGURATION_UPDATE);
#.FN_HDR AMFConfigurationUpdateAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFConfigurationUpdateAcknowledge");
set_message_label(actx, MTYPE_AMF_CONFIGURATION_UPDATE_ACK);
set_stats_message_type(actx->pinfo, MTYPE_AMF_CONFIGURATION_UPDATE_ACK);
#.FN_HDR AMFConfigurationUpdateFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFConfigurationUpdateFailure");
set_message_label(actx, MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE);
#.FN_HDR AMFCPRelocationIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFCPRelocationIndication");
set_message_label(actx, MTYPE_AMF_CP_RELOCATION_IND);
set_stats_message_type(actx->pinfo, MTYPE_AMF_CP_RELOCATION_IND);
#.FN_HDR AMFStatusIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFStatusIndication");
set_message_label(actx, MTYPE_AMF_STATUS_IND);
set_stats_message_type(actx->pinfo, MTYPE_AMF_STATUS_IND);
#.FN_HDR CellTrafficTrace
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
set_message_label(actx, MTYPE_CELL_TRAFFIC_TRACE);
set_stats_message_type(actx->pinfo, MTYPE_CELL_TRAFFIC_TRACE);
#.FN_HDR ConnectionEstablishmentIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConnectionEstablishmentIndication");
set_message_label(actx, MTYPE_CONNECTION_ESTAB_IND);
set_stats_message_type(actx->pinfo, MTYPE_CONNECTION_ESTAB_IND);
#.FN_HDR DeactivateTrace
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
set_message_label(actx, MTYPE_DEACTIVATE_TRACE);
set_stats_message_type(actx->pinfo, MTYPE_DEACTIVATE_TRACE);
#.FN_HDR DownlinkNASTransport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNASTransport");
set_message_label(actx, MTYPE_DOWNLINK_NAS_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_NAS_TRANSPORT);
#.FN_HDR DownlinkNonUEAssociatedNRPPaTransport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNonUEAssociatedNRPPaTransport");
set_message_label(actx, MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
#.FN_HDR DownlinkRANConfigurationTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkRANConfigurationTransfer");
set_message_label(actx, MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER);
#.FN_HDR DownlinkRANEarlyStatusTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkRANEarlyStatusTransfer");
set_message_label(actx, MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER);
#.FN_HDR DownlinkRANStatusTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkRANStatusTransfer");
set_message_label(actx, MTYPE_DOWNLINK_RAN_STATUS_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RAN_STATUS_TRANSFER);
#.FN_HDR DownlinkUEAssociatedNRPPaTransport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkUEAssociatedNRPPaTransport");
set_message_label(actx, MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
#.FN_HDR ErrorIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
set_message_label(actx, MTYPE_ERROR_INDICATION);
set_stats_message_type(actx->pinfo, MTYPE_ERROR_INDICATION);
#.FN_HDR HandoverCancel
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
set_message_label(actx, MTYPE_HANDOVER_CANCEL);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_CANCEL);
#.FN_HDR HandoverCancelAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancelAcknowledge");
set_message_label(actx, MTYPE_HANDOVER_CANCEL_ACK);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_CANCEL_ACK);
#.FN_HDR HandoverNotify
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverNotify");
set_message_label(actx, MTYPE_HANDOVER_NOTIFY);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_NOTIFY);
#.FN_HDR HandoverRequired
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequired");
set_message_label(actx, MTYPE_HANDOVER_REQUIRED);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_REQUIRED);
#.FN_HDR HandoverCommand
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCommand");
set_message_label(actx, MTYPE_HANDOVER_COMMAND);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_COMMAND);
#.FN_HDR HandoverPreparationFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
set_message_label(actx, MTYPE_HANDOVER_PREPARATION_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_PREPARATION_FAILURE);
#.FN_HDR HandoverRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
set_message_label(actx, MTYPE_HANDOVER_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_REQUEST);
#.FN_HDR HandoverRequestAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
set_message_label(actx, MTYPE_HANDOVER_REQUEST_ACK);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_REQUEST_ACK);
#.FN_HDR HandoverFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFailure");
set_message_label(actx, MTYPE_HANDOVER_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_FAILURE);
#.FN_HDR HandoverSuccess
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess");
set_message_label(actx, MTYPE_HANDOVER_SUCCESS);
set_stats_message_type(actx->pinfo, MTYPE_HANDOVER_SUCCESS);
#.FN_HDR InitialContextSetupRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupRequest");
set_message_label(actx, MTYPE_INITIAL_CONTEXT_SETUP_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_INITIAL_CONTEXT_SETUP_REQUEST);
#.FN_HDR InitialContextSetupResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupResponse");
set_message_label(actx, MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE);
#.FN_HDR InitialContextSetupFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupFailure");
set_message_label(actx, MTYPE_INITIAL_CONTEXT_SETUP_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_INITIAL_CONTEXT_SETUP_FAILURE);
#.FN_HDR InitialUEMessage
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialUEMessage");
set_message_label(actx, MTYPE_INITIAL_UE_MESSAGE);
set_stats_message_type(actx->pinfo, MTYPE_INITIAL_UE_MESSAGE);
#.FN_HDR LocationReport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReport");
set_message_label(actx, MTYPE_LOCATION_REPORT);
set_stats_message_type(actx->pinfo, MTYPE_LOCATION_REPORT);
#.FN_HDR LocationReportingControl
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingControl");
set_message_label(actx, MTYPE_LOCATION_REPORTING_CONTROL);
set_stats_message_type(actx->pinfo, MTYPE_LOCATION_REPORTING_CONTROL);
#.FN_HDR LocationReportingFailureIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingFailureIndication");
set_message_label(actx, MTYPE_LOCATION_REPORTING_FAILURE_IND);
set_stats_message_type(actx->pinfo, MTYPE_LOCATION_REPORTING_FAILURE_IND);
#.FN_HDR NASNonDeliveryIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASNonDeliveryIndication");
set_message_label(actx, MTYPE_NAS_NON_DELIVERY_IND);
set_stats_message_type(actx->pinfo, MTYPE_NAS_NON_DELIVERY_IND);
#.FN_HDR NGReset
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGReset");
set_message_label(actx, MTYPE_NG_RESET);
set_stats_message_type(actx->pinfo, MTYPE_NG_RESET);
#.FN_HDR NGResetAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGResetAcknowledge");
set_message_label(actx, MTYPE_NG_RESET_ACK);
set_stats_message_type(actx->pinfo, MTYPE_NG_RESET_ACK);
#.FN_HDR NGSetupRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGSetupRequest");
set_message_label(actx, MTYPE_NG_SETUP_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_NG_SETUP_REQUEST);
#.FN_HDR NGSetupResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGSetupResponse");
set_message_label(actx, MTYPE_NG_SETUP_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_NG_SETUP_RESPONSE);
#.FN_HDR NGSetupFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGSetupFailure");
set_message_label(actx, MTYPE_NG_SETUP_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_NG_SETUP_FAILURE);
#.FN_HDR OverloadStart
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStart");
set_message_label(actx, MTYPE_OVERLOAD_START);
set_stats_message_type(actx->pinfo, MTYPE_OVERLOAD_START);
#.FN_HDR OverloadStop
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStop");
set_message_label(actx, MTYPE_OVERLOAD_STOP);
set_stats_message_type(actx->pinfo, MTYPE_OVERLOAD_STOP);
#.FN_HDR Paging
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
set_message_label(actx, MTYPE_PAGING);
set_stats_message_type(actx->pinfo, MTYPE_PAGING);
#.FN_HDR PathSwitchRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequest");
set_message_label(actx, MTYPE_PATH_SWITCH_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_PATH_SWITCH_REQUEST);
#.FN_HDR PathSwitchRequestAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestAcknowledge");
set_message_label(actx, MTYPE_PATH_SWITCH_REQUEST_ACK);
set_stats_message_type(actx->pinfo, MTYPE_PATH_SWITCH_REQUEST_ACK);
#.FN_HDR PathSwitchRequestFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestFailure");
set_message_label(actx, MTYPE_PATH_SWITCH_REQUEST_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_PATH_SWITCH_REQUEST_FAILURE);
#.FN_HDR PDUSessionResourceModifyRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyRequest");
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST);
#.FN_HDR PDUSessionResourceModifyResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyResponse");
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE);
#.FN_HDR PDUSessionResourceModifyIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyIndication");
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND);
#.FN_HDR PDUSessionResourceModifyConfirm
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyConfirm");
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM);
#.FN_HDR PDUSessionResourceNotify
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceNotify");
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_NOTIFY);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_NOTIFY);
#.FN_HDR PDUSessionResourceReleaseCommand
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceReleaseCommand");
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND);
#.FN_HDR PDUSessionResourceReleaseResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceReleaseResponse");
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE);
#.FN_HDR PDUSessionResourceSetupRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceSetupRequest");
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST);
#.FN_HDR PDUSessionResourceSetupResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceSetupResponse");
set_message_label(actx, MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE);
#.FN_HDR PrivateMessage
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
set_message_label(actx, MTYPE_PRIVATE_MESSAGE);
set_stats_message_type(actx->pinfo, MTYPE_PRIVATE_MESSAGE);
#.FN_HDR PWSCancelRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSCancelRequest");
set_message_label(actx, MTYPE_PWS_CANCEL_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_PWS_CANCEL_REQUEST);
#.FN_HDR PWSCancelResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSCancelResponse");
set_message_label(actx, MTYPE_PWS_CANCEL_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_PWS_CANCEL_RESPONSE);
#.FN_HDR PWSFailureIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication");
set_message_label(actx, MTYPE_PWS_FAILURE_INDICATION);
set_stats_message_type(actx->pinfo, MTYPE_PWS_FAILURE_INDICATION);
#.FN_HDR PWSRestartIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication");
set_message_label(actx, MTYPE_PWS_RESTART_INDICATION);
set_stats_message_type(actx->pinfo, MTYPE_PWS_RESTART_INDICATION);
#.FN_HDR RANConfigurationUpdate
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANConfigurationUpdate");
set_message_label(actx, MTYPE_RAN_CONFIGURATION_UPDATE);
set_stats_message_type(actx->pinfo, MTYPE_RAN_CONFIGURATION_UPDATE);
#.FN_HDR RANConfigurationUpdateAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANConfigurationUpdateAcknowledge");
set_message_label(actx, MTYPE_RAN_CONFIGURATION_UPDATE_ACK);
set_stats_message_type(actx->pinfo, MTYPE_RAN_CONFIGURATION_UPDATE_ACK);
#.FN_HDR RANConfigurationUpdateFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANConfigurationUpdateFailure");
set_message_label(actx, MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE);
#.FN_HDR RANCPRelocationIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANCPRelocationIndication");
set_message_label(actx, MTYPE_RAN_CP_RELOCATION_IND);
set_stats_message_type(actx->pinfo, MTYPE_RAN_CP_RELOCATION_IND);
#.FN_HDR RerouteNASRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RerouteNASRequest");
set_message_label(actx, MTYPE_REROUTE_NAS_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_REROUTE_NAS_REQUEST);
#.FN_HDR RetrieveUEInformation
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEInformation");
set_message_label(actx, MTYPE_RETRIEVE_UE_INFORMATION);
set_stats_message_type(actx->pinfo, MTYPE_RETRIEVE_UE_INFORMATION);
#.FN_HDR RRCInactiveTransitionReport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCInactiveTransitionReport");
set_message_label(actx, MTYPE_RRC_INACTIVE_TRANSITION_REPORT);
set_stats_message_type(actx->pinfo, MTYPE_RRC_INACTIVE_TRANSITION_REPORT);
#.FN_HDR SecondaryRATDataUsageReport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport");
set_message_label(actx, MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT);
set_stats_message_type(actx->pinfo, MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT);
#.FN_HDR TraceFailureIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceFailureIndication");
set_message_label(actx, MTYPE_TRACE_FAILURE_IND);
set_stats_message_type(actx->pinfo, MTYPE_TRACE_FAILURE_IND);
#.FN_HDR TraceStart
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
set_message_label(actx, MTYPE_TRACE_START);
set_stats_message_type(actx->pinfo, MTYPE_TRACE_START);
#.FN_HDR UEContextModificationRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest");
set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REQUEST);
#.FN_HDR UEContextModificationResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse");
set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE);
#.FN_HDR UEContextModificationFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure");
set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_FAILURE);
#.FN_HDR UEContextReleaseCommand
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand");
set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_COMMAND);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_COMMAND);
#.FN_HDR UEContextReleaseComplete
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete");
set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_COMPLETE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_COMPLETE);
#.FN_HDR UEContextReleaseRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest");
set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_REQUEST);
#.FN_HDR UEContextResumeRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeRequest");
set_message_label(actx, MTYPE_UE_CONTEXT_RESUME_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RESUME_REQUEST);
#.FN_HDR UEContextResumeResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeResponse");
set_message_label(actx, MTYPE_UE_CONTEXT_RESUME_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RESUME_RESPONSE);
#.FN_HDR UEContextResumeFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeFailure");
set_message_label(actx, MTYPE_UE_CONTEXT_RESUME_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RESUME_FAILURE);
#.FN_HDR UEContextSuspendRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendRequest");
set_message_label(actx, MTYPE_UE_CONTEXT_SUSPEND_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SUSPEND_REQUEST);
#.FN_HDR UEContextSuspendResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendResponse");
set_message_label(actx, MTYPE_UE_CONTEXT_SUSPEND_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SUSPEND_RESPONSE);
#.FN_HDR UEContextSuspendFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendFailure");
set_message_label(actx, MTYPE_UE_CONTEXT_SUSPEND_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SUSPEND_FAILURE);
#.FN_HDR UEInformationTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationTransfer");
set_message_label(actx, MTYPE_UE_INFORMATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UE_INFORMATION_TRANSFER);
#.FN_HDR UERadioCapabilityCheckRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityCheckRequest");
set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST);
#.FN_HDR UERadioCapabilityCheckResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityCheckResponse");
set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE);
#.FN_HDR UERadioCapabilityIDMappingRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingRequest");
set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST);
#.FN_HDR UERadioCapabilityIDMappingResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingResponse");
set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE);
#.FN_HDR UERadioCapabilityInfoIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityInfoIndication");
set_message_label(actx, MTYPE_UE_RADIO_CAPABILITY_INFO_IND);
set_stats_message_type(actx->pinfo, MTYPE_UE_RADIO_CAPABILITY_INFO_IND);
#.FN_HDR UETNLABindingReleaseRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UETNLABindingReleaseRequest");
set_message_label(actx, MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST);
#.FN_HDR UplinkNASTransport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNASTransport");
set_message_label(actx, MTYPE_UPLINK_NAS_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_NAS_TRANSPORT);
#.FN_HDR UplinkNonUEAssociatedNRPPaTransport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNonUEAssociatedNRPPaTransport");
set_message_label(actx, MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT);
#.FN_HDR UplinkRANConfigurationTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkRANConfigurationTransfer");
set_message_label(actx, MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER);
#.FN_HDR UplinkRANEarlyStatusTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkRANEarlyStatusTransfer");
set_message_label(actx, MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER);
#.FN_HDR UplinkRANStatusTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkRANStatusTransfer");
set_message_label(actx, MTYPE_UPLINK_RAN_STATUS_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RAN_STATUS_TRANSFER);
#.FN_HDR UplinkUEAssociatedNRPPaTransport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkUEAssociatedNRPPaTransport");
set_message_label(actx, MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT);
#.FN_HDR WriteReplaceWarningRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest");
set_message_label(actx, MTYPE_WRITE_REPLACE_WARNING_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_WRITE_REPLACE_WARNING_REQUEST);
#.FN_HDR WriteReplaceWarningResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse");
set_message_label(actx, MTYPE_WRITE_REPLACE_WARNING_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_WRITE_REPLACE_WARNING_RESPONSE);
#.FN_HDR UplinkRIMInformationTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkRIMInformationTransfer");
set_message_label(actx, MTYPE_UPLINK_RIM_INFORMATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UPLINK_RIM_INFORMATION_TRANSFER);
#.FN_HDR DownlinkRIMInformationTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkRIMInformationTransfer");
set_message_label(actx, MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER);
#
# Editor modelines - https://www.wireshark.org/tools/modelines.html

View File

@ -24,6 +24,8 @@
#include <epan/conversation.h>
#include <epan/exceptions.h>
#include <epan/show_exception.h>
#include <epan/tap.h>
#include <epan/stats_tree.h>
#include <wsutil/wsjson.h>
#include "packet-ngap.h"
@ -183,6 +185,224 @@ enum{
UNSUCCESSFUL_OUTCOME
};
/* NGAP stats - Tap interface */
static void set_stats_message_type(packet_info *pinfo, int type);
static const guint8 *st_str_packets = "Total Packets";
static const guint8 *st_str_packet_types = "NGAP Packet Types";
static int st_node_packets = -1;
static int st_node_packet_types = -1;
static int ngap_tap = -1;
struct ngap_tap_t {
gint ngap_mtype;
};
#define MTYPE_AMF_CONFIGURATION_UPDATE 1
#define MTYPE_AMF_CONFIGURATION_UPDATE_ACK 2
#define MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE 3
#define MTYPE_AMF_CP_RELOCATION_IND 4
#define MTYPE_AMF_STATUS_IND 5
#define MTYPE_CELL_TRAFFIC_TRACE 6
#define MTYPE_CONNECTION_ESTAB_IND 7
#define MTYPE_DEACTIVATE_TRACE 8
#define MTYPE_DOWNLINK_NAS_TRANSPORT 9
#define MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT 10
#define MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER 11
#define MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER 12
#define MTYPE_DOWNLINK_RAN_STATUS_TRANSFER 13
#define MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT 14
#define MTYPE_ERROR_INDICATION 15
#define MTYPE_HANDOVER_CANCEL 16
#define MTYPE_HANDOVER_CANCEL_ACK 17
#define MTYPE_HANDOVER_NOTIFY 18
#define MTYPE_HANDOVER_REQUIRED 19
#define MTYPE_HANDOVER_COMMAND 20
#define MTYPE_HANDOVER_PREPARATION_FAILURE 21
#define MTYPE_HANDOVER_REQUEST 22
#define MTYPE_HANDOVER_REQUEST_ACK 23
#define MTYPE_HANDOVER_FAILURE 24
#define MTYPE_HANDOVER_SUCCESS 25
#define MTYPE_INITIAL_CONTEXT_SETUP_REQUEST 26
#define MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE 27
#define MTYPE_INITIAL_CONTEXT_SETUP_FAILURE 28
#define MTYPE_INITIAL_UE_MESSAGE 29
#define MTYPE_LOCATION_REPORT 30
#define MTYPE_LOCATION_REPORTING_CONTROL 31
#define MTYPE_LOCATION_REPORTING_FAILURE_IND 32
#define MTYPE_NAS_NON_DELIVERY_IND 33
#define MTYPE_NG_RESET 34
#define MTYPE_NG_RESET_ACK 35
#define MTYPE_NG_SETUP_REQUEST 36
#define MTYPE_NG_SETUP_RESPONSE 37
#define MTYPE_NG_SETUP_FAILURE 38
#define MTYPE_OVERLOAD_START 39
#define MTYPE_OVERLOAD_STOP 40
#define MTYPE_PAGING 41
#define MTYPE_PATH_SWITCH_REQUEST 42
#define MTYPE_PATH_SWITCH_REQUEST_ACK 43
#define MTYPE_PATH_SWITCH_REQUEST_FAILURE 44
#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST 45
#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE 46
#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND 47
#define MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM 48
#define MTYPE_PDU_SESSION_RESOURCE_NOTIFY 49
#define MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND 50
#define MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE 51
#define MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST 52
#define MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE 53
#define MTYPE_PRIVATE_MESSAGE 54
#define MTYPE_PWS_CANCEL_REQUEST 55
#define MTYPE_PWS_CANCEL_RESPONSE 56
#define MTYPE_PWS_FAILURE_INDICATION 57
#define MTYPE_PWS_RESTART_INDICATION 58
#define MTYPE_RAN_CONFIGURATION_UPDATE 59
#define MTYPE_RAN_CONFIGURATION_UPDATE_ACK 60
#define MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE 61
#define MTYPE_RAN_CP_RELOCATION_IND 62
#define MTYPE_REROUTE_NAS_REQUEST 63
#define MTYPE_RETRIEVE_UE_INFORMATION 64
#define MTYPE_RRC_INACTIVE_TRANSITION_REPORT 65
#define MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT 66
#define MTYPE_TRACE_FAILURE_IND 67
#define MTYPE_TRACE_START 68
#define MTYPE_UE_CONTEXT_MODIFICATION_REQUEST 69
#define MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE 70
#define MTYPE_UE_CONTEXT_MODIFICATION_FAILURE 71
#define MTYPE_UE_CONTEXT_RELEASE_COMMAND 72
#define MTYPE_UE_CONTEXT_RELEASE_COMPLETE 73
#define MTYPE_UE_CONTEXT_RELEASE_REQUEST 74
#define MTYPE_UE_CONTEXT_RESUME_REQUEST 75
#define MTYPE_UE_CONTEXT_RESUME_RESPONSE 76
#define MTYPE_UE_CONTEXT_RESUME_FAILURE 77
#define MTYPE_UE_CONTEXT_SUSPEND_REQUEST 78
#define MTYPE_UE_CONTEXT_SUSPEND_RESPONSE 79
#define MTYPE_UE_CONTEXT_SUSPEND_FAILURE 80
#define MTYPE_UE_INFORMATION_TRANSFER 81
#define MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST 82
#define MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE 83
#define MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST 84
#define MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE 85
#define MTYPE_UE_RADIO_CAPABILITY_INFO_IND 86
#define MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST 87
#define MTYPE_UPLINK_NAS_TRANSPORT 88
#define MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT 89
#define MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER 90
#define MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER 91
#define MTYPE_UPLINK_RAN_STATUS_TRANSFER 92
#define MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT 93
#define MTYPE_WRITE_REPLACE_WARNING_REQUEST 94
#define MTYPE_WRITE_REPLACE_WARNING_RESPONSE 95
#define MTYPE_UPLINK_RIM_INFORMATION_TRANSFER 96
#define MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER 97
/* Value Strings. TODO: ext? */
static const value_string mtype_names[] = {
{ MTYPE_AMF_CONFIGURATION_UPDATE, "AMFConfigurationUpdate" },
{ MTYPE_AMF_CONFIGURATION_UPDATE_ACK, "AMFConfigurationUpdateAcknowledge" },
{ MTYPE_AMF_CONFIGURATION_UPDATE_FAILURE, "AMFConfigurationUpdateFailure" },
{ MTYPE_AMF_CP_RELOCATION_IND, "AMFCPRelocationIndication" },
{ MTYPE_AMF_STATUS_IND, "AMFStatusIndication" },
{ MTYPE_CELL_TRAFFIC_TRACE, "CellTrafficTrace" },
{ MTYPE_CONNECTION_ESTAB_IND, "ConnectionEstablishmentIndication" },
{ MTYPE_DEACTIVATE_TRACE, "DeactivateTrace" },
{ MTYPE_DOWNLINK_NAS_TRANSPORT, "DownlinkNASTransport" },
{ MTYPE_DOWNLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT, "DownlinkNonUEAssociatedNRPPaTransport" },
{ MTYPE_DOWNLINK_RAN_CONFIGURATION_TRANSFER, "DownlinkRANConfigurationTransfer" },
{ MTYPE_DOWNLINK_RAN_EARLY_STATUS_TRANSFER, "DownlinkRANEarlyStatusTransfer" },
{ MTYPE_DOWNLINK_RAN_STATUS_TRANSFER, "DownlinkRANStatusTransfer" },
{ MTYPE_DOWNLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT, "DownlinkUEAssociatedNRPPaTransport" },
{ MTYPE_ERROR_INDICATION, "ErrorIndication" },
{ MTYPE_HANDOVER_CANCEL, "HandoverCancel" },
{ MTYPE_HANDOVER_CANCEL_ACK, "HandoverCancelAcknowledge" },
{ MTYPE_HANDOVER_NOTIFY, "HandoverNotify" },
{ MTYPE_HANDOVER_REQUIRED, "HandoverRequired" },
{ MTYPE_HANDOVER_COMMAND, "HandoverCommand" },
{ MTYPE_HANDOVER_PREPARATION_FAILURE, "HandoverPreparationFailure" },
{ MTYPE_HANDOVER_REQUEST, "HandoverRequest" },
{ MTYPE_HANDOVER_REQUEST_ACK, "HandoverRequestAcknowledge" },
{ MTYPE_HANDOVER_FAILURE, "HandoverFailure" },
{ MTYPE_HANDOVER_SUCCESS, "HandoverSuccess" },
{ MTYPE_INITIAL_CONTEXT_SETUP_REQUEST, "InitialContextSetupRequest" },
{ MTYPE_INITIAL_CONTEXT_SETUP_RESPONSE, "InitialContextSetupResponse" },
{ MTYPE_INITIAL_CONTEXT_SETUP_FAILURE, "InitialContextSetupFailure" },
{ MTYPE_INITIAL_CONTEXT_SETUP_FAILURE, "InitialContextSetupFailure" },
{ MTYPE_INITIAL_UE_MESSAGE, "InitialUEMessage" },
{ MTYPE_LOCATION_REPORT, "LocationReport" },
{ MTYPE_LOCATION_REPORTING_CONTROL, "LocationReportingControl" },
{ MTYPE_LOCATION_REPORTING_FAILURE_IND, "LocationReportingFailureIndication" },
{ MTYPE_NAS_NON_DELIVERY_IND, "NASNonDeliveryIndication" },
{ MTYPE_NG_RESET, "NGReset" },
{ MTYPE_NG_RESET_ACK, "NGResetAcknowledge" },
{ MTYPE_NG_SETUP_REQUEST, "NGSetupRequest" },
{ MTYPE_NG_SETUP_RESPONSE, "NGSetupResponse" },
{ MTYPE_NG_SETUP_FAILURE, "NGSetupFailure" },
{ MTYPE_OVERLOAD_START, "OverloadStart" },
{ MTYPE_OVERLOAD_STOP, "OverloadStop" },
{ MTYPE_PAGING, "Paging" },
{ MTYPE_PATH_SWITCH_REQUEST, "PathSwitchRequest" },
{ MTYPE_PATH_SWITCH_REQUEST_ACK, "PathSwitchRequestAcknowledge" },
{ MTYPE_PATH_SWITCH_REQUEST_FAILURE, "PathSwitchRequestFailure" },
{ MTYPE_PDU_SESSION_RESOURCE_MODIFY_REQUEST, "PDUSessionResourceModifyRequest" },
{ MTYPE_PDU_SESSION_RESOURCE_MODIFY_RESPONSE, "PDUSessionResourceModifyResponse" },
{ MTYPE_PDU_SESSION_RESOURCE_MODIFY_IND, "PDUSessionResourceModifyIndication" },
{ MTYPE_PDU_SESSION_RESOURCE_MODIFY_CONFIRM, "PDUSessionResourceModifyConfirm" },
{ MTYPE_PDU_SESSION_RESOURCE_NOTIFY, "PDUSessionResourceNotify" },
{ MTYPE_PDU_SESSION_RESOURCE_RELEASE_COMMAND, "PDUSessionResourceReleaseCommand" },
{ MTYPE_PDU_SESSION_RESOURCE_RELEASE_RESPONSE, "PDUSessionResourceReleaseResponse" },
{ MTYPE_PDU_SESSION_RESOURCE_SETUP_REQUEST, "PDUSessionResourceSetupRequest" },
{ MTYPE_PDU_SESSION_RESOURCE_SETUP_RESPONSE, "PDUSessionResourceSetupResponse" },
{ MTYPE_PRIVATE_MESSAGE, "PrivateMessage" },
{ MTYPE_PWS_CANCEL_REQUEST, "PWSCancelRequest" },
{ MTYPE_PWS_CANCEL_RESPONSE, "PWSCancelResponse" },
{ MTYPE_PWS_FAILURE_INDICATION, "PWSFailureIndication" },
{ MTYPE_PWS_RESTART_INDICATION, "PWSRestartIndication" },
{ MTYPE_RAN_CONFIGURATION_UPDATE, "RANConfigurationUpdate" },
{ MTYPE_RAN_CONFIGURATION_UPDATE_ACK, "RANConfigurationUpdateAcknowledge" },
{ MTYPE_RAN_CONFIGURATION_UPDATE_FAILURE, "RANConfigurationUpdateFailure" },
{ MTYPE_RAN_CP_RELOCATION_IND, "RANCPRelocationIndication" },
{ MTYPE_REROUTE_NAS_REQUEST, "RerouteNASRequest" },
{ MTYPE_RETRIEVE_UE_INFORMATION, "RetrieveUEInformation" },
{ MTYPE_RRC_INACTIVE_TRANSITION_REPORT, "RRCInactiveTransitionReport" },
{ MTYPE_SECONDARY_RAT_DATA_USAGE_REPORT, "SecondaryRATDataUsageReport" },
{ MTYPE_TRACE_FAILURE_IND, "TraceFailureIndication" },
{ MTYPE_TRACE_START, "TraceStart" },
{ MTYPE_UE_CONTEXT_MODIFICATION_REQUEST, "UEContextModificationRequest" },
{ MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE, "UEContextModificationResponse" },
{ MTYPE_UE_CONTEXT_MODIFICATION_FAILURE, "UEContextModificationFailure" },
{ MTYPE_UE_CONTEXT_RELEASE_COMMAND, "UEContextReleaseCommand" },
{ MTYPE_UE_CONTEXT_RELEASE_COMPLETE, "UEContextReleaseComplete" },
{ MTYPE_UE_CONTEXT_RELEASE_REQUEST, "UEContextReleaseRequest" },
{ MTYPE_UE_CONTEXT_RESUME_REQUEST, "UEContextResumeRequest" },
{ MTYPE_UE_CONTEXT_RESUME_RESPONSE, "UEContextResumeResponse" },
{ MTYPE_UE_CONTEXT_RESUME_FAILURE, "UEContextResumeFailure" },
{ MTYPE_UE_CONTEXT_SUSPEND_REQUEST, "UEContextSuspendRequest" },
{ MTYPE_UE_CONTEXT_SUSPEND_RESPONSE, "UEContextSuspendResponse" },
{ MTYPE_UE_CONTEXT_SUSPEND_FAILURE, "UEContextSuspendFailure" },
{ MTYPE_UE_INFORMATION_TRANSFER, "UEInformationTransfer" },
{ MTYPE_UE_RADIO_CAPABILITY_CHECK_REQUEST, "UERadioCapabilityCheckRequest" },
{ MTYPE_UE_RADIO_CAPABILITY_CHECK_RESPONSE, "UERadioCapabilityCheckResponse" },
{ MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST, "UERadioCapabilityIDMappingRequest" },
{ MTYPE_UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE, "UERadioCapabilityIDMappingResponse" },
{ MTYPE_UE_RADIO_CAPABILITY_INFO_IND, "UERadioCapabilityInfoIndication" },
{ MTYPE_UE_TN_LAB_BINDING_RELEASE_REQUEST, "UETNLABindingReleaseRequest" },
{ MTYPE_UPLINK_NAS_TRANSPORT, "UplinkNASTransport" },
{ MTYPE_UPLINK_NON_UE_ASSOCIATED_NR_PPA_TRANSPORT, "UplinkNonUEAssociatedNRPPaTransport" },
{ MTYPE_UPLINK_RAN_CONFIGURATION_TRANSFER, "UplinkRANConfigurationTransfer" },
{ MTYPE_UPLINK_RAN_EARLY_STATUS_TRANSFER, "UplinkRANEarlyStatusTransfer" },
{ MTYPE_UPLINK_RAN_STATUS_TRANSFER, "UplinkRANStatusTransfer" },
{ MTYPE_UPLINK_UE_ASSOCIATED_NR_PPA_TRANSPORT, "UplinkUEAssociatedNRPPaTransport" },
{ MTYPE_WRITE_REPLACE_WARNING_REQUEST, "WriteReplaceWarningRequest" },
{ MTYPE_WRITE_REPLACE_WARNING_RESPONSE, "WriteReplaceWarningResponse" },
{ MTYPE_UPLINK_RIM_INFORMATION_TRANSFER, "UplinkRIMInformationTransfer" },
{ MTYPE_DOWNLINK_RIM_INFORMATION_TRANSFER, "DownlinkRIMInformationTransfer" },
{ 0, NULL }
};
typedef struct _ngap_ctx_t {
guint32 message_type;
guint32 ProcedureCode;
@ -229,6 +449,7 @@ struct ngap_private_data {
struct ngap_tai *tai;
guint32 ran_ue_ngap_id;
e212_number_type_t number_type;
struct ngap_tap_t *stats_tap;
};
enum {
@ -273,6 +494,17 @@ static dissector_table_t ngap_proc_sout_dissector_table;
static dissector_table_t ngap_proc_uout_dissector_table;
static dissector_table_t ngap_n2_ie_type_dissector_table;
static proto_tree *top_tree = NULL;
static void set_message_label(asn1_ctx_t *actx, int type)
{
const char *label = val_to_str_const(type, mtype_names, "Unknown");
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, label);
/* N.B. would like to be able to use actx->subTree.top_tree, but not easy to set.. */
proto_item_append_text(top_tree, " (%s)", label);
}
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
/* Currently not used
static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
@ -549,6 +781,33 @@ static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, p
}
static void
ngap_stats_tree_init(stats_tree *st)
{
st_node_packets = stats_tree_create_node(st, st_str_packets, 0, STAT_DT_INT, TRUE);
st_node_packet_types = stats_tree_create_pivot(st, st_str_packet_types, st_node_packets);
}
static tap_packet_status
ngap_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
epan_dissect_t* edt _U_ , const void* p)
{
const struct ngap_tap_t *pi = (const struct ngap_tap_t *) p;
tick_stat_node(st, st_str_packets, 0, FALSE);
stats_tree_tick_pivot(st, st_node_packet_types,
val_to_str(pi->ngap_mtype, mtype_names,
"Unknown packet type (%d)"));
return TAP_PACKET_REDRAW;
}
static void set_stats_message_type(packet_info *pinfo, int type)
{
struct ngap_private_data* priv_data = ngap_get_private_data(pinfo);
priv_data->stats_tap->ngap_mtype = type;
}
static int
dissect_ngap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
@ -557,6 +816,7 @@ dissect_ngap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
conversation_t *conversation;
struct ngap_private_data *ngap_data;
wmem_list_frame_t *prev_layer;
struct ngap_tap_t *ngap_info;
/* make entry in the Protocol column on summary display */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "NGAP");
@ -566,10 +826,20 @@ dissect_ngap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
col_clear_fence(pinfo->cinfo, COL_INFO);
col_clear(pinfo->cinfo, COL_INFO);
ngap_info = wmem_new(pinfo->pool, struct ngap_tap_t);
ngap_info->ngap_mtype = 0; /* unknown/invalid */
/* create the ngap protocol tree */
ngap_item = proto_tree_add_item(tree, proto_ngap, tvb, 0, -1, ENC_NA);
ngap_tree = proto_item_add_subtree(ngap_item, ett_ngap);
/* Store top-level tree */
top_tree = ngap_tree;
/* Add stats tap to private struct */
struct ngap_private_data *priv_data = ngap_get_private_data(pinfo);
priv_data->stats_tap = ngap_info;
ngap_data = ngap_get_private_data(pinfo);
conversation = find_or_create_conversation(pinfo);
ngap_data->ngap_conv = (struct ngap_conv_info *)conversation_get_proto_data(conversation, proto_ngap);
@ -586,7 +856,10 @@ dissect_ngap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
conversation_add_proto_data(conversation, proto_ngap, ngap_data->ngap_conv);
}
return dissect_NGAP_PDU_PDU(tvb, pinfo, ngap_tree, NULL);
dissect_NGAP_PDU_PDU(tvb, pinfo, ngap_tree, NULL);
tap_queue_packet(ngap_tap, pinfo, ngap_info);
return tvb_captured_length(tvb);
}
static gboolean
@ -767,6 +1040,9 @@ proto_reg_handoff_ngap(void)
if (SctpPort != 0) {
dissector_add_uint("sctp.port", SctpPort, ngap_handle);
}
stats_tree_register("ngap", "ngap", "NGAP", 0,
ngap_stats_tree_packet, ngap_stats_tree_init, NULL);
}
/*--- proto_register_ngap -------------------------------------------*/
@ -1118,6 +1394,8 @@ void proto_register_ngap(void) {
prefs_register_enum_preference(ngap_module, "dissect_lte_container_as", "Dissect LTE container as",
"Select whether LTE container should be dissected as NB-IOT or legacy LTE",
&ngap_dissect_lte_container_as, ngap_lte_container_vals, FALSE);
ngap_tap = register_tap("ngap");
}
/*

File diff suppressed because it is too large Load Diff

View File

@ -708,6 +708,7 @@ private slots:
void on_actionTelephonySMPPOperations_triggered();
void on_actionTelephonyUCPMessages_triggered();
void on_actionTelephonyF1APMessages_triggered();
void on_actionTelephonyNGAPMessages_triggered();
void on_actionTelephonySipFlows_triggered();
void on_actionBluetoothATT_Server_Attributes_triggered();

View File

@ -623,6 +623,7 @@
<addaction name="actionTelephonySMPPOperations"/>
<addaction name="actionTelephonyUCPMessages"/>
<addaction name="actionTelephonyF1APMessages"/>
<addaction name="actionTelephonyNGAPMessages"/>
</widget>
<widget class="QMenu" name="menuEdit">
<property name="title">
@ -1975,6 +1976,14 @@
<string>F1AP Messages</string>
</property>
</action>
<action name="actionTelephonyNGAPMessages">
<property name="text">
<string>NGAP</string>
</property>
<property name="toolTip">
<string>NGAP Messages</string>
</property>
</action>
<action name="actionAnalyzeDecodeAs">
<property name="text">
<string>Decode &amp;As…</string>

View File

@ -3602,6 +3602,11 @@ void MainWindow::on_actionTelephonyF1APMessages_triggered()
openStatisticsTreeDialog("f1ap");
}
void MainWindow::on_actionTelephonyNGAPMessages_triggered()
{
openStatisticsTreeDialog("ngap");
}
void MainWindow::on_actionTelephonySipFlows_triggered()
{
openTelephonyVoipCallsDialogSip();