[MERGED] 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
Sat Jan 13 11:49:02 UTC 2018


Alexander Chemeris has submitted this change and it was merged.

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


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(-)

Approvals:
  Vadim Yanitskiy: Looks good to me, but someone else must approve
  Alexander Chemeris: Verified
  Harald Welte: Looks good to me, approved



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: merged
Gerrit-Change-Id: I38f5d36d16b41b5d516a6a3e2ec1d09637883932
Gerrit-PatchSet: 1
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Owner: Alexander Chemeris <Alexander.Chemeris at gmail.com>
Gerrit-Reviewer: Alexander Chemeris <Alexander.Chemeris at gmail.com>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Vadim Yanitskiy <axilirator at gmail.com>



More information about the gerrit-log mailing list