create pySim.legacy.ts_51_011.py and move legacy code there
Those old flat dicts indicating FID to string-name mapping have long
been obsoleted by the pySim.filsystem based classes.
Change-Id: I20ceea3fdb02ee70d8c8889c078b2e5a0f17c83b
diff --git a/pySim-prog.py b/pySim-prog.py
index 2e9d5d7..c07bfd1 100755
--- a/pySim-prog.py
+++ b/pySim-prog.py
@@ -38,7 +38,8 @@
from pySim.transport import init_reader
from pySim.legacy.cards import _cards_classes, card_detect
from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid
-from pySim.ts_51_011 import EF, EF_AD
+from pySim.ts_51_011 import EF_AD
+from pySim.legacy.ts_51_011 import EF
from pySim.card_handler import *
from pySim.utils import *
diff --git a/pySim-read.py b/pySim-read.py
index 52c60be..74bb35a 100755
--- a/pySim-read.py
+++ b/pySim-read.py
@@ -28,7 +28,8 @@
import random
import re
import sys
-from pySim.ts_51_011 import EF, DF, EF_SST_map, EF_AD
+from pySim.ts_51_011 import EF_SST_map, EF_AD
+from pySim.legacy.ts_51_011 import EF, DF
from pySim.ts_31_102 import EF_UST_map, EF_USIM_ADF_map
from pySim.ts_31_103 import EF_IST_map, EF_ISIM_ADF_map
diff --git a/pySim/legacy/cards.py b/pySim/legacy/cards.py
index e63b044..bb3e8a5 100644
--- a/pySim/legacy/cards.py
+++ b/pySim/legacy/cards.py
@@ -13,8 +13,9 @@
from pySim.utils import is_hex, h2b, b2h, h2s, s2h, lpad, rpad
from pySim.legacy.utils import enc_ePDGSelection, format_xplmn_w_act, format_xplmn, dec_st, enc_st
from pySim.legacy.utils import format_ePDGSelection
+from pySim.legacy.ts_51_011 import EF, DF
-from pySim.ts_51_011 import EF, DF, EF_AD, EF_SPN
+from pySim.ts_51_011 import EF_AD, EF_SPN
from pySim.ts_31_102 import EF_USIM_ADF_map
from pySim.ts_31_103 import EF_ISIM_ADF_map
diff --git a/pySim/legacy/ts_51_011.py b/pySim/legacy/ts_51_011.py
new file mode 100644
index 0000000..a384b1d
--- /dev/null
+++ b/pySim/legacy/ts_51_011.py
@@ -0,0 +1,257 @@
+# -*- coding: utf-8 -*-
+
+""" Various constants from 3GPP TS 51.011 used by *legacy* code only.
+
+This will likely be removed in future versions of pySim. Please instead
+use the pySim.filesystem class model with the various profile/application
+specific extension modules.
+"""
+
+# Copyright (C) 2017 Alexander.Chemeris <Alexander.Chemeris@gmail.com>
+# Copyright (C) 2021 Harald Welte <laforge@osmocom.org>
+#
+# 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',
+ 'DIR': '2F00',
+
+ # 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']],
+ 'DIR': [MF_num, EF_num['DIR']],
+
+ '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']],
+}
+
diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py
index 700fb02..1f98e72 100644
--- a/pySim/ts_51_011.py
+++ b/pySim/ts_51_011.py
@@ -41,236 +41,6 @@
from typing import Tuple
from pySim.tlv import *
from pySim.utils import *
-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',
- 'DIR': '2F00',
-
- # 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']],
- 'DIR': [MF_num, EF_num['DIR']],
-
- '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']],
-}
# Mapping between SIM Service Number and its description
EF_SST_map = {