F1AP stats

This commit is contained in:
Martin Mathieson 2021-07-23 09:43:05 +01:00
parent 272ed7a05a
commit aaf79b62d7
6 changed files with 1145 additions and 363 deletions

View File

@ -1264,6 +1264,7 @@ PositioningInformationUpdate N f1ap.proc.imsg id-PositioningInformat
case id_InitialULRRCMessageTransfer:
col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
col_set_fence(actx->pinfo->cinfo, COL_INFO);
call_dissector(nr_rrc_ul_ccch_handle, param_tvb, actx->pinfo, subtree);
break;
case id_ULRRCMessageTransfer:
@ -1273,6 +1274,7 @@ PositioningInformationUpdate N f1ap.proc.imsg id-PositioningInformat
case 3:
col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
col_set_fence(actx->pinfo->cinfo, COL_INFO);
add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_UPLINK, f1ap_data->srb_id);
call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree);
break;
@ -1286,6 +1288,7 @@ PositioningInformationUpdate N f1ap.proc.imsg id-PositioningInformat
case 0:
col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
col_set_fence(actx->pinfo->cinfo, COL_INFO);
call_dissector(nr_rrc_dl_ccch_handle, param_tvb, actx->pinfo, subtree);
break;
case 1:
@ -1293,6 +1296,7 @@ PositioningInformationUpdate N f1ap.proc.imsg id-PositioningInformat
case 3:
col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
col_set_fence(actx->pinfo->cinfo, COL_INFO);
add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, f1ap_data->srb_id);
call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree);
break;
@ -1321,6 +1325,7 @@ PositioningInformationUpdate N f1ap.proc.imsg id-PositioningInformat
subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RRCContainer_RRCSetupComplete);
col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
col_set_fence(actx->pinfo->cinfo, COL_INFO);
call_dissector(nr_rrc_ul_dcch_handle, param_tvb, actx->pinfo, subtree);
}
@ -1952,253 +1957,350 @@ Periodicity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds
}
#.FN_HDR Reset
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
set_message_label(actx, MTYPE_RESET);
set_stats_message_type(actx->pinfo, MTYPE_RESET);
#.FN_HDR ResetAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
set_message_label(actx, MTYPE_RESET_ACK);
set_stats_message_type(actx->pinfo, MTYPE_RESET_ACK);
#.FN_HDR F1SetupRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupRequest");
set_message_label(actx, MTYPE_F1_SETUP_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_F1_SETUP_REQUEST);
#.FN_HDR F1SetupResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupResponse");
set_message_label(actx, MTYPE_F1_SETUP_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_F1_SETUP_RESPONSE);
#.FN_HDR F1SetupFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupFailure");
set_message_label(actx, MTYPE_F1_SETUP_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_F1_SETUP_FAILURE);
#.FN_HDR GNBDUConfigurationUpdate
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdate");
set_message_label(actx, MTYPE_GNB_DU_CONFIGURATION_UPDATE);
set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_CONFIGURATION_UPDATE);
#.FN_HDR GNBDUConfigurationUpdateAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdateAcknowledge");
set_message_label(actx, MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
#.FN_HDR GNBDUConfigurationUpdateFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdateFailure");
set_message_label(actx, MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE);
#.FN_HDR GNBCUConfigurationUpdate
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdate");
set_message_label(actx, MTYPE_GNB_CU_CONFIGURATION_UPDATE);
set_stats_message_type(actx->pinfo, MTYPE_GNB_CU_CONFIGURATION_UPDATE);
#.FN_HDR GNBCUConfigurationUpdateAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdateAcknowledge");
set_message_label(actx, MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
set_stats_message_type(actx->pinfo, MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
#.FN_HDR GNBCUConfigurationUpdateFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdateFailure");
set_message_label(actx, MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE);
#.FN_HDR UEContextSetupRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupRequest");
set_message_label(actx, MTYPE_UE_CONTEXT_SETUP_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SETUP_REQUEST);
#.FN_HDR UEContextSetupResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupResponse");
set_message_label(actx, MTYPE_UE_CONTEXT_SETUP_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SETUP_RESPONSE);
#.FN_HDR UEContextSetupFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupFailure");
set_message_label(actx, MTYPE_UE_CONTEXT_SETUP_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SETUP_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 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 UEContextModificationRequired
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequired");
set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED);
#.FN_HDR UEContextModificationConfirm
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm");
set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM);
#.FN_HDR UEContextModificationRefuse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRefuse");
set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REFUSE);
set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REFUSE);
#.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 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 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 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 InitialULRRCMessageTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialULRRCMessageTransfer");
set_message_label(actx, MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER);
#.FN_HDR DLRRCMessageTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLRRCMessageTransfer");
set_message_label(actx, MTYPE_DL_RRC_MESSAGE_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_DL_RRC_MESSAGE_TRANSFER);
#.FN_HDR ULRRCMessageTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULRRCMessageTransfer");
set_message_label(actx, MTYPE_UL_RRC_MESSAGE_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_UL_RRC_MESSAGE_TRANSFER);
#.FN_HDR UEInactivityNotification
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInactivityNotification");
set_message_label(actx, MTYPE_UE_INACTIVITY_NOTIFICATION);
set_stats_message_type(actx->pinfo, MTYPE_UE_INACTIVITY_NOTIFICATION);
#.FN_HDR GNBDUResourceCoordinationRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceCoordinationRequest");
set_message_label(actx, MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST);
#.FN_HDR GNBDUResourceCoordinationResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceCoordinationResponse");
set_message_label(actx, MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_COORDINATION_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 SystemInformationDeliveryCommand
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationDeliveryCommand");
set_message_label(actx, MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND);
set_stats_message_type(actx->pinfo, MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND);
#.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 Notify
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Notify");
set_message_label(actx, MTYPE_NOTIFY);
set_stats_message_type(actx->pinfo, MTYPE_NOTIFY);
#.FN_HDR NetworkAccessRateReduction
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NetworkAccessRateReduction");
set_message_label(actx, MTYPE_NETWORK_ACCESS_RATE_REDUCTION);
set_stats_message_type(actx->pinfo, MTYPE_NETWORK_ACCESS_RATE_REDUCTION);
#.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 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 GNBDUStatusIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUStatusIndication");
set_message_label(actx, MTYPE_GNB_DU_STATUS_INDICATION);
set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_STATUS_INDICATION);
#.FN_HDR RRCDeliveryReport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCDeliveryReport");
set_message_label(actx, MTYPE_RRC_DELIVERY_REPORT);
set_stats_message_type(actx->pinfo, MTYPE_RRC_DELIVERY_REPORT);
#.END
#.FN_HDR F1RemovalRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1RemovalRequest");
set_message_label(actx, MTYPE_F1_REMOVAL_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_F1_REMOVAL_REQUEST);
#.END
#.FN_HDR F1RemovalResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1RemovalResponse");
set_message_label(actx, MTYPE_F1_REMOVAL_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_F1_REMOVAL_RESPONSE);
#.END
#.FN_HDR F1RemovalFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1RemovalFailure");
set_message_label(actx, MTYPE_F1_REMOVAL_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_F1_REMOVAL_FAILURE);
#.END
#.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);
#.END
#.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);
#.END
#.FN_HDR DUCURadioInformationTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DUCURadioInformationTransfer");
set_message_label(actx, MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER);
#.END
#.FN_HDR CUDURadioInformationTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CUDURadioInformationTransfer");
set_message_label(actx, MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER);
set_stats_message_type(actx->pinfo, MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER);
#.END
#.FN_HDR BAPMappingConfiguration
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BAPMappingConfiguration");
set_message_label(actx, MTYPE_BAP_MAPPING_CONFIGURATION);
set_stats_message_type(actx->pinfo, MTYPE_BAP_MAPPING_CONFIGURATION);
#.END
#.FN_HDR BAPMappingConfigurationAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BAPMappingConfigurationAcknowledge");
set_message_label(actx, MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE);
set_stats_message_type(actx->pinfo, MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE);
#.END
#.FN_HDR BAPMappingConfigurationFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BAPMappingConfigurationFailure");
set_message_label(actx, MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE);
#.END
#.FN_HDR GNBDUResourceConfiguration
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceConfiguration");
set_message_label(actx, MTYPE_GNB_DU_RESOURCE_CONFIGURATION);
set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_CONFIGURATION);
#.END
#.FN_HDR GNBDUResourceConfigurationAcknowledge
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceConfigurationAcknowledge");
set_message_label(actx, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE);
set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE);
#.END
#.FN_HDR GNBDUResourceConfigurationFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUResourceConfigurationFailure");
set_message_label(actx, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE);
#.END
#.FN_HDR IABTNLAddressRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTNLAddressRequest");
set_message_label(actx, MTYPE_IAB_TNL_ADDRESS_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_IAB_TNL_ADDRESS_REQUEST);
#.END
#.FN_HDR IABTNLAddressResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTNLAddressResponse");
set_message_label(actx, MTYPE_IAB_TNL_ADDRESS_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_IAB_TNL_ADDRESS_RESPONSE);
#.END
#.FN_HDR IABTNLAddressFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABTNLAddressFailure");
set_message_label(actx, MTYPE_IAB_TNL_ADDRESS_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_IAB_TNL_ADDRESS_FAILURE);
#.END
#.FN_HDR IABUPConfigurationUpdateRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABUPConfigurationUpdateRequest");
set_message_label(actx, MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST);
#.END
#.FN_HDR IABUPConfigurationUpdateResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABUPConfigurationUpdateResponse");
set_message_label(actx, MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE);
#.END
#.FN_HDR IABUPConfigurationUpdateFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IABUPConfigurationUpdateFailure");
set_message_label(actx, MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE);
#.END
#.FN_HDR ResourceStatusRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest");
set_message_label(actx, MTYPE_RESOURCE_STATUS_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_REQUEST);
#.END
#.FN_HDR ResourceStatusResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse");
set_message_label(actx, MTYPE_RESOURCE_STATUS_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_RESPONSE);
#.END
#.FN_HDR ResourceStatusFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure");
set_message_label(actx, MTYPE_RESOURCE_STATUS_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_FAILURE);
#.END
#.FN_HDR ResourceStatusUpdate
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate");
set_message_label(actx, MTYPE_RESOURCE_STATUS_UPDATE);
set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_UPDATE);
#.END
#.FN_HDR AccessAndMobilityIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AccessAndMobilityIndication");
set_message_label(actx, MTYPE_ACCESS_AND_MOBILITY_INDICATION);
set_stats_message_type(actx->pinfo, MTYPE_ACCESS_AND_MOBILITY_INDICATION);
#.END
#.FN_HDR ReferenceTimeInformationReportingControl
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ReferenceTimeInformationReportingControl");
set_message_label(actx, MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL);
set_stats_message_type(actx->pinfo, MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL);
#.END
#.FN_HDR ReferenceTimeInformationReport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ReferenceTimeInformationReport");
set_message_label(actx, MTYPE_REFERENCE_TIME_INFORMATION_REPORT);
set_stats_message_type(actx->pinfo, MTYPE_REFERENCE_TIME_INFORMATION_REPORT);
#.END
#.FN_HDR AccessSuccess
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AccessSuccess");
set_message_label(actx, MTYPE_ACCESS_SUCCESS);
set_stats_message_type(actx->pinfo, MTYPE_ACCESS_SUCCESS);
#.END
#.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);
#.END
#.FN_HDR PositioningAssistanceInformationControl
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningAssistanceInformationControl");
set_message_label(actx, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL);
#.END
#.FN_HDR PositioningAssistanceInformationFeedback
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningAssistanceInformationFeedback");
set_message_label(actx, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK);
#.END
#.FN_HDR PositioningMeasurementRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningMeasurementRequest");
set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_REQUEST);
#.END
#.FN_HDR PositioningMeasurementResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningMeasurementResponse");
set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_RESPONSE);
#.END
#.FN_HDR PositioningMeasurementFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningMeasurementFailure");
set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_FAILURE);
#.END
#.FN_HDR PositioningMeasurementReport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningMeasurementReport");
set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_REPORT);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_REPORT);
#.END
#.FN_HDR PositioningMeasurementAbort
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningMeasurementAbort");
set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_ABORT);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_ABORT);
#.END
#.FN_HDR PositioningMeasurementFailureIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningMeasurementFailureIndication");
set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION);
#.END
#.FN_HDR PositioningMeasurementUpdate
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningMeasurementUpdate");
set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_UPDATE);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_UPDATE);
#.END
#.FN_HDR TRPInformationRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TRPInformationRequest");
set_message_label(actx, MTYPE_TRP_INFORMATION_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_TRP_INFORMATION_REQUEST);
#.END
#.FN_HDR TRPInformationResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TRPInformationResponse");
set_message_label(actx, MTYPE_TRP_INFORMATION_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_TRP_INFORMATION_RESPONSE);
#.END
#.FN_HDR TRPInformationFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TRPInformationFailure");
set_message_label(actx, MTYPE_TRP_INFORMATION_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_TRP_INFORMATION_FAILURE);
#.END
#.FN_HDR PositioningInformationRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningInformationRequest");
set_message_label(actx, MTYPE_POSITIONING_INFORMATION_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_REQUEST);
#.END
#.FN_HDR PositioningInformationResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningInformationResponse");
set_message_label(actx, MTYPE_POSITIONING_INFORMATION_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_RESPONSE);
#.END
#.FN_HDR PositioningInformationFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningInformationFailure");
set_message_label(actx, MTYPE_POSITIONING_INFORMATION_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_FAILURE);
#.END
#.FN_HDR PositioningActivationRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningActivationRequest");
set_message_label(actx, MTYPE_POSITIONING_ACTIVATION_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ACTIVATION_REQUEST);
#.END
#.FN_HDR PositioningActivationResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningActivationResponse");
set_message_label(actx, MTYPE_POSITIONING_ACTIVATION_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ACTIVATION_RESPONSE);
#.END
#.FN_HDR PositioningActivationFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningActivationFailure");
set_message_label(actx, MTYPE_POSITIONING_ACTIVATION_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ACTIVATION_FAILURE);
#.END
#.FN_HDR PositioningDeactivation
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningDeactivation");
set_message_label(actx, MTYPE_POSITIONING_DEACTIVATION);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_DEACTIVATION);
#.END
#.FN_HDR E-CIDMeasurementInitiationRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-CIDMeasurementInitiationRequest");
set_message_label(actx, MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST);
set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST);
#.END
#.FN_HDR E-CIDMeasurementInitiationResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-CIDMeasurementInitiationResponse");
set_message_label(actx, MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE);
set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE);
#.END
#.FN_HDR E-CIDMeasurementInitiationFailure
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-CIDMeasurementInitiationFailure");
set_message_label(actx, MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE);
set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE);
#.END
#.FN_HDR E-CIDMeasurementFailureIndication
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-CIDMeasurementFailureIndication");
set_message_label(actx, MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION);
set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION);
#.END
#.FN_HDR E-CIDMeasurementReport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-CIDMeasurementReport");
set_message_label(actx, MTYPE_E_CID_MEASUREMENT_REPORT);
set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_REPORT);
#.END
#.FN_HDR E-CIDMeasurementTerminationCommand
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-CIDMeasurementTerminationCommand");
set_message_label(actx, MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND);
set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND);
#.END
#.FN_HDR PositioningInformationUpdate
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PositioningInformationUpdate");
set_message_label(actx, MTYPE_POSITIONING_INFORMATION_UPDATE);
set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_UPDATE);
#.END
#

View File

@ -18,6 +18,7 @@
#include <epan/asn1.h>
#include <epan/sctpppids.h>
#include <epan/proto_data.h>
#include <epan/stats_tree.h>
#include "packet-per.h"
#include "packet-f1ap.h"
@ -133,6 +134,225 @@ enum{
UNSUCCESSFUL_OUTCOME
};
/* F1AP 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 = "F1AP Packet Types";
static int st_node_packets = -1;
static int st_node_packet_types = -1;
static int f1ap_tap = -1;
struct f1ap_tap_t {
gint f1ap_mtype;
};
#define MTYPE_RESET 1
#define MTYPE_RESET_ACK 2
#define MTYPE_F1_SETUP_REQUEST 3
#define MTYPE_F1_SETUP_RESPONSE 4
#define MTYPE_F1_SETUP_FAILURE 5
#define MTYPE_GNB_DU_CONFIGURATION_UPDATE 6
#define MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE 7
#define MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE 8
#define MTYPE_GNB_CU_CONFIGURATION_UPDATE 9
#define MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE 10
#define MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE 11
#define MTYPE_UE_CONTEXT_SETUP_REQUEST 12
#define MTYPE_UE_CONTEXT_SETUP_RESPONSE 13
#define MTYPE_UE_CONTEXT_SETUP_FAILURE 14
#define MTYPE_UE_CONTEXT_RELEASE_COMMAND 15
#define MTYPE_UE_CONTEXT_RELEASE_COMPLETE 16
#define MTYPE_UE_CONTEXT_MODIFICATION_REQUEST 17
#define MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE 18
#define MTYPE_UE_CONTEXT_MODIFICATION_FAILURE 19
#define MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED 20
#define MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM 21
#define MTYPE_UE_CONTEXT_MODIFICATION_REFUSE 22
#define MTYPE_WRITE_REPLACE_WARNING_REQUEST 23
#define MTYPE_WRITE_REPLACE_WARNING_RESPONSE 24
#define MTYPE_PWS_CANCEL_REQUEST 25
#define MTYPE_PWS_CANCEL_RESPONSE 25
#define MTYPE_ERROR_INDICATION 26
#define MTYPE_UE_CONTEXT_RELEASE_REQUEST 27
#define MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER 28
#define MTYPE_DL_RRC_MESSAGE_TRANSFER 29
#define MTYPE_UL_RRC_MESSAGE_TRANSFER 30
#define MTYPE_UE_INACTIVITY_NOTIFICATION 31
#define MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST 32
#define MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE 33
#define MTYPE_PRIVATE_MESSAGE 34
#define MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND 35
#define MTYPE_PAGING 36
#define MTYPE_NOTIFY 37
#define MTYPE_NETWORK_ACCESS_RATE_REDUCTION 38
#define MTYPE_PWS_RESTART_INDICATION 39
#define MTYPE_PWS_FAILURE_INDICATION 40
#define MTYPE_GNB_DU_STATUS_INDICATION 41
#define MTYPE_RRC_DELIVERY_REPORT 42
#define MTYPE_F1_REMOVAL_REQUEST 43
#define MTYPE_F1_REMOVAL_RESPONSE 44
#define MTYPE_F1_REMOVAL_FAILURE 45
#define MTYPE_TRACE_START 46
#define MTYPE_DEACTIVATE_TRACE 47
#define MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER 48
#define MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER 49
#define MTYPE_BAP_MAPPING_CONFIGURATION 50
#define MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE 51
#define MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE 52
#define MTYPE_GNB_DU_RESOURCE_CONFIGURATION 53
#define MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE 54
#define MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE 55
#define MTYPE_IAB_TNL_ADDRESS_REQUEST 56
#define MTYPE_IAB_TNL_ADDRESS_RESPONSE 57
#define MTYPE_IAB_TNL_ADDRESS_FAILURE 58
#define MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST 59
#define MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE 60
#define MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE 61
#define MTYPE_RESOURCE_STATUS_REQUEST 62
#define MTYPE_RESOURCE_STATUS_RESPONSE 63
#define MTYPE_RESOURCE_STATUS_FAILURE 64
#define MTYPE_RESOURCE_STATUS_UPDATE 65
#define MTYPE_ACCESS_AND_MOBILITY_INDICATION 66
#define MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL 67
#define MTYPE_REFERENCE_TIME_INFORMATION_REPORT 68
#define MTYPE_ACCESS_SUCCESS 69
#define MTYPE_CELL_TRAFFIC_TRACE 70
#define MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL 71
#define MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK 72
#define MTYPE_POSITIONING_MEASUREMENT_REQUEST 73
#define MTYPE_POSITIONING_MEASUREMENT_RESPONSE 74
#define MTYPE_POSITIONING_MEASUREMENT_FAILURE 75
#define MTYPE_POSITIONING_MEASUREMENT_REPORT 76
#define MTYPE_POSITIONING_MEASUREMENT_ABORT 77
#define MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION 78
#define MTYPE_POSITIONING_MEASUREMENT_UPDATE 79
#define MTYPE_TRP_INFORMATION_REQUEST 80
#define MTYPE_TRP_INFORMATION_RESPONSE 81
#define MTYPE_TRP_INFORMATION_FAILURE 82
#define MTYPE_POSITIONING_INFORMATION_REQUEST 83
#define MTYPE_POSITIONING_INFORMATION_RESPONSE 84
#define MTYPE_POSITIONING_INFORMATION_FAILURE 85
#define MTYPE_POSITIONING_ACTIVATION_REQUEST 86
#define MTYPE_POSITIONING_ACTIVATION_RESPONSE 87
#define MTYPE_POSITIONING_ACTIVATION_FAILURE 88
#define MTYPE_POSITIONING_DEACTIVATION 89
#define MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST 90
#define MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE 91
#define MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE 92
#define MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION 93
#define MTYPE_E_CID_MEASUREMENT_REPORT 94
#define MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND 95
#define MTYPE_POSITIONING_INFORMATION_UPDATE 96
/* Value Strings. TODO: ext? */
static const value_string mtype_names[] = {
{ MTYPE_RESET, "Reset" },
{ MTYPE_RESET_ACK, "ResetAcknowledge" },
{ MTYPE_F1_SETUP_REQUEST, "F1SetupRequest" },
{ MTYPE_F1_SETUP_RESPONSE, "F1SetupResponse" },
{ MTYPE_F1_SETUP_FAILURE, "F1SetupFailure" },
{ MTYPE_GNB_DU_CONFIGURATION_UPDATE, "GNBDUConfigurationUpdate" },
{ MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE, "GNBDUConfigurationUpdateAcknowledge" },
{ MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE, "GNBDUConfigurationUpdateFailure" },
{ MTYPE_GNB_CU_CONFIGURATION_UPDATE, "GNBCUConfigurationUpdate" },
{ MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE, "GNBCUConfigurationUpdateAcknowledge" },
{ MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE, "GNBCUConfigurationUpdateFailure" },
{ MTYPE_UE_CONTEXT_SETUP_REQUEST, "UEContextSetupRequest" },
{ MTYPE_UE_CONTEXT_SETUP_RESPONSE, "UEContextSetupResponse" },
{ MTYPE_UE_CONTEXT_SETUP_FAILURE, "UEContextSetupFailure" },
{ MTYPE_UE_CONTEXT_RELEASE_COMMAND, "UEContextReleaseCommand"},
{ MTYPE_UE_CONTEXT_RELEASE_COMPLETE, "UEContextReleaseComplete"},
{ MTYPE_UE_CONTEXT_MODIFICATION_REQUEST, "UEContextModificationRequest" },
{ MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE, "UEContextModificationResponse" },
{ MTYPE_UE_CONTEXT_MODIFICATION_FAILURE, "UEContextModificationFailure" },
{ MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED, "UEContextModificationRequired" },
{ MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM, "UEContextModificationConfirm" },
{ MTYPE_UE_CONTEXT_MODIFICATION_REFUSE, "UEContextModificationRefuse" },
{ MTYPE_WRITE_REPLACE_WARNING_REQUEST, "WriteReplaceWarningRequest" },
{ MTYPE_WRITE_REPLACE_WARNING_RESPONSE, "WriteReplaceWarningResponse" },
{ MTYPE_PWS_CANCEL_REQUEST, "PWSCancelRequest" },
{ MTYPE_PWS_CANCEL_RESPONSE, "PWSCancelResponse" },
{ MTYPE_ERROR_INDICATION, "ErrorIndication" },
{ MTYPE_UE_CONTEXT_RELEASE_REQUEST, "UEContextReleaseRequest" },
{ MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER, "InitialULRRCMessageTransfer" },
{ MTYPE_DL_RRC_MESSAGE_TRANSFER, "DLRRCMessageTransfer" },
{ MTYPE_UL_RRC_MESSAGE_TRANSFER, "ULRRCMessageTransfer" },
{ MTYPE_UE_INACTIVITY_NOTIFICATION, "UEInactivityNotification" },
{ MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST, "GNBDUResourceCoordinationRequest" },
{ MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE, "GNBDUResourceCoordinationResponse" },
{ MTYPE_PRIVATE_MESSAGE, "PrivateMessage" },
{ MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND, "SystemInformationDeliveryCommand" },
{ MTYPE_PAGING, "Paging" },
{ MTYPE_NOTIFY, "Notify" },
{ MTYPE_NETWORK_ACCESS_RATE_REDUCTION, "NetworkAccessRateReduction" },
{ MTYPE_PWS_RESTART_INDICATION, "PWSRestartIndication" },
{ MTYPE_PWS_FAILURE_INDICATION, "PWSFailureIndication" },
{ MTYPE_GNB_DU_STATUS_INDICATION, "GNBDUStatusIndication" },
{ MTYPE_RRC_DELIVERY_REPORT, "RRCDeliveryReport" },
{ MTYPE_F1_REMOVAL_REQUEST, "F1RemovalRequest" },
{ MTYPE_F1_REMOVAL_RESPONSE, "F1RemovalResponse" },
{ MTYPE_F1_REMOVAL_FAILURE, "F1RemovalFailure" },
{ MTYPE_TRACE_START, "TraceStart" },
{ MTYPE_DEACTIVATE_TRACE, "DeactivateTrace" },
{ MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER, "DUCURadioInformationTransfer" },
{ MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER, "CUDURadioInformationTransfer" },
{ MTYPE_BAP_MAPPING_CONFIGURATION, "BAPMappingConfiguration" },
{ MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE, "BAPMappingConfigurationAcknowledge" },
{ MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE, "BAPMappingConfigurationFailure" },
{ MTYPE_GNB_DU_RESOURCE_CONFIGURATION, "GNBDUResourceConfiguration" },
{ MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE, "GNBDUResourceConfigurationAcknowledge" },
{ MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE, "GNBDUResourceConfigurationFailure" },
{ MTYPE_IAB_TNL_ADDRESS_REQUEST, "IABTNLAddressRequest" },
{ MTYPE_IAB_TNL_ADDRESS_RESPONSE, "IABTNLAddressResponse" },
{ MTYPE_IAB_TNL_ADDRESS_FAILURE, "IABTNLAddressFailure" },
{ MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST, "IABUPConfigurationUpdateRequest" },
{ MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE, "IABUPConfigurationUpdateResponse" },
{ MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE, "IABUPConfigurationUpdateFailure" },
{ MTYPE_RESOURCE_STATUS_REQUEST, "ResourceStatusRequest" },
{ MTYPE_RESOURCE_STATUS_RESPONSE, "ResourceStatusResponse" },
{ MTYPE_RESOURCE_STATUS_FAILURE, "ResourceStatusFailure" },
{ MTYPE_RESOURCE_STATUS_UPDATE, "ResourceStatusUpdate" },
{ MTYPE_ACCESS_AND_MOBILITY_INDICATION, "AccessAndMobilityIndication" },
{ MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL, "ReferenceTimeInformationReportingControl" },
{ MTYPE_REFERENCE_TIME_INFORMATION_REPORT, "ReferenceTimeInformationReport" },
{ MTYPE_ACCESS_SUCCESS, "AccessSuccess" },
{ MTYPE_CELL_TRAFFIC_TRACE, "CellTrafficTrace" },
{ MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL, "PositioningAssistanceInformationControl" },
{ MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK, "PositioningAssistanceInformationFeedback" },
{ MTYPE_POSITIONING_MEASUREMENT_REQUEST, "PositioningMeasurementRequest" },
{ MTYPE_POSITIONING_MEASUREMENT_RESPONSE, "PositioningMeasurementResponse" },
{ MTYPE_POSITIONING_MEASUREMENT_FAILURE, "PositioningMeasurementFailure" },
{ MTYPE_POSITIONING_MEASUREMENT_REPORT, "PositioningMeasurementReport" },
{ MTYPE_POSITIONING_MEASUREMENT_ABORT, "PositioningMeasurementAbort" },
{ MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION, "PositioningMeasurementFailureIndication" },
{ MTYPE_POSITIONING_MEASUREMENT_UPDATE, "PositioningMeasurementUpdate" },
{ MTYPE_TRP_INFORMATION_REQUEST, "TRPInformationRequest" },
{ MTYPE_TRP_INFORMATION_RESPONSE, "TRPInformationResponse" },
{ MTYPE_TRP_INFORMATION_FAILURE, "TRPInformationFailure" },
{ MTYPE_POSITIONING_INFORMATION_REQUEST, "PositioningInformationRequest" },
{ MTYPE_POSITIONING_INFORMATION_RESPONSE, "PositioningInformationResponse" },
{ MTYPE_POSITIONING_INFORMATION_FAILURE, "PositioningInformationFailure" },
{ MTYPE_POSITIONING_ACTIVATION_REQUEST, "PositioningActivationRequest" },
{ MTYPE_POSITIONING_ACTIVATION_RESPONSE, "PositioningActivationResponse" },
{ MTYPE_POSITIONING_ACTIVATION_FAILURE, "PositioningActivationFailure" },
{ MTYPE_POSITIONING_DEACTIVATION, "PositioningDeactivation" },
{ MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST, "E-CIDMeasurementInitiationRequest" },
{ MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE, "E-CIDMeasurementInitiationResponse" },
{ MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE, "E-CIDMeasurementInitiationFailure" },
{ MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION, "E-CIDMeasurementFailureIndication" },
{ MTYPE_E_CID_MEASUREMENT_REPORT, "E-CIDMeasurementReport" },
{ MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND, "E-CIDMeasurementTerminationCommand" },
{ MTYPE_POSITIONING_INFORMATION_UPDATE, "PositioningInformationUpdate" },
{ 0, NULL }
};
typedef struct {
guint32 message_type;
guint32 procedure_code;
@ -142,6 +362,7 @@ typedef struct {
guint32 sib_type;
guint32 srb_id;
e212_number_type_t number_type;
struct f1ap_tap_t *stats_tap;
} f1ap_private_data_t;
typedef struct {
@ -177,6 +398,19 @@ static const true_false_string f1ap_tfs_interfacesToTrace = {
"Should not be traced"
};
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, "Unknkown");
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 void
f1ap_MaxPacketLossRate_fmt(gchar *s, guint32 v)
{
@ -277,21 +511,62 @@ static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, p
}
static void
f1ap_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
f1ap_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
epan_dissect_t* edt _U_ , const void* p)
{
const struct f1ap_tap_t *pi = (const struct f1ap_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->f1ap_mtype, mtype_names,
"Unknown packet type (%d)"));
return TAP_PACKET_REDRAW;
}
static void set_stats_message_type(packet_info *pinfo, int type)
{
f1ap_private_data_t* priv_data = f1ap_get_private_data(pinfo);
priv_data->stats_tap->f1ap_mtype = type;
}
static int
dissect_f1ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
proto_item *f1ap_item = NULL;
proto_tree *f1ap_tree = NULL;
struct f1ap_tap_t *f1ap_info;
/* make entry in the Protocol column on summary display */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "F1AP");
col_clear(pinfo->cinfo, COL_INFO);
f1ap_info = wmem_new(pinfo->pool, struct f1ap_tap_t);
f1ap_info->f1ap_mtype = 0; /* unknown/invalid */
/* create the f1ap protocol tree */
f1ap_item = proto_tree_add_item(tree, proto_f1ap, tvb, 0, -1, ENC_NA);
f1ap_tree = proto_item_add_subtree(f1ap_item, ett_f1ap);
/* Store top-level tree */
top_tree = f1ap_tree;
/* Add stats tap to private struct */
f1ap_private_data_t *priv_data = f1ap_get_private_data(pinfo);
priv_data->stats_tap = f1ap_info;
dissect_F1AP_PDU_PDU(tvb, pinfo, f1ap_tree, NULL);
tap_queue_packet(f1ap_tap, pinfo, f1ap_info);
return tvb_captured_length(tvb);
}
@ -475,6 +750,8 @@ void proto_register_f1ap(void) {
f1ap_proc_imsg_dissector_table = register_dissector_table("f1ap.proc.imsg", "F1AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_f1ap, FT_UINT32, BASE_DEC);
f1ap_proc_sout_dissector_table = register_dissector_table("f1ap.proc.sout", "F1AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_f1ap, FT_UINT32, BASE_DEC);
f1ap_proc_uout_dissector_table = register_dissector_table("f1ap.proc.uout", "F1AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_f1ap, FT_UINT32, BASE_DEC);
f1ap_tap = register_tap("f1ap");
}
void
@ -487,6 +764,10 @@ proto_reg_handoff_f1ap(void)
nr_rrc_ul_dcch_handle = find_dissector_add_dependency("nr-rrc.ul.dcch", proto_f1ap);
nr_pdcp_handle = find_dissector_add_dependency("pdcp-nr", proto_f1ap);
lte_rrc_conn_reconf_handle = find_dissector_add_dependency("lte-rrc.rrc_conn_reconf", proto_f1ap);
stats_tree_register("f1ap", "f1ap", "F1AP", 0,
f1ap_stats_tree_packet, f1ap_stats_tree_init, NULL);
#include "packet-f1ap-dis-tab.c"
}

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -622,6 +622,7 @@
<addaction name="menuTelephonySCTP"/>
<addaction name="actionTelephonySMPPOperations"/>
<addaction name="actionTelephonyUCPMessages"/>
<addaction name="actionTelephonyF1APMessages"/>
</widget>
<widget class="QMenu" name="menuEdit">
<property name="title">
@ -1966,6 +1967,14 @@
<string>UCP message statistics</string>
</property>
</action>
<action name="actionTelephonyF1APMessages">
<property name="text">
<string>F1AP</string>
</property>
<property name="toolTip">
<string>F1AP Messages</string>
</property>
</action>
<action name="actionAnalyzeDecodeAs">
<property name="text">
<string>Decode &amp;As…</string>

View File

@ -3213,6 +3213,7 @@ void MainWindow::on_actionStatisticsANCP_triggered()
openStatisticsTreeDialog("ancp");
}
void MainWindow::on_actionStatisticsBACappInstanceId_triggered()
{
openStatisticsTreeDialog("bacapp_instanceid");
@ -3555,6 +3556,11 @@ void MainWindow::on_actionTelephonyUCPMessages_triggered()
openStatisticsTreeDialog("ucp_messages");
}
void MainWindow::on_actionTelephonyF1APMessages_triggered()
{
openStatisticsTreeDialog("f1ap");
}
void MainWindow::on_actionTelephonySipFlows_triggered()
{
openTelephonyVoipCallsDialogSip();