aboutsummaryrefslogtreecommitdiffstats
path: root/pySim
diff options
context:
space:
mode:
authorSebastian Viviani <guilly@gmail.com>2020-05-29 00:14:55 +0100
committerherlesupreeth <herlesupreeth@gmail.com>2020-06-03 06:30:37 +0000
commit0dc8f6921707d1d59cbfe2c5841ff479632c5edc (patch)
tree0ba1293515a5c6784cf38df66d6132b4c3fd3d2b /pySim
parent29ca8049d6ea5fa27f1f4ea805b2e0d4888e6e24 (diff)
ts_31_102.py: add EF_ADF_map
the EF files in the USIM ADF are different to the ones int the GSM dir so added the dictionary to avoid conflicts and hardcoded values the 'DIR' one was added in ts_51_011.py, not sure if it should be there as it's not in that standard, but did it for simplicity Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba
Diffstat (limited to 'pySim')
-rw-r--r--pySim/cards.py4
-rw-r--r--pySim/ts_31_102.py106
-rw-r--r--pySim/ts_51_011.py2
3 files changed, 109 insertions, 3 deletions
diff --git a/pySim/cards.py b/pySim/cards.py
index c7b34eb..808fde1 100644
--- a/pySim/cards.py
+++ b/pySim/cards.py
@@ -225,9 +225,9 @@ class Card(object):
try:
# Find out how many records the EF.DIR has
# and store all the AIDs in the UICC
- rec_cnt = self._scc.record_count(['3f00', '2f00'])
+ rec_cnt = self._scc.record_count(EF['DIR'])
for i in range(0, rec_cnt):
- rec = self._scc.read_record(['3f00', '2f00'], i + 1)
+ rec = self._scc.read_record(EF['DIR'], i + 1)
if (rec[0][0:2], rec[0][4:6]) == ('61', '4f') and len(rec[0]) > 12 \
and rec[0][8:8 + int(rec[0][6:8], 16) * 2] not in self._aids:
self._aids.append(rec[0][8:8 + int(rec[0][6:8], 16) * 2])
diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py
index 9f5abe9..473e595 100644
--- a/pySim/ts_31_102.py
+++ b/pySim/ts_31_102.py
@@ -135,4 +135,108 @@ EF_UST_map = {
109: 'MCPTT',
110: 'ePDG configuration Information for Emergency Service support',
111: 'ePDG configuration Information for Emergency Service configured',
-} \ No newline at end of file
+}
+
+EF_USIM_ADF_map = {
+ 'LI': '6F05',
+ 'ARR': '6F06',
+ 'IMSI': '6F07',
+ 'Keys': '6F08',
+ 'KeysPS': '6F09',
+ 'DCK': '6F2C',
+ 'HPPLMN': '6F31',
+ 'CNL': '6F32',
+ 'ACMmax': '6F37',
+ 'UST': '6F38',
+ 'ACM': '6F39',
+ 'FDN': '6F3B',
+ 'SMS': '6F3C',
+ 'GID1': '6F3E',
+ 'GID2': '6F3F',
+ 'MSISDN': '6F40',
+ 'PUCT': '6F41',
+ 'SMSP': '6F42',
+ 'SMSS': '6F42',
+ 'CBMI': '6F45',
+ 'SPN': '6F46',
+ 'SMSR': '6F47',
+ 'CBMID': '6F48',
+ 'SDN': '6F49',
+ 'EXT2': '6F4B',
+ 'EXT3': '6F4C',
+ 'BDN': '6F4D',
+ 'EXT5': '6F4E',
+ 'CCP2': '6F4F',
+ 'CBMIR': '6F50',
+ 'EXT4': '6F55',
+ 'EST': '6F56',
+ 'ACL': '6F57',
+ 'CMI': '6F58',
+ 'START-HFN': '6F5B',
+ 'THRESHOLD': '6F5C',
+ 'PLMNwAcT': '6F60',
+ 'OPLMNwAcT': '6F61',
+ 'HPLMNwAcT': '6F62',
+ 'PSLOCI': '6F73',
+ 'ACC': '6F78',
+ 'FPLMN': '6F7B',
+ 'LOCI': '6F7E',
+ 'ICI': '6F80',
+ 'OCI': '6F81',
+ 'ICT': '6F82',
+ 'OCT': '6F83',
+ 'AD': '6FAD',
+ 'VGCS': '6FB1',
+ 'VGCSS': '6FB2',
+ 'VBS': '6FB3',
+ 'VBSS': '6FB4',
+ 'eMLPP': '6FB5',
+ 'AAeM': '6FB6',
+ 'ECC': '6FB7',
+ 'Hiddenkey': '6FC3',
+ 'NETPAR': '6FC4',
+ 'PNN': '6FC5',
+ 'OPL': '6FC6',
+ 'MBDN': '6FC7',
+ 'EXT6': '6FC8',
+ 'MBI': '6FC9',
+ 'MWIS': '6FCA',
+ 'CFIS': '6FCB',
+ 'EXT7': '6FCC',
+ 'SPDI': '6FCD',
+ 'MMSN': '6FCE',
+ 'EXT8': '6FCF',
+ 'MMSICP': '6FD0',
+ 'MMSUP': '6FD1',
+ 'MMSUCP': '6FD2',
+ 'NIA': '6FD3',
+ 'VGCSCA': '6FD4',
+ 'VBSCA': '6FD5',
+ 'GBAP': '6FD6',
+ 'MSK': '6FD7',
+ 'MUK': '6FD8',
+ 'EHPLMN': '6FD9',
+ 'GBANL': '6FDA',
+ 'EHPLMNPI': '6FDB',
+ 'LRPLMNSI': '6FDC',
+ 'NAFKCA': '6FDD',
+ 'SPNI': '6FDE',
+ 'PNNI': '6FDF',
+ 'NCP-IP': '6FE2',
+ 'EPSLOCI': '6FE3',
+ 'EPSNSC': '6FE4',
+ 'UFC': '6FE6',
+ 'UICCIARI': '6FE7',
+ 'NASCONFIG': '6FE8',
+ 'PWC': '6FEC',
+ 'FDNURI': '6FED',
+ 'BDNURI': '6FEE',
+ 'SDNURI': '6FEF',
+ 'IWL': '6FF0',
+ 'IPS': '6FF1',
+ 'IPD': '6FF2',
+ 'ePDGId': '6FF3',
+ 'ePDGSelection': '6FF4',
+ 'ePDGIdEm': '6FF5',
+ 'ePDGSelectionEm': '6FF6',
+}
diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py
index 1cec91f..37d2bc8 100644
--- a/pySim/ts_51_011.py
+++ b/pySim/ts_51_011.py
@@ -48,6 +48,7 @@ EF_num = {
# MF
'ICCID': '2FE2',
'ELP': '2F05',
+'DIR': '2F00',
# DF_TELECOM
'ADN': '6F3A',
@@ -164,6 +165,7 @@ DF = {
EF = {
'ICCID': [MF_num, EF_num['ICCID']],
'ELP': [MF_num, EF_num['ELP']],
+'DIR': [MF_num, EF_num['DIR']],
'ADN': DF['TELECOM']+[EF_num['ADN']],
'FDN': DF['TELECOM']+[EF_num['FDN']],