pySim-read.py: Enable reading of Home Network Domain Name from ISIM

As per TS1.103 version 14.2.0, this EF contains the home operator's network domain name.
The Home Network Domain Name, i.e. FQDN shall be encoded to an octet string
according to UTF-8 encoding rules as specified in IETF RFC 3629

Change-Id: Ia3c68c717d105e10d52a8e9d170480da2ad7d65a
This commit is contained in:
Supreeth Herle
2020-03-25 10:23:48 +01:00
committed by herlesupreeth
parent cf727f2733
commit 05b2807168
3 changed files with 22 additions and 0 deletions

View File

@@ -304,6 +304,17 @@ if __name__ == '__main__':
except Exception as e: except Exception as e:
print("P-CSCF: Can't read file -- " + str(e)) print("P-CSCF: Can't read file -- " + str(e))
# EF.DOMAIN - Home Network Domain Name e.g. ims.mncXXX.mccXXX.3gppnetwork.org
try:
if card.file_exists(EF_ISIM_ADF_map['DOMAIN']):
(res, sw) = card.read_domain()
if sw == '9000':
print("Home Network Domain Name: %s" % (len(res) and res or 'Not available',))
else:
print("Home Network Domain Name: Can't read, response code = %s" % (sw,))
except Exception as e:
print("Home Network Domain Name: Can't read file -- " + str(e))
# Check whether we have th AID of ISIM, if so select it by its AID # Check whether we have th AID of ISIM, if so select it by its AID
# EF.IST - File Id in ADF ISIM : 6f07 # EF.IST - File Id in ADF ISIM : 6f07
if '9000' == card.select_adf_by_aid(adf="isim"): if '9000' == card.select_adf_by_aid(adf="isim"):

View File

@@ -336,6 +336,16 @@ class IsimCard(Card):
data, sw = self._scc.update_record(EF_ISIM_ADF_map['PCSCF'], 1, rpad(content, rec_size_bytes*2)) data, sw = self._scc.update_record(EF_ISIM_ADF_map['PCSCF'], 1, rpad(content, rec_size_bytes*2))
return sw return sw
def read_domain(self):
(res, sw) = self._scc.read_binary(EF_ISIM_ADF_map['DOMAIN'])
if sw == '9000':
# Skip the inital tag value ('80') byte and get length of contents
length = int(res[2:4], 16)
content = h2s(res[4:4+(length*2)])
return (content, sw)
else:
return (None, sw)
class _MagicSimBase(Card): class _MagicSimBase(Card):
""" """

View File

@@ -182,6 +182,7 @@ P-CSCF:
Not available Not available
Not available Not available
Home Network Domain Name: Not available
ISIM Service Table: 190200 ISIM Service Table: 190200
Service 1 - P-CSCF address Service 1 - P-CSCF address
Service 4 - GBA-based Local Key Establishment Mechanism Service 4 - GBA-based Local Key Establishment Mechanism