From 6d762b9d9c79c09465db849810bd8c4afdd395b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A2=D1=80=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Sun, 25 Oct 2026 12:10:14 +0300 Subject: [PATCH] ust: complete the USIM service table (147-150) + Services editor data fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). --- docs/decoded-editing.md | 9 ++-- docs/services-editor.md | 68 +++++++++++++++++------------- frontend/index.html | 2 +- frontend/tests/ef_encode.test.js | 6 +-- frontend/tests/fs_dec_edit.test.js | 4 +- 5 files changed, 50 insertions(+), 39 deletions(-) diff --git a/docs/decoded-editing.md b/docs/decoded-editing.md index 5041771..a72e8a2 100644 --- a/docs/decoded-editing.md +++ b/docs/decoded-editing.md @@ -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 diff --git a/docs/services-editor.md b/docs/services-editor.md index 462f18e..f7db781 100644 --- a/docs/services-editor.md +++ b/docs/services-editor.md @@ -7,8 +7,8 @@ > registry `docs/uicc/UICC_FILES.md` and the standard file tree > `frontend/uicc_files.json`. -**Counts:** SST **59** / UST **146** / IST **22** / EST **3** services → -**160 feature rows** (10 SIM-only, 81 USIM-only, 5 ISIM-only, 61 shared, +**Counts:** SST **59** / UST **150** / IST **22** / EST **3** services → +**164 feature rows** (10 SIM-only, 85 USIM-only, 5 ISIM-only, 61 shared, 3 RFU/reserved). Reconciliation is exact; see Notes §4. --- @@ -127,7 +127,7 @@ Names are canonicalised; wording aliases are listed in Notes §1. | 93 | Allowed CSG Lists and corresponding indications | | 86 | | | USIM-only | EF.ACSGL 4F81 · EF.CSGT 4F82 · EF.HNBN 4F83 | | 94 | Call control on EPS PDN connection by USIM | | 87 | | | USIM-only | capability | | 95 | HPLMN Direct Access | | 88 | | | USIM-only | EF.HPLMNDAI 4F4B | -| 96 | eCall Data | | 89 | | | USIM-only | ? | +| 96 | eCall Data | | 89 | | | USIM-only | EF.SDN 6F49 (+ EF.FDN 6F3A) | | 97 | Operator CSG Lists and corresponding indications | | 90 | | | USIM-only | EF.OCSGL 4F84 · EF.OCSGT 4F85 · EF.OHNBN 4F86 | | 98 | Support for SM-over-IP | | 91 | 8 | | shared | capability (ISIM-related: EF.PSISMSC 6FE5) | | 99 | Support of CSG Display Control | | 92 | | | USIM-only | capability | @@ -137,7 +137,7 @@ Names are canonicalised; wording aliases are listed in Notes §1. | 103 | Non-Access Stratum configuration by USIM | | 96 | | | USIM-only | EF.NASCONFIG 6FE8 | | 104 | PWS configuration by USIM | | 97 | | | USIM-only | EF.PWS 6FEC | | 105 | URI support by UICC | | 99 | 11 | | shared | capability (URI files: EF.FDNURI 6FED · EF.BDNURI 6FEE · EF.SDNURI 6FEF) | -| 106 | Extended EARFCN support | | 100 | | | USIM-only | EF.EARFCNList 6FFD | +| 106 | Extended EARFCN support | | 100 | | | USIM-only | capability | | 107 | ProSe | | 101 | | | USIM-only | DF.ProSe 5F90 → EF.PST 4F10 | | 108 | USAT Application Pairing | | 102 | | | USIM-only | EF.IPS 6FF1 (+ EF.IAL 6FF0 · EF.IPD 6FF2) | | 109 | Media Type support | | 103 | 12 | | shared | capability | @@ -149,7 +149,7 @@ Names are canonicalised; wording aliases are listed in Notes §1. | 115 | MCPTT | | 109 | 15 | | shared | DF.MCS 5F3D → EF.MST 4F01 (USIM) | | 116 | ePDG configuration Information for Emergency Service support | | 110 | | | USIM-only | EF.ePDGSelectionEm 6FF6 | | 117 | ePDG configuration Information for Emergency Service configured | | 111 | | | USIM-only | EF.ePDGIdEm 6FF5 | -| 118 | eCall Data over IMS | | 112 | | | USIM-only | ? | +| 118 | eCall Data over IMS | | 112 | | | USIM-only | EF.SDNURI 6FEF (+ EF.FDNURI 6FED) | | 119 | URI support for SMS-PP DOWNLOAD | | 113 | 16 | | shared | capability | | 120 | From Preferred | | 114 | 17 | | shared | EF.FromPreferred 6FF7 | | 121 | IMS configuration data | | 115 | 18 | | shared | EF.IMSConfigData 6FF8 | @@ -158,7 +158,7 @@ Names are canonicalised; wording aliases are listed in Notes §1. | 124 | 3GPP PS Data Off Service List | | 118 | | | USIM-only | EF.3GPPPSDATAOFFservicelist 6FFA | | 125 | V2X | | 119 | | | USIM-only | DF.V2X 5F3E → EF.VST 4F01 · EF.V2X_CONFIG 4F02 | | 126 | XCAP Configuration Data | | 120 | 19 | | shared | EF.XCAPConfigData 6FFC | -| 127 | EARFCN list for MTC/NB-IOT UEs | | 121 | | | USIM-only | ? | +| 127 | EARFCN list for MTC/NB-IOT UEs | | 121 | | | USIM-only | EF.EARFCNList 6FFD | | 128 | 5GS Mobility Management Information | | 122 | | | USIM-only | DF.5GS 5FC0 → EF.5GS3GPPLOCI 4F01 · EF.5GSN3GPPLOCI 4F02 | | 129 | 5G Security Parameters | | 123 | | | USIM-only | EF.5GAUTHKEYS 4F05 (+ EF.5GS3GPPNSC 4F03 · EF.5GSN3GPPNSC 4F04) | | 130 | Subscription identifier privacy support | | 124 | | | USIM-only | capability (SUCI data: EF.SUCI_Calc_Info 4F07, gated by 125) | @@ -184,6 +184,10 @@ Names are canonicalised; wording aliases are listed in Notes §1. | 150 | Multiplier Coefficient for Higher Priority PLMN search via NG-RAN satellite access | | 144 | | | USIM-only | EF.MCHPPLMN 4F15 | | 151 | K_AUSF derivation configuration | | 145 | | | USIM-only | EF.KAUSF_DERIVATION 4F16 | | 152 | Network Identifier for SNPN (NID) | | 146 | | | USIM-only | EF.NID 4F02 (DF.SNPN 5FE0) | +| 153 | 5MBS UE pre-configuration | | 147 | | | USIM-only | DF.5MBSUECONFIG 5FF1 → EF.5MBSUECONFIG 4F01 | +| 154 | Operator Controlled Signal Threshold per Access Technology | | 148 | | | USIM-only | EF.OCST 6F02 | +| 155 | A2X | | 149 | | | USIM-only | DF.A2X 5F3F → EF.AST 4F01 | +| 156 | IMS Data Channel Indication | | 150 | | | USIM-only | EF.IMSDCI 6F0B | ### A.3 ISIM-only features @@ -234,13 +238,20 @@ EF.SOR-CMCI 4F0E) · PS Data Off separate Home/Roaming (EF.3GPPPSDATAOFFservicel 6FFA) · 5G Security Parameters extended (EF.5GAUTHKEYS 4F05) · Trusted non-3GPP access · HTTP Digest · P-CSCF discovery Local Break Out (EF.P-CSCF 6F09). -### B.2 `?` entries (unresolved file mapping) +### B.2 Resolved against TS 31.102 v18.10.0 -| Feature | UST # | Note | -|---|---|---| -| eCall Data | 89 | No EF_eCall in UICC_FILES.md; the file, if any, is not pinned. | -| eCall Data over IMS | 112 | Same as above (IMS variant). | -| EARFCN list for MTC/NB-IOT UEs | 121 | Distinct from "Extended EARFCN support" (100 → EF.EARFCNList 6FFD); UICC_FILES.md pins no MTC/NB-IoT-specific EARFCN list file. | +The three initially-unresolved mappings were settled from the spec text +(`docs/uicc/ts_131102*.txt`): + +- **eCall Data (89)** — no dedicated EF: the eCall test/reconfiguration + numbers live in **EF.SDN 6F49** ("If service n° 4 and/or n° 89 is available + this file shall be present … eCall test and reconfiguration numbers") and + EF.FDN 6F3A (the eCall procedures). +- **eCall Data over IMS (112)** — the eCall test/reconfiguration **URIs** live + in **EF.SDNURI 6FEF** (and EF.FDNURI 6FED). +- **EARFCN list for MTC/NB-IOT UEs (121)** — **EF.EARFCNList 6FFD** (§4.2.112, + whose clause title is literally "EARFCN list for MTC/NB-IOT UEs"). + "Extended EARFCN support" (100) is a **capability** with no file. --- @@ -300,33 +311,30 @@ FIDs); the editor's DF-context selection must do the same. - **SST 59:** 56 non-RFU service numbers (SST 1–59 minus {8,20,50}) spread over the 57 rows of §A.1 (one of those rows, CCP2, carries no SST number) + 3 RFU/reserved slots (8, 20, 50) = 59. ✓ -- **UST 146:** 46 shared-with-SIM + 15 shared-with-ISIM + 81 USIM-only (1 in - §A.1 = CCP2, 80 in §A.2) + 4 RFU/reserved (26, 33, 50, 98) = 146. ✓ +- **UST 150:** 46 shared-with-SIM + 15 shared-with-ISIM + 85 USIM-only (1 in + §A.1 = CCP2, 84 in §A.2) + 4 RFU/reserved (26, 33, 50, 98) = 150. ✓ - **IST 22:** 2 shared with SIM (SMS 6, SMSR 7) + 15 shared with USIM (2,4,8,9,10,11,12,13,14,15,16,17,18,19,21) + 5 ISIM-only (1,3,5,20,22) = 22. ✓ - **EST 3:** FDN (1), BDN (2), ACL (3) — all present. ✓ -**Discrepancy to resolve:** the PWA's `EF_UST_SERVICES` constant has **146** -entries, but `UICC_FILES.md` §6.1 pins the UST table through **n°150**. The four -services present in the spec summary but missing from the PWA constant are: -**147** 5MBS UE pre-config, **148** Operator-controlled signal threshold, -**149** A2X, **150** IMS Data Channel Indication. (148 would map to EF.OCST 6F02, -147 to DF.5MBSUECONFIG 5FF1 → EF.5MBSUECONFIG 4F01, 149 to DF.A2X 5F3F → -EF.AST 4F01, and 150 to EF.IMSDCI 6F0B — the USIM copy of the ISIM file already -listed for IST 22.) These four are **not** in the tables above; add them to -`EF_UST_SERVICES` (and re-verify the count line) or document the omission. +The PWA's `EF_UST_SERVICES` constant previously stopped at **146**; it now +carries **147–150** (5MBS UE pre-configuration / Operator Controlled Signal +Threshold per Access Technology / A2X / IMS Data Channel Indication), matching +`UICC_FILES.md` §6.1 and TS 31.102 §4.2.8, so the tables above are complete. -### 5. Source-coverage gaps +### 5. Source-coverage gaps (cardless list only) -A few files/DFs are cited from `UICC_FILES.md` but are absent from -`frontend/uicc_files.json` (they are real spec files, just not emitted by the -cardless tree builder): EF.IMG 4F20 / DF.GRAPHICS 5F50, DF.MExE 5F3C + +The Services editor is **card-only**: it probes the equipped card by FID and +writes via `/api/write`, so it does **not** depend on `frontend/uicc_files.json` +(that is the *cardless* standard-file list feeding the SELECT picker and the +test-script file picker). The FS check probes the card directly, so the files +below missing from `uicc_files.json` are not a blocker — they matter only if a +cardless picker must offer them: EF.IMG 4F20 / DF.GRAPHICS 5F50, DF.MExE 5F3C + EF.MExE-ST/ORPK/ARPK/TPRPK 4F40–4F43, DF.SoLSA 5F70 + EF.SAI 4F30/EF.SLL 4F31, DF.BCAST 5F80, DF.ACDC 5FA0 + EF.ACDC_LIST 4F01, DF.TV 5FB0 + EF.TVUSD, EF.TVCONFIG 6FFB, EF.3GPPPSDATAOFF 6FF9 / EF.3GPPPSDATAOFFservicelist 6FFA, -EF.IAL 6FF0 / EF.IPD 6FF2 (pairing), and EF.PSISMSC 6FE5. If the FS check must -resolve *every* FID against `uicc_files.json` alone, these need adding there -first (or the check must also consult UICC_FILES.md). +EF.IAL 6FF0 / EF.IPD 6FF2 (pairing), EF.PSISMSC 6FE5, and the 5G/A2X/5MBS +DFs (5FC0/5F3F/5F3E/5FF0/5FF1/5FE0). ### 6. Deliberately unmapped diff --git a/frontend/index.html b/frontend/index.html index c718c26..6d43d55 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -23065,7 +23065,7 @@ document.querySelectorAll('.pysim-subtab').forEach(btn => { }); window.addEventListener('resize', pysimFsFitTree); -const EF_UST_SERVICES = {1: "Local Phone Book", 2: "Fixed Dialling Numbers (FDN)", 3: "Extension 2", 4: "Service Dialling Numbers (SDN)", 5: "Extension3", 6: "Barred Dialling Numbers (BDN)", 7: "Extension4", 8: "Outgoing Call Information (OCI and OCT)", 9: "Incoming Call Information (ICI and ICT)", 10: "Short Message Storage (SMS)", 11: "Short Message Status Reports (SMSR)", 12: "Short Message Service Parameters (SMSP)", 13: "Advice of Charge (AoC)", 14: "Capability Configuration Parameters 2 (CCP2)", 15: "Cell Broadcast Message Identifier", 16: "Cell Broadcast Message Identifier Ranges", 17: "Group Identifier Level 1", 18: "Group Identifier Level 2", 19: "Service Provider Name", 20: "User controlled PLMN selector with Access Technology", 21: "MSISDN", 22: "Image (IMG)", 23: "Support of Localised Service Areas (SoLSA)", 24: "Enhanced Multi-Level Precedence and Pre-emption Service", 25: "Automatic Answer for eMLPP", 26: "RFU", 27: "GSM Access", 28: "Data download via SMS-PP", 29: "Data download via SMS-CB", 30: "Call Control by USIM", 31: "MO-SMS Control by USIM", 32: "RUN AT COMMAND command", 33: "shall be set to 1", 34: "Enabled Services Table", 35: "APN Control List (ACL)", 36: "Depersonalisation Control Keys", 37: "Co-operative Network List", 38: "GSM security context", 39: "CPBCCH Information", 40: "Investigation Scan", 41: "MexE", 42: "Operator controlled PLMN selector with Access Technology", 43: "HPLMN selector with Access Technology", 44: "Extension 5", 45: "PLMN Network Name", 46: "Operator PLMN List", 47: "Mailbox Dialling Numbers", 48: "Message Waiting Indication Status", 49: "Call Forwarding Indication Status", 50: "Reserved and shall be ignored", 51: "Service Provider Display Information", 52: "Multimedia Messaging Service (MMS)", 53: "Extension 8", 54: "Call control on GPRS by USIM", 55: "MMS User Connectivity Parameters", 56: "Network's indication of alerting in the MS (NIA)", 57: "VGCS Group Identifier List (EFVGCS and EFVGCSS)", 58: "VBS Group Identifier List (EFVBS and EFVBSS)", 59: "Pseudonym", 60: "User Controlled PLMN selector for I-WLAN access", 61: "Operator Controlled PLMN selector for I-WLAN access", 62: "User controlled WSID list", 63: "Operator controlled WSID list", 64: "VGCS security", 65: "VBS security", 66: "WLAN Reauthentication Identity", 67: "Multimedia Messages Storage", 68: "Generic Bootstrapping Architecture (GBA)", 69: "MBMS security", 70: "Data download via USSD and USSD application mode", 71: "Equivalent HPLMN", 72: "Additional TERMINAL PROFILE after UICC activation", 73: "Equivalent HPLMN Presentation Indication", 74: "Last RPLMN Selection Indication", 75: "OMA BCAST Smart Card Profile", 76: "GBA-based Local Key Establishment Mechanism", 77: "Terminal Applications", 78: "Service Provider Name Icon", 79: "PLMN Network Name Icon", 80: "Connectivity Parameters for USIM IP connections", 81: "Home I-WLAN Specific Identifier List", 82: "I-WLAN Equivalent HPLMN Presentation Indication", 83: "I-WLAN HPLMN Priority Indication", 84: "I-WLAN Last Registered PLMN", 85: "EPS Mobility Management Information", 86: "Allowed CSG Lists and corresponding indications", 87: "Call control on EPS PDN connection by USIM", 88: "HPLMN Direct Access", 89: "eCall Data", 90: "Operator CSG Lists and corresponding indications", 91: "Support for SM-over-IP", 92: "Support of CSG Display Control", 93: "Communication Control for IMS by USIM", 94: "Extended Terminal Applications", 95: "Support of UICC access to IMS", 96: "Non-Access Stratum configuration by USIM", 97: "PWS configuration by USIM", 98: "RFU", 99: "URI support by UICC", 100: "Extended EARFCN support", 101: "ProSe", 102: "USAT Application Pairing", 103: "Media Type support", 104: "IMS call disconnection cause", 105: "URI support for MO SHORT MESSAGE CONTROL", 106: "ePDG configuration Information support", 107: "ePDG configuration Information configured", 108: "ACDC support", 109: "MCPTT", 110: "ePDG configuration Information for Emergency Service support", 111: "ePDG configuration Information for Emergency Service configured", 112: "eCall Data over IMS", 113: "URI support for SMS-PP DOWNLOAD as defined in 3GPP TS 31.111 [12]", 114: "From Preferred", 115: "IMS configuration data", 116: "TV configuration", 117: "3GPP PS Data Off", 118: "3GPP PS Data Off Service List", 119: "V2X", 120: "XCAP Configuration Data", 121: "EARFCN list for MTC/NB-IOT UEs", 122: "5GS Mobility Management Information", 123: "5G Security Parameters", 124: "Subscription identifier privacy support", 125: "SUCI calculation by the USIM", 126: "UAC Access Identities support", 127: "Expect control plane-based Steering of Roaming information during initial registration in VPLMN", 128: "Call control on PDU Session by USIM", 129: "5GS Operator PLMN List", 130: "Support for SUPI of type NSI or GLI or GCI", 131: "3GPP PS Data Off separate Home and Roaming lists", 132: "Support for URSP by USIM", 133: "5G Security Parameters extended", 134: "MuD and MiD configuration data", 135: "Support for Trusted non-3GPP access networks by USIM", 136: "Support for multiple records of NAS security context storage for multiple registration", 137: "Pre-configured CAG information list", 138: "SOR-CMCI storage in USIM", 139: "5G ProSe", 140: "Storage of disaster roaming information in USIM", 141: "Pre-configured eDRX parameters", 142: "5G NSWO support", 143: "PWS configuration for SNPN in USIM", 144: "Multiplier Coefficient for Higher Priority PLMN search via NG-RAN satellite access", 145: "K_AUSF derivation configuration", 146: "Network Identifier for SNPN (NID)"}; +const EF_UST_SERVICES = {1: "Local Phone Book", 2: "Fixed Dialling Numbers (FDN)", 3: "Extension 2", 4: "Service Dialling Numbers (SDN)", 5: "Extension3", 6: "Barred Dialling Numbers (BDN)", 7: "Extension4", 8: "Outgoing Call Information (OCI and OCT)", 9: "Incoming Call Information (ICI and ICT)", 10: "Short Message Storage (SMS)", 11: "Short Message Status Reports (SMSR)", 12: "Short Message Service Parameters (SMSP)", 13: "Advice of Charge (AoC)", 14: "Capability Configuration Parameters 2 (CCP2)", 15: "Cell Broadcast Message Identifier", 16: "Cell Broadcast Message Identifier Ranges", 17: "Group Identifier Level 1", 18: "Group Identifier Level 2", 19: "Service Provider Name", 20: "User controlled PLMN selector with Access Technology", 21: "MSISDN", 22: "Image (IMG)", 23: "Support of Localised Service Areas (SoLSA)", 24: "Enhanced Multi-Level Precedence and Pre-emption Service", 25: "Automatic Answer for eMLPP", 26: "RFU", 27: "GSM Access", 28: "Data download via SMS-PP", 29: "Data download via SMS-CB", 30: "Call Control by USIM", 31: "MO-SMS Control by USIM", 32: "RUN AT COMMAND command", 33: "shall be set to 1", 34: "Enabled Services Table", 35: "APN Control List (ACL)", 36: "Depersonalisation Control Keys", 37: "Co-operative Network List", 38: "GSM security context", 39: "CPBCCH Information", 40: "Investigation Scan", 41: "MexE", 42: "Operator controlled PLMN selector with Access Technology", 43: "HPLMN selector with Access Technology", 44: "Extension 5", 45: "PLMN Network Name", 46: "Operator PLMN List", 47: "Mailbox Dialling Numbers", 48: "Message Waiting Indication Status", 49: "Call Forwarding Indication Status", 50: "Reserved and shall be ignored", 51: "Service Provider Display Information", 52: "Multimedia Messaging Service (MMS)", 53: "Extension 8", 54: "Call control on GPRS by USIM", 55: "MMS User Connectivity Parameters", 56: "Network's indication of alerting in the MS (NIA)", 57: "VGCS Group Identifier List (EFVGCS and EFVGCSS)", 58: "VBS Group Identifier List (EFVBS and EFVBSS)", 59: "Pseudonym", 60: "User Controlled PLMN selector for I-WLAN access", 61: "Operator Controlled PLMN selector for I-WLAN access", 62: "User controlled WSID list", 63: "Operator controlled WSID list", 64: "VGCS security", 65: "VBS security", 66: "WLAN Reauthentication Identity", 67: "Multimedia Messages Storage", 68: "Generic Bootstrapping Architecture (GBA)", 69: "MBMS security", 70: "Data download via USSD and USSD application mode", 71: "Equivalent HPLMN", 72: "Additional TERMINAL PROFILE after UICC activation", 73: "Equivalent HPLMN Presentation Indication", 74: "Last RPLMN Selection Indication", 75: "OMA BCAST Smart Card Profile", 76: "GBA-based Local Key Establishment Mechanism", 77: "Terminal Applications", 78: "Service Provider Name Icon", 79: "PLMN Network Name Icon", 80: "Connectivity Parameters for USIM IP connections", 81: "Home I-WLAN Specific Identifier List", 82: "I-WLAN Equivalent HPLMN Presentation Indication", 83: "I-WLAN HPLMN Priority Indication", 84: "I-WLAN Last Registered PLMN", 85: "EPS Mobility Management Information", 86: "Allowed CSG Lists and corresponding indications", 87: "Call control on EPS PDN connection by USIM", 88: "HPLMN Direct Access", 89: "eCall Data", 90: "Operator CSG Lists and corresponding indications", 91: "Support for SM-over-IP", 92: "Support of CSG Display Control", 93: "Communication Control for IMS by USIM", 94: "Extended Terminal Applications", 95: "Support of UICC access to IMS", 96: "Non-Access Stratum configuration by USIM", 97: "PWS configuration by USIM", 98: "RFU", 99: "URI support by UICC", 100: "Extended EARFCN support", 101: "ProSe", 102: "USAT Application Pairing", 103: "Media Type support", 104: "IMS call disconnection cause", 105: "URI support for MO SHORT MESSAGE CONTROL", 106: "ePDG configuration Information support", 107: "ePDG configuration Information configured", 108: "ACDC support", 109: "MCPTT", 110: "ePDG configuration Information for Emergency Service support", 111: "ePDG configuration Information for Emergency Service configured", 112: "eCall Data over IMS", 113: "URI support for SMS-PP DOWNLOAD as defined in 3GPP TS 31.111 [12]", 114: "From Preferred", 115: "IMS configuration data", 116: "TV configuration", 117: "3GPP PS Data Off", 118: "3GPP PS Data Off Service List", 119: "V2X", 120: "XCAP Configuration Data", 121: "EARFCN list for MTC/NB-IOT UEs", 122: "5GS Mobility Management Information", 123: "5G Security Parameters", 124: "Subscription identifier privacy support", 125: "SUCI calculation by the USIM", 126: "UAC Access Identities support", 127: "Expect control plane-based Steering of Roaming information during initial registration in VPLMN", 128: "Call control on PDU Session by USIM", 129: "5GS Operator PLMN List", 130: "Support for SUPI of type NSI or GLI or GCI", 131: "3GPP PS Data Off separate Home and Roaming lists", 132: "Support for URSP by USIM", 133: "5G Security Parameters extended", 134: "MuD and MiD configuration data", 135: "Support for Trusted non-3GPP access networks by USIM", 136: "Support for multiple records of NAS security context storage for multiple registration", 137: "Pre-configured CAG information list", 138: "SOR-CMCI storage in USIM", 139: "5G ProSe", 140: "Storage of disaster roaming information in USIM", 141: "Pre-configured eDRX parameters", 142: "5G NSWO support", 143: "PWS configuration for SNPN in USIM", 144: "Multiplier Coefficient for Higher Priority PLMN search via NG-RAN satellite access", 145: "K_AUSF derivation configuration", 146: "Network Identifier for SNPN (NID)", 147: "5MBS UE pre-configuration", 148: "Operator Controlled Signal Threshold per Access Technology", 149: "A2X", 150: "IMS Data Channel Indication"}; const EF_SST_SERVICES = {1: "CHV1 disable function", 2: "Abbreviated Dialling Numbers (ADN)", 3: "Fixed Dialling Numbers (FDN)", 4: "Short Message Storage (SMS)", 5: "Advice of Charge (AoC)", 6: "Capability Configuration Parameters (CCP)", 7: "PLMN selector", 8: "RFU", 9: "MSISDN", 10: "Extension1", 11: "Extension2", 12: "SMS Parameters", 13: "Last Number Dialled (LND)", 14: "Cell Broadcast Message Identifier", 15: "Group Identifier Level 1", 16: "Group Identifier Level 2", 17: "Service Provider Name", 18: "Service Dialling Numbers (SDN)", 19: "Extension3", 20: "RFU", 21: "VGCS Group Identifier List (EFVGCS and EFVGCSS)", 22: "VBS Group Identifier List (EFVBS and EFVBSS)", 23: "enhanced Multi-Level Precedence and Pre-emption Service", 24: "Automatic Answer for eMLPP", 25: "Data download via SMS-CB", 26: "Data download via SMS-PP", 27: "Menu selection", 28: "Call control", 29: "Proactive SIM", 30: "Cell Broadcast Message Identifier Ranges", 31: "Barred Dialling Numbers (BDN)", 32: "Extension4", 33: "De-personalization Control Keys", 34: "Co-operative Network List", 35: "Short Message Status Reports", 36: "Network's indication of alerting in the MS", 37: "Mobile Originated Short Message control by SIM", 38: "GPRS", 39: "Image (IMG)", 40: "SoLSA (Support of Local Service Area)", 41: "USSD string data object supported in Call Control", 42: "RUN AT COMMAND command", 43: "User controlled PLMN Selector with Access Technology", 44: "Operator controlled PLMN Selector with Access Technology", 45: "HPLMN Selector with Access Technology", 46: "CPBCCH Information", 47: "Investigation Scan", 48: "Extended Capability Configuration Parameters", 49: "MExE", 50: "Reserved and shall be ignored", 51: "PLMN Network Name", 52: "Operator PLMN List", 53: "Mailbox Dialling Numbers", 54: "Message Waiting Indication Status", 55: "Call Forwarding Indication Status", 56: "Service Provider Display Information", 57: "Multimedia Messaging Service (MMS)", 58: "Extension 8", 59: "MMS User Connectivity Parameters"}; const EF_IST_SERVICES = {1: "P-CSCF address", 2: "Generic Bootstrapping Architecture (GBA)", 3: "HTTP Digest", 4: "GBA-based Local Key Establishment Mechanism", 5: "Support of P-CSCF discovery for IMS Local Break Out", 6: "Short Message Storage (SMS)", 7: "Short Message Status Reports (SMSR)", 8: "Support for SM-over-IP including data download via SMS-PP as defined in TS 31.111 [31]", 9: "Communication Control for IMS by ISIM", 10: "Support of UICC access to IMS", 11: "URI support by UICC", 12: "Media Type support", 13: "IMS call disconnection cause", 14: "URI support for MO SHORT MESSAGE CONTROL", 15: "MCPTT", 16: "URI support for SMS-PP DOWNLOAD as defined in 3GPP TS 31.111 [31]", 17: "From Preferred", 18: "IMS configuration data", 19: "XCAP Configuration Data", 20: "WebRTC URI", 21: "MuD and MiD configuration data", 22: "IMS Data Channel indication"}; const EF_PHASE_NAMES = {0: "phase 1", 2: "phase 2", 3: "phase 2 and PROFILE DOWNLOAD required"}; diff --git a/frontend/tests/ef_encode.test.js b/frontend/tests/ef_encode.test.js index abd6978..3ab5791 100644 --- a/frontend/tests/ef_encode.test.js +++ b/frontend/tests/ef_encode.test.js @@ -573,7 +573,7 @@ test('F8: the ADN-family entries name their extension EF and use it in refusals' // Wave 2 fixtures. const UST_ONE = '00000010'; // service 29 const UST_MULTI = '010204'; // services 1, 10, 19 -const UST_UNMODELLED = '000000' + '10' + '00'.repeat(14) + 'FC'; // 29 + bits 147-152 +const UST_UNMODELLED = '000000' + '10' + '00'.repeat(14) + 'C0'; // 29 + bits 151-152 (above the 150-service table) const EST_FF = 'FFFF'; const ACC_ONE = '8001'; // classes 15 and 0 const AD_HEX = '00' + '0000' + '03' + 'AABB'; // op normal, info 0000, MNC 3, RFU @@ -615,14 +615,14 @@ test('service tables: encode/decode round-trips and unmodelled bits', () => { assert.strictEqual(entry.enc({ services: unmodelled }, UST_UNMODELLED), UST_UNMODELLED); // unchecking everything clears the table bits but keeps the unmodelled byte assert.strictEqual(entry.enc({ services: [] }, UST_UNMODELLED), - '000000' + '00' + '00'.repeat(14) + 'FC'); + '000000' + '00' + '00'.repeat(14) + 'C0'); // length is kept assert.strictEqual(entry.enc({ services: efDecServiceTable(efBytes('00000010' + '00'), EF_UST_SERVICES).services }, '0000001000'), '0000001000'); }); test('service tables: unknown services and a too-short table are refused', () => { - assert.throws(() => efEncServiceTable({ services: [{ n: 147, name: 'RFU' }] }, + assert.throws(() => efEncServiceTable({ services: [{ n: 151, name: 'RFU' }] }, 'FF'.repeat(19), EF_UST_SERVICES), /Unknown service/); assert.throws(() => efEncServiceTable({ services: [{ n: 9, name: 'MSISDN' }] }, '00', EF_UST_SERVICES), /too short for service/); diff --git a/frontend/tests/fs_dec_edit.test.js b/frontend/tests/fs_dec_edit.test.js index df79bd4..e1eba21 100644 --- a/frontend/tests/fs_dec_edit.test.js +++ b/frontend/tests/fs_dec_edit.test.js @@ -689,8 +689,8 @@ test('the bits field renders a filtered checkbox grid and collects {n,name}', () assert.match(out, /class="pysim-dec-bits /); assert.match(out, /pysim-dec-bits-filter/); assert.match(out, /data-bit="29" data-bit-name="Data download via SMS-CB" checked/); - // the whole UST table is rendered (146 services) - assert.strictEqual((out.match(/data-bit="/g) || []).length, 146); + // the whole UST table is rendered (150 services) + assert.strictEqual((out.match(/data-bit="/g) || []).length, 150); // ACC: 15 editable classes (10 is always written 0), 15 and 0 checked const acc = efDecEditHtml(efDecEditModel('EF.ACC', '6f78', { kind: 'transparent', data: ACC_ONE }), ACC_ONE); assert.strictEqual((acc.match(/data-bit="/g) || []).length, 15);