aboutsummaryrefslogtreecommitdiffstats
path: root/pySim
diff options
context:
space:
mode:
Diffstat (limited to 'pySim')
-rw-r--r--pySim/ts_51_011.py251
1 files changed, 251 insertions, 0 deletions
diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py
new file mode 100644
index 0000000..754d57f
--- /dev/null
+++ b/pySim/ts_51_011.py
@@ -0,0 +1,251 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+""" Various constants from ETSI TS 151.011
+"""
+
+#
+# Copyright (C) 2017 Alexander.Chemeris <Alexander.Chemeris@gmail.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+MF_num = '3F00'
+
+DF_num = {
+'TELECOM': '7F10',
+
+'GSM': '7F20',
+'IS-41': '7F22',
+'FP-CTS': '7F23',
+
+'GRAPHICS': '5F50',
+
+'IRIDIUM': '5F30',
+'GLOBST': '5F31',
+'ICO': '5F32',
+'ACeS': '5F33',
+
+'EIA/TIA-553': '5F40',
+'CTS': '5F60',
+'SOLSA': '5F70',
+
+'MExE': '5F3C',
+}
+
+EF_num = {
+# MF
+'ICCID': '2FE2',
+'ELP': '2F05',
+
+# DF_TELECOM
+'ADN': '6F3A',
+'FDN': '6F3B',
+'SMS': '6F3C',
+'CCP': '6F3D',
+'MSISDN': '6F40',
+'SMSP': '6F42',
+'SMSS': '6F43',
+'LND': '6F44',
+'SMSR': '6F47',
+'SDN': '6F49',
+'EXT1': '6F4A',
+'EXT2': '6F4B',
+'EXT3': '6F4C',
+'BDN': '6F4D',
+'EXT4': '6F4E',
+'CMI': '6F58',
+'ECCP': '6F4F',
+
+# DF_GRAPHICS
+'IMG': '4F20',
+
+# DF_SoLSA
+'SAI': '4F30',
+'SLL': '4F31',
+
+# DF_MExE
+'MExE-ST': '4F40',
+'ORPK': '4F41',
+'ARPK': '4F42',
+'TPRPK': '4F43',
+
+# DF_GSM
+'LP': '6F05',
+'IMSI': '6F07',
+'Kc': '6F20',
+'DCK': '6F2C',
+'PLMNsel': '6F30',
+'HPPLMN': '6F31',
+'CNL': '6F32',
+'ACMmax': '6F37',
+'SST': '6F38',
+'ACM': '6F39',
+'GID1': '6F3E',
+'GID2': '6F3F',
+'PUCT': '6F41',
+'CBMI': '6F45',
+'SPN': '6F46',
+'CBMID': '6F48',
+'BCCH': '6F74',
+'ACC': '6F78',
+'FPLMN': '6F7B',
+'LOCI': '6F7E',
+'AD': '6FAD',
+'PHASE': '6FAE',
+'VGCS': '6FB1',
+'VGCSS': '6FB2',
+'VBS': '6FB3',
+'VBSS': '6FB4',
+'eMLPP': '6FB5',
+'AAeM': '6FB6',
+'ECC': '6FB7',
+'CBMIR': '6F50',
+'NIA': '6F51',
+'KcGPRS': '6F52',
+'LOCIGPRS': '6F53',
+'SUME': '6F54',
+'PLMNwAcT': '6F60',
+'OPLMNwAcT': '6F61',
+# Figure 8 names it HPLMNAcT, but in the text it's names it HPLMNwAcT
+'HPLMNAcT': '6F62',
+'HPLMNwAcT': '6F62',
+'CPBCCH': '6F63',
+'INVSCAN': '6F64',
+'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',
+}
+
+DF = {
+'TELECOM': [MF_num, DF_num['TELECOM']],
+
+'GSM': [MF_num, DF_num['GSM']],
+'IS-41': [MF_num, DF_num['IS-41']],
+'FP-CTS': [MF_num, DF_num['FP-CTS']],
+
+'GRAPHICS': [MF_num, DF_num['GRAPHICS']],
+
+'IRIDIUM': [MF_num, DF_num['IRIDIUM']],
+'GLOBST': [MF_num, DF_num['GLOBST']],
+'ICO': [MF_num, DF_num['ICO']],
+'ACeS': [MF_num, DF_num['ACeS']],
+
+'EIA/TIA-553': [MF_num, DF_num['EIA/TIA-553']],
+'CTS': [MF_num, DF_num['CTS']],
+'SoLSA': [MF_num, DF_num['SOLSA']],
+
+'MExE': [MF_num, DF_num['MExE']],
+}
+
+
+EF = {
+'ICCID': [MF_num, EF_num['ICCID']],
+'ELP': [MF_num, EF_num['ELP']],
+
+'ADN': DF['TELECOM']+[EF_num['ADN']],
+'FDN': DF['TELECOM']+[EF_num['FDN']],
+'SMS': DF['TELECOM']+[EF_num['SMS']],
+'CCP': DF['TELECOM']+[EF_num['CCP']],
+'MSISDN': DF['TELECOM']+[EF_num['MSISDN']],
+'SMSP': DF['TELECOM']+[EF_num['SMSP']],
+'SMSS': DF['TELECOM']+[EF_num['SMSS']],
+'LND': DF['TELECOM']+[EF_num['LND']],
+'SMSR': DF['TELECOM']+[EF_num['SMSR']],
+'SDN': DF['TELECOM']+[EF_num['SDN']],
+'EXT1': DF['TELECOM']+[EF_num['EXT1']],
+'EXT2': DF['TELECOM']+[EF_num['EXT2']],
+'EXT3': DF['TELECOM']+[EF_num['EXT3']],
+'BDN': DF['TELECOM']+[EF_num['BDN']],
+'EXT4': DF['TELECOM']+[EF_num['EXT4']],
+'CMI': DF['TELECOM']+[EF_num['CMI']],
+'ECCP': DF['TELECOM']+[EF_num['ECCP']],
+
+'IMG': DF['GRAPHICS']+[EF_num['IMG']],
+
+'SAI': DF['SoLSA']+[EF_num['SAI']],
+'SLL': DF['SoLSA']+[EF_num['SLL']],
+
+'MExE-ST': DF['MExE']+[EF_num['MExE-ST']],
+'ORPK': DF['MExE']+[EF_num['ORPK']],
+'ARPK': DF['MExE']+[EF_num['ARPK']],
+'TPRPK': DF['MExE']+[EF_num['TPRPK']],
+
+'LP': DF['GSM']+[EF_num['LP']],
+'IMSI': DF['GSM']+[EF_num['IMSI']],
+'Kc': DF['GSM']+[EF_num['Kc']],
+'DCK': DF['GSM']+[EF_num['DCK']],
+'PLMNsel': DF['GSM']+[EF_num['PLMNsel']],
+'HPPLMN': DF['GSM']+[EF_num['HPPLMN']],
+'CNL': DF['GSM']+[EF_num['CNL']],
+'ACMmax': DF['GSM']+[EF_num['ACMmax']],
+'SST': DF['GSM']+[EF_num['SST']],
+'ACM': DF['GSM']+[EF_num['ACM']],
+'GID1': DF['GSM']+[EF_num['GID1']],
+'GID2': DF['GSM']+[EF_num['GID2']],
+'PUCT': DF['GSM']+[EF_num['PUCT']],
+'CBMI': DF['GSM']+[EF_num['CBMI']],
+'SPN': DF['GSM']+[EF_num['SPN']],
+'CBMID': DF['GSM']+[EF_num['CBMID']],
+'BCCH': DF['GSM']+[EF_num['BCCH']],
+'ACC': DF['GSM']+[EF_num['ACC']],
+'FPLMN': DF['GSM']+[EF_num['FPLMN']],
+'LOCI': DF['GSM']+[EF_num['LOCI']],
+'AD': DF['GSM']+[EF_num['AD']],
+'PHASE': DF['GSM']+[EF_num['PHASE']],
+'VGCS': DF['GSM']+[EF_num['VGCS']],
+'VGCSS': DF['GSM']+[EF_num['VGCSS']],
+'VBS': DF['GSM']+[EF_num['VBS']],
+'VBSS': DF['GSM']+[EF_num['VBSS']],
+'eMLPP': DF['GSM']+[EF_num['eMLPP']],
+'AAeM': DF['GSM']+[EF_num['AAeM']],
+'ECC': DF['GSM']+[EF_num['ECC']],
+'CBMIR': DF['GSM']+[EF_num['CBMIR']],
+'NIA': DF['GSM']+[EF_num['NIA']],
+'KcGPRS': DF['GSM']+[EF_num['KcGPRS']],
+'LOCIGPRS': DF['GSM']+[EF_num['LOCIGPRS']],
+'SUME': DF['GSM']+[EF_num['SUME']],
+'PLMNwAcT': DF['GSM']+[EF_num['PLMNwAcT']],
+'OPLMNwAcT': DF['GSM']+[EF_num['OPLMNwAcT']],
+# Figure 8 names it HPLMNAcT, but in the text it's names it HPLMNwAcT
+'HPLMNAcT': DF['GSM']+[EF_num['HPLMNAcT']],
+'HPLMNwAcT': DF['GSM']+[EF_num['HPLMNAcT']],
+'CPBCCH': DF['GSM']+[EF_num['CPBCCH']],
+'INVSCAN': DF['GSM']+[EF_num['INVSCAN']],
+'PNN': DF['GSM']+[EF_num['PNN']],
+'OPL': DF['GSM']+[EF_num['OPL']],
+'MBDN': DF['GSM']+[EF_num['MBDN']],
+'EXT6': DF['GSM']+[EF_num['EXT6']],
+'MBI': DF['GSM']+[EF_num['MBI']],
+'MWIS': DF['GSM']+[EF_num['MWIS']],
+'CFIS': DF['GSM']+[EF_num['CFIS']],
+'EXT7': DF['GSM']+[EF_num['EXT7']],
+'SPDI': DF['GSM']+[EF_num['SPDI']],
+'MMSN': DF['GSM']+[EF_num['MMSN']],
+'EXT8': DF['GSM']+[EF_num['EXT8']],
+'MMSICP': DF['GSM']+[EF_num['MMSICP']],
+'MMSUP': DF['GSM']+[EF_num['MMSUP']],
+'MMSUCP': DF['GSM']+[EF_num['MMSUCP']],
+}