Decoding error ITS CPM version 2.1.1
## Summary Decoding a CPM (version 2.1.1, ETSI TS 103 324) sent from a Keysight WaveBee Plus fails. There seems to be a difference between the ASN.1 files used. If you compare the ASN.1 files used by Wireshark with the original as published by ETSI, you will find manual adjustments made by Wireshark. This may be the reason for the incompatibility. See for example - https://gitlab.com/wireshark/wireshark/-/blob/master/epan/dissectors/asn1/its/CPM-PDU-Descriptions.asn#L22-40 - https://gitlab.com/wireshark/wireshark/-/blob/master/epan/dissectors/asn1/its/CPM-PDU-Descriptions.asn#L95-100 Btw. I did not check the underlying CDD Release 2 ASN.1 files for changes. ## Sample capture file [cpm_capture_with_ethernet_header.pcap](/uploads/a28db93613a053dca7e2b6e90158e55d/cpm_capture_with_ethernet_header.pcap) ![grafik](/uploads/8709bad5aab5741ff400f1ebe5b0b5ee/grafik.png) ## Steps to reproduce Load the provided pcap file into Wireshark. ## What is the current bug behavior? Decoding of CPM message fails. ## What is the expected correct behavior? Correct encoded CPM message. E.g. decoded message looks like this (first message in pcap file): ``` cpm: header: protocol_version: value: 2 message_id: value: 14 station_id: value: 145140961 payload: management_container: reference_time: value: 61.984000 reference_position: latitude: available: 1 value: 52.310795 longitude: available: 1 value: 10.537850 position_confidence_ellipse: semi_major_confidence: available: 0 value: 0.000000 semi_minor_confidence: available: 0 value: 0.000000 semi_major_orientation: available: 0 value: 0.000000 altitude: altitude_value: available: 0 value: 0.000000 altitude_confidence: 15 cpm_containers: originating_container_type: 1 originating_container.originating_rsu_container: map_reference: map_reference_type: 1 map_reference.intersection: id: value: 1 perceived_object_container: number_of_perceived_objects: value: 5 perceived_objects[0]: perceived_object: object_id: value: 52 measurement_delta_time: value: -0.232000 position: x_coordinate: value: value: 14.990000 confidence: available: 0 value: 0.000000 y_coordinate: value: value: -3.750000 confidence: available: 0 value: 0.000000 z_coordinate: value: value: 0.000000 confidence: available: 0 value: 0.000000 velocity: velocity_3d_with_confidence_type: 1 velocity_3d_with_confidence.cartesian_velocity: x_velocity: value: available: 1 value: -10.040000 confidence: available: 0 value: 0.000000 y_velocity: value: available: 1 value: -0.400000 confidence: available: 0 value: 0.000000 angles: z_angle: value: available: 1 value: 182.300000 confidence: available: 0 value: 0.000000 object_dimension_y: value: available: 1 value: 4.600000 confidence: available: 0 value: 0.000000 object_dimension_x: value: available: 1 value: 1.800000 confidence: available: 0 value: 0.000000 object_age: value: 0.001000 object_perception_quality: value: 9 sensor_id_list[0]: identifier_1b: value: 1 classification[0]: object_class_with_confidence: object_class: object_class_type: 0 object_class.vehicle_sub_class: value: 5 confidence: available: 0 value: 0 perceived_objects[1]: perceived_object: object_id: value: 53 measurement_delta_time: value: -0.232000 position: x_coordinate: value: value: 32.070000 confidence: available: 0 value: 0.000000 y_coordinate: value: value: -1.400000 confidence: available: 0 value: 0.000000 z_coordinate: value: value: 0.000000 confidence: available: 0 value: 0.000000 velocity: velocity_3d_with_confidence_type: 1 velocity_3d_with_confidence.cartesian_velocity: x_velocity: value: available: 1 value: -16.040000 confidence: available: 0 value: 0.000000 y_velocity: value: available: 1 value: -0.160000 confidence: available: 0 value: 0.000000 angles: z_angle: value: available: 1 value: 180.600000 confidence: available: 0 value: 0.000000 object_dimension_y: value: available: 1 value: 4.600000 confidence: available: 0 value: 0.000000 object_dimension_x: value: available: 1 value: 1.800000 confidence: available: 0 value: 0.000000 object_age: value: 0.001000 object_perception_quality: value: 9 sensor_id_list[0]: identifier_1b: value: 1 classification[0]: object_class_with_confidence: object_class: object_class_type: 0 object_class.vehicle_sub_class: value: 5 confidence: available: 0 value: 0 perceived_objects[2]: perceived_object: object_id: value: 54 measurement_delta_time: value: -0.232000 position: x_coordinate: value: value: 75.050000 confidence: available: 0 value: 0.000000 y_coordinate: value: value: -0.290000 confidence: available: 0 value: 0.000000 z_coordinate: value: value: 0.000000 confidence: available: 0 value: 0.000000 velocity: velocity_3d_with_confidence_type: 1 velocity_3d_with_confidence.cartesian_velocity: x_velocity: value: available: 1 value: -10.000000 confidence: available: 0 value: 0.000000 y_velocity: value: available: 1 value: -0.310000 confidence: available: 0 value: 0.000000 angles: z_angle: value: available: 1 value: 181.800000 confidence: available: 0 value: 0.000000 object_dimension_y: value: available: 1 value: 4.600000 confidence: available: 0 value: 0.000000 object_dimension_x: value: available: 1 value: 1.800000 confidence: available: 0 value: 0.000000 object_age: value: 0.001000 object_perception_quality: value: 8 sensor_id_list[0]: identifier_1b: value: 1 classification[0]: object_class_with_confidence: object_class: object_class_type: 0 object_class.vehicle_sub_class: value: 5 confidence: available: 0 value: 0 perceived_objects[3]: perceived_object: object_id: value: 88 measurement_delta_time: value: -0.232000 position: x_coordinate: value: value: 3.120000 confidence: available: 0 value: 0.000000 y_coordinate: value: value: -55.390000 confidence: available: 0 value: 0.000000 z_coordinate: value: value: 0.000000 confidence: available: 0 value: 0.000000 velocity: velocity_3d_with_confidence_type: 1 velocity_3d_with_confidence.cartesian_velocity: x_velocity: value: available: 1 value: 1.140000 confidence: available: 0 value: 0.000000 y_velocity: value: available: 1 value: -16.120000 confidence: available: 0 value: 0.000000 angles: z_angle: value: available: 1 value: 274.000000 confidence: available: 0 value: 0.000000 object_dimension_y: value: available: 1 value: 4.600000 confidence: available: 0 value: 0.000000 object_dimension_x: value: available: 1 value: 1.800000 confidence: available: 0 value: 0.000000 object_age: value: 0.001000 object_perception_quality: value: 9 sensor_id_list[0]: identifier_1b: value: 2 classification[0]: object_class_with_confidence: object_class: object_class_type: 0 object_class.vehicle_sub_class: value: 5 confidence: available: 0 value: 0 perceived_objects[4]: perceived_object: object_id: value: 87 measurement_delta_time: value: -0.232000 position: x_coordinate: value: value: 5.630000 confidence: available: 0 value: 0.000000 y_coordinate: value: value: -54.580000 confidence: available: 0 value: 0.000000 z_coordinate: value: value: 0.000000 confidence: available: 0 value: 0.000000 velocity: velocity_3d_with_confidence_type: 1 velocity_3d_with_confidence.cartesian_velocity: x_velocity: value: available: 1 value: 0.720000 confidence: available: 0 value: 0.000000 y_velocity: value: available: 1 value: -10.060000 confidence: available: 0 value: 0.000000 angles: z_angle: value: available: 1 value: 274.100000 confidence: available: 0 value: 0.000000 object_dimension_y: value: available: 1 value: 4.600000 confidence: available: 0 value: 0.000000 object_dimension_x: value: available: 1 value: 1.800000 confidence: available: 0 value: 0.000000 object_age: value: 0.001000 object_perception_quality: value: 9 sensor_id_list[0]: identifier_1b: value: 2 classification[0]: object_class_with_confidence: object_class: object_class_type: 0 object_class.vehicle_sub_class: value: 5 confidence: available: 0 value: 0 ``` ## Build information ``` Version 4.2.5 (v4.2.5-0-g4aa814ac25a1). Compiled (64-bit) using Microsoft Visual Studio 2022 (VC++ 14.37, build 32822), with GLib 2.78.0, with Qt 6.5.3, with libpcap, with zlib 1.3.0, with PCRE2, with Lua 5.2.4 (with UfW patches), with GnuTLS 3.8.4 and PKCS #11 support, with Gcrypt 1.10.2-unknown, with Kerberos (MIT), with MaxMind, with nghttp2 1.61.0, with nghttp3 1.0.0, with brotli, with LZ4, with Zstandard, with Snappy, with libxml2 2.11.5, with libsmi 0.5.0, with QtMultimedia, with automatic updates using WinSparkle 0.8.0, with AirPcap, with Minizip, with binary plugins. Running on 64-bit Windows 10 (22H2), build 19045, with 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz (with SSE4.2), with 32431 MB of physical memory, with GLib 2.78.0, with Qt 6.5.3, with Npcap version 1.71, based on libpcap version 1.10.2-PRE-GIT, with PCRE2 10.42 2022-12-11, with c-ares 1.27.0, with GnuTLS 3.8.4, with Gcrypt 1.10.2-unknown, with nghttp2 1.61.0, with nghttp3 1.0.0, with brotli 1.0.9, with LZ4 1.9.3, with Zstandard 1.5.2, without AirPcap, with light display mode, with HiDPI, with QPA plugin "windows", with LC_TYPE=German_Germany.utf8, binary plugins supported. ```
issue