[PATCH] pysim[master]: ts_51_011: A file with MF/DF/EF constants from TS 51 011

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Alexander Chemeris gerrit-no-reply at lists.osmocom.org
Wed Jan 10 05:05:13 UTC 2018


Review at  https://gerrit.osmocom.org/5714

ts_51_011: A file with MF/DF/EF constants from TS 51 011

pySim has been using magic numbers to access various files which makes it hard
to read, maintain and extend. With this file in place we can start replacing all
those magic numbers with human readable names lile EF['IMSI'] instead of
['3F00', '7F20', '6F07'].

Change-Id: I38f5d36d16b41b5d516a6a3e2ec1d09637883932
---
A pySim/ts_51_011.py
1 file changed, 251 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/14/5714/1

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 at 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']],
+}

-- 
To view, visit https://gerrit.osmocom.org/5714
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I38f5d36d16b41b5d516a6a3e2ec1d09637883932
Gerrit-PatchSet: 1
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Owner: Alexander Chemeris <Alexander.Chemeris at gmail.com>



More information about the gerrit-log mailing list