The ImslMessage schema in acars_vdlm2_parser does not match the JSON output format produced by JAERO (the primary Inmarsat L-Band decoder used by most SDR stations). JAERO's JSONdump format wraps all ACARS fields inside an isu object, with timing in a t: {sec, usec} structure at the top level — for example: {"app": {"name": "JAERO", "ver": "VFO01"}, "isu": {"acars": {"ack": "!", "blk_id": "A", "label": "H1", "mode": "2", "reg": "ABCDEF"}, "dst": {"addr": "ABCDEF", "type": "Aircraft Earth Station"}, "qno": "00", "refno": "00", "src": {"addr": "C1", "type": "Ground Earth Station"}}, "t": {"sec": 1700000000, "usec": 123456}, "station": "XX-XXXX-AERO-XXX"}. When this is sent to acars_router's IMSL UDP port, it is rejected with data did not match any variant of untagged enum AcarsVdlm2Message, and the IMSL stats counter never increments.
This has been confirmed by packet capture directly off the wire — the format JAERO outputs has never successfully parsed through acars_router's IMSL handler.
The ImslMessage schema appears to have been built for flat JSON output rather than JAERO's nested isu-wrapped format aand their JSON structures are fundamentally incompatible.
To fix this, ImslMessage in acars_vdlm2_parser needs a second serde variant that matches JAERO's isu-wrapped structure.
The ImslMessage schema in acars_vdlm2_parser does not match the JSON output format produced by JAERO (the primary Inmarsat L-Band decoder used by most SDR stations). JAERO's JSONdump format wraps all ACARS fields inside an isu object, with timing in a t: {sec, usec} structure at the top level — for example: {"app": {"name": "JAERO", "ver": "VFO01"}, "isu": {"acars": {"ack": "!", "blk_id": "A", "label": "H1", "mode": "2", "reg": "ABCDEF"}, "dst": {"addr": "ABCDEF", "type": "Aircraft Earth Station"}, "qno": "00", "refno": "00", "src": {"addr": "C1", "type": "Ground Earth Station"}}, "t": {"sec": 1700000000, "usec": 123456}, "station": "XX-XXXX-AERO-XXX"}. When this is sent to acars_router's IMSL UDP port, it is rejected with data did not match any variant of untagged enum AcarsVdlm2Message, and the IMSL stats counter never increments.
This has been confirmed by packet capture directly off the wire — the format JAERO outputs has never successfully parsed through acars_router's IMSL handler.
The ImslMessage schema appears to have been built for flat JSON output rather than JAERO's nested isu-wrapped format aand their JSON structures are fundamentally incompatible.
To fix this, ImslMessage in acars_vdlm2_parser needs a second serde variant that matches JAERO's isu-wrapped structure.