From ee15c77185615af669f0efe1e19a9fa748e224aa Mon Sep 17 00:00:00 2001 From: Supreeth Herle Date: Sun, 22 Mar 2020 08:58:33 +0100 Subject: [PATCH] Enable parsing of ISIM Service table (IST) As per TS 31.103, This EF indicates which ISIM services are available. If a service is not indicated as available in the ISIM, the ME shall not select this service. Parsing of IST is achieved by first selecting the ISIM application using its AID. This is followed by selecting EF.IST with File ID - 6f07 in ADF.ISIM Change-Id: I3f0a7227360b72a707dc1bcc4cc9c8a4ec7ad2b2 --- pySim-read.py | 13 +++++++++++++ pysim-testdata/sysmoISIM-SJA2.ok | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/pySim-read.py b/pySim-read.py index 4551e82e..33e93a7f 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -30,6 +30,7 @@ import re import sys from pySim.ts_51_011 import EF, DF, EF_SST_map from pySim.ts_31_102 import EF_UST_map +from pySim.ts_31_103 import EF_IST_map from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card @@ -255,5 +256,17 @@ if __name__ == '__main__': else: print("USIM Service Table: Can't read, response code = %s" % (sw,)) + # 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"): + # EF.IST + (res, sw) = card.read_binary('6f07') + if sw == '9000': + print("ISIM Service Table: %s" % res) + # Print those which are available + print("%s" % dec_st(res, table="isim")) + else: + print("ISIM Service Table: Can't read, response code = %s" % (sw,)) + # Done for this card and maybe for everything ? print("Done !\n") diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 80045cfd..afc44919 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -150,5 +150,11 @@ USIM Service Table: beff9f9de73e0408400170730000002e00000000 Service 94 - Extended Terminal Applications Service 95 - Support of UICC access to IMS +ISIM Service Table: 190200 + Service 1 - P-CSCF address + Service 4 - GBA-based Local Key Establishment Mechanism + Service 5 - Support of P-CSCF discovery for IMS Local Break Out + Service 10 - Support of UICC access to IMS + Done !