From b1634db0b32fedd8088c3f69602b74bfcf5ef186 Mon Sep 17 00:00:00 2001 From: Supreeth Herle Date: Sun, 22 Mar 2020 10:00:43 +0100 Subject: pySim-read.py: Enable parsing of Home ePDG Identifier in USIM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As per TS 31.102, version 13.4.0 Release 13, this EF can found under ADF.USIM at File Id 6ff3. Also, if service n°106 and service n°107 are available, this file shall be present. Change-Id: I68114d328d1af5682a5bc1fa7642882e80b5de4d --- pySim-read.py | 13 ++++++++++++- pysim-testdata/Fairwaves-SIM.ok | 1 + pysim-testdata/Wavemobile-SIM.ok | 1 + pysim-testdata/sysmoISIM-SJA2.ok | 3 +++ pysim-testdata/sysmoUSIM-SJS1.ok | 1 + 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/pySim-read.py b/pySim-read.py index b23e6ee..69cab4d 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -35,7 +35,7 @@ from pySim.ts_31_103 import EF_IST_map from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn -from pySim.utils import format_xplmn_w_act, dec_spn, dec_st, init_reader +from pySim.utils import format_xplmn_w_act, dec_spn, dec_st, init_reader, dec_epdgid def parse_options(): @@ -250,6 +250,17 @@ if __name__ == '__main__': else: print("USIM Service Table: Can't read, response code = %s" % (sw,)) + #EF.ePDGId - Home ePDG Identifier + try: + (res, sw) = card.read_binary(EF_USIM_ADF_map['ePDGId']) + if sw == '9000': + content = dec_epdgid(res) + print("ePDGId:\n%s" % (len(content) and content or '\tNot available\n',)) + else: + print("ePDGId: Can't read, response code = %s" % (sw,)) + except Exception as e: + print("ePDGId: Can't read file -- " + str(e)) + # Check whether we have th AID of ISIM, if so select it by its AID # EF.IST - File Id in ADF ISIM : 6f07 if '9000' == card.select_adf_by_aid(adf="isim"): diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index 930dae0..dcdd43c 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -114,5 +114,6 @@ USIM Service Table: 01ea1ffc21360480010000 Service 64 - VGCS security Service 65 - VBS security +ePDGId: Can't read file -- SW match failed! Expected 9000 and got 6a82. Done ! diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index dc23e2a..0e41ec0 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -130,5 +130,6 @@ USIM Service Table: 9eff1b3c37fe5900000000 Service 53 - Extension 8 Service 55 - MMS User Connectivity Parameters +ePDGId: Can't read file -- SW match failed! Expected 9000 and got 6a82. Done ! diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 6fe4404..fd3f252 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -150,6 +150,9 @@ USIM Service Table: beff9f9de73e0408400170730000002e00000000 Service 94 - Extended Terminal Applications Service 95 - Support of UICC access to IMS +ePDGId: + Not available + ISIM Service Table: 190200 Service 1 - P-CSCF address Service 4 - GBA-based Local Key Establishment Mechanism diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index fb8e472..55c43ad 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -138,5 +138,6 @@ USIM Service Table: 9e6b1dfc67f6580000 Service 53 - Extension 8 Service 55 - MMS User Connectivity Parameters +ePDGId: Can't read file -- SW match failed! Expected 9000 and got 6a82. Done ! -- cgit v1.2.3