Fix CAT registries per TS 102 223 V18.3/TS 31.111 V18.12; decode all ENVELOPE types
Spec audit found three registries drifted from an old release, plus
missing command/envelope coverage:
- EVENT_TYPES: correct from '14' up — Access Technology Change
(multiple), IMS Registration/Incoming data, Profile Container ('19),
Secured Profile Container, Poll Interval Negotiation, Data Connection
Status Change, CAG cell selection, Slices Status Change ('1F);
'20-'22 reserved. Old table wrongly showed LTE D2D/ECall/SCEF names.
- TR_RESULTS: session/user results live at '10-'14 ('14 = USSD/SS
transaction terminated), not '0A-'0E; single '20 = ME currently
unable (per-cause details are additional-info bytes); add '22-'27,
'3A BIP error; unshift '3B-'3D; '39 permanent-problem wording.
- ENVELOPE_TYPES: add D9 USSD Download, DA/DB MMS, DC Terminal
Applications, DD Geo Location Reporting, DE Envelope Container,
DF ProSe Report, E0 5G ProSe Report, E1-E3 reserved, E4 GSMA.
- CAT_COMMAND_TYPES: add '79 LSI COMMAND; F0-FE render as Proprietary.
- PLI_QUALIFIERS: add '07 ESN, '1A Supported RATs.
Phase 2:
- _decode_envelope: MENU SELECTION (item id + help request), TIMER
EXPIRATION (id + semi-octet h/m:s value), CALL CONTROL (address +
CCP), USSD DOWNLOAD (DCS text), GEO LOCATION REPORTING, ENVELOPE
CONTAINER (recursive inner dispatch); unknown inner TLVs preserved
in raw_tlv for every type.
- Device Identities now decode to names (Keypad/Display/UICC/
Terminal/Network/Card reader n/Channel n/eCAT client) in proactive
commands and envelopes; frontend renders "src → dst".
Tags verified against ETSI TS 101 220 registry (help request '15/'95,
timer id/value '24/'A4, USSD string '0A/'8A). Tests: +16 spec-derived
fixtures, one stale expectation corrected — 306 total. Version 1.13.0,
SW cache simtrace-analyser-v16.