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.orgAlexander 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>