ust: complete the USIM service table (147-150) + Services editor data fixes

The PWA's EF_UST_SERVICES stopped at 146; TS 31.102 §4.2.8 pins 147-150
(5MBS UE pre-configuration, Operator Controlled Signal Threshold per
Access Technology, A2X, IMS Data Channel Indication).  Add them and fix
the two test fixtures that assumed the 146-service table.

Resolve the three Services-editor FS mappings against the spec:
- eCall Data (89) -> EF.SDN 6F49 (+ EF.FDN 6F3A)
- eCall Data over IMS (112) -> EF.SDNURI 6FEF (+ EF.FDNURI 6FED)
- EARFCN list for MTC/NB-IOT (121) -> EF.EARFCNList 6FFD; "Extended
  EARFCN support" (100) is a capability, not a file.

Record the FID-first rule: the resolver and FS check key by (DF, FID),
the symbolic name is only a label; and clarify that the FS check is
card-only (independent of the cardless uicc_files.json list).
This commit is contained in:
catarrh committed 2026-10-25 12:10:14 +03:00
1 parent 1d5a049ea1
commit 6d762b9d9c
5 files changed
+50 -39

No files matched your search

+6 -3
View File
@@ -181,9 +181,12 @@ OPLMNwAcT/OPL/PNN/EHPLMN/FPLMN/SPDI/IMG are USIM-only (no SIM counterpart).
USIM) make the fid-only decoder fallback unsafe; the name-based lookup is
the primary one and encoders should not be fid-only where a collision is
possible. **Name collisions across DFs** also exist — EF.ECC and EF.AD
(DF.GSM vs ADF.USIM) — where both the name *and* the FID collide, the
resolver needs the DF context (the file's canonical path, whose parent
segment is the DF): resolve by DF first, then name, then FID.
(DF.GSM vs ADF.USIM) — where both the name *and* the FID collide. The
specs key files by **FID within their DF**, not by symbolic name (names are
a derived display label), so the resolver must be **(DF, FID)-first**: the
parent DF + FID is the authoritative key, and the name is only a label.
The FS check in the Services editor follows the same rule — it probes a
(DF, FID), never a name.
7. **Text coding is per file.** Annex A (TS 102 221) for SPN/ADN/SUUME;
the Network Name IE (TS 24.008 10.5.3.5a) for PNN, where the first byte is
`0x80 | spare` for packed GSM 7-bit and `0x90` for UCS-2 — the real-card