blob: 754d57ffa0a2ed0e5ecfc53c1700f27b6a76d1b2 [file] [log] [blame]
Alexander Chemeris067f69c2017-07-18 16:44:26 +03001#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3
4""" Various constants from ETSI TS 151.011
5"""
6
7#
8# Copyright (C) 2017 Alexander.Chemeris <Alexander.Chemeris@gmail.com>
9#
10# This program is free software: you can redistribute it and/or modify
11# it under the terms of the GNU General Public License as published by
12# the Free Software Foundation, either version 2 of the License, or
13# (at your option) any later version.
14#
15# This program is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18# GNU General Public License for more details.
19#
20# You should have received a copy of the GNU General Public License
21# along with this program. If not, see <http://www.gnu.org/licenses/>.
22#
23
24MF_num = '3F00'
25
26DF_num = {
27'TELECOM': '7F10',
28
29'GSM': '7F20',
30'IS-41': '7F22',
31'FP-CTS': '7F23',
32
33'GRAPHICS': '5F50',
34
35'IRIDIUM': '5F30',
36'GLOBST': '5F31',
37'ICO': '5F32',
38'ACeS': '5F33',
39
40'EIA/TIA-553': '5F40',
41'CTS': '5F60',
42'SOLSA': '5F70',
43
44'MExE': '5F3C',
45}
46
47EF_num = {
48# MF
49'ICCID': '2FE2',
50'ELP': '2F05',
51
52# DF_TELECOM
53'ADN': '6F3A',
54'FDN': '6F3B',
55'SMS': '6F3C',
56'CCP': '6F3D',
57'MSISDN': '6F40',
58'SMSP': '6F42',
59'SMSS': '6F43',
60'LND': '6F44',
61'SMSR': '6F47',
62'SDN': '6F49',
63'EXT1': '6F4A',
64'EXT2': '6F4B',
65'EXT3': '6F4C',
66'BDN': '6F4D',
67'EXT4': '6F4E',
68'CMI': '6F58',
69'ECCP': '6F4F',
70
71# DF_GRAPHICS
72'IMG': '4F20',
73
74# DF_SoLSA
75'SAI': '4F30',
76'SLL': '4F31',
77
78# DF_MExE
79'MExE-ST': '4F40',
80'ORPK': '4F41',
81'ARPK': '4F42',
82'TPRPK': '4F43',
83
84# DF_GSM
85'LP': '6F05',
86'IMSI': '6F07',
87'Kc': '6F20',
88'DCK': '6F2C',
89'PLMNsel': '6F30',
90'HPPLMN': '6F31',
91'CNL': '6F32',
92'ACMmax': '6F37',
93'SST': '6F38',
94'ACM': '6F39',
95'GID1': '6F3E',
96'GID2': '6F3F',
97'PUCT': '6F41',
98'CBMI': '6F45',
99'SPN': '6F46',
100'CBMID': '6F48',
101'BCCH': '6F74',
102'ACC': '6F78',
103'FPLMN': '6F7B',
104'LOCI': '6F7E',
105'AD': '6FAD',
106'PHASE': '6FAE',
107'VGCS': '6FB1',
108'VGCSS': '6FB2',
109'VBS': '6FB3',
110'VBSS': '6FB4',
111'eMLPP': '6FB5',
112'AAeM': '6FB6',
113'ECC': '6FB7',
114'CBMIR': '6F50',
115'NIA': '6F51',
116'KcGPRS': '6F52',
117'LOCIGPRS': '6F53',
118'SUME': '6F54',
119'PLMNwAcT': '6F60',
120'OPLMNwAcT': '6F61',
121# Figure 8 names it HPLMNAcT, but in the text it's names it HPLMNwAcT
122'HPLMNAcT': '6F62',
123'HPLMNwAcT': '6F62',
124'CPBCCH': '6F63',
125'INVSCAN': '6F64',
126'PNN': '6FC5',
127'OPL': '6FC6',
128'MBDN': '6FC7',
129'EXT6': '6FC8',
130'MBI': '6FC9',
131'MWIS': '6FCA',
132'CFIS': '6FCB',
133'EXT7': '6FCC',
134'SPDI': '6FCD',
135'MMSN': '6FCE',
136'EXT8': '6FCF',
137'MMSICP': '6FD0',
138'MMSUP': '6FD1',
139'MMSUCP': '6FD2',
140}
141
142DF = {
143'TELECOM': [MF_num, DF_num['TELECOM']],
144
145'GSM': [MF_num, DF_num['GSM']],
146'IS-41': [MF_num, DF_num['IS-41']],
147'FP-CTS': [MF_num, DF_num['FP-CTS']],
148
149'GRAPHICS': [MF_num, DF_num['GRAPHICS']],
150
151'IRIDIUM': [MF_num, DF_num['IRIDIUM']],
152'GLOBST': [MF_num, DF_num['GLOBST']],
153'ICO': [MF_num, DF_num['ICO']],
154'ACeS': [MF_num, DF_num['ACeS']],
155
156'EIA/TIA-553': [MF_num, DF_num['EIA/TIA-553']],
157'CTS': [MF_num, DF_num['CTS']],
158'SoLSA': [MF_num, DF_num['SOLSA']],
159
160'MExE': [MF_num, DF_num['MExE']],
161}
162
163
164EF = {
165'ICCID': [MF_num, EF_num['ICCID']],
166'ELP': [MF_num, EF_num['ELP']],
167
168'ADN': DF['TELECOM']+[EF_num['ADN']],
169'FDN': DF['TELECOM']+[EF_num['FDN']],
170'SMS': DF['TELECOM']+[EF_num['SMS']],
171'CCP': DF['TELECOM']+[EF_num['CCP']],
172'MSISDN': DF['TELECOM']+[EF_num['MSISDN']],
173'SMSP': DF['TELECOM']+[EF_num['SMSP']],
174'SMSS': DF['TELECOM']+[EF_num['SMSS']],
175'LND': DF['TELECOM']+[EF_num['LND']],
176'SMSR': DF['TELECOM']+[EF_num['SMSR']],
177'SDN': DF['TELECOM']+[EF_num['SDN']],
178'EXT1': DF['TELECOM']+[EF_num['EXT1']],
179'EXT2': DF['TELECOM']+[EF_num['EXT2']],
180'EXT3': DF['TELECOM']+[EF_num['EXT3']],
181'BDN': DF['TELECOM']+[EF_num['BDN']],
182'EXT4': DF['TELECOM']+[EF_num['EXT4']],
183'CMI': DF['TELECOM']+[EF_num['CMI']],
184'ECCP': DF['TELECOM']+[EF_num['ECCP']],
185
186'IMG': DF['GRAPHICS']+[EF_num['IMG']],
187
188'SAI': DF['SoLSA']+[EF_num['SAI']],
189'SLL': DF['SoLSA']+[EF_num['SLL']],
190
191'MExE-ST': DF['MExE']+[EF_num['MExE-ST']],
192'ORPK': DF['MExE']+[EF_num['ORPK']],
193'ARPK': DF['MExE']+[EF_num['ARPK']],
194'TPRPK': DF['MExE']+[EF_num['TPRPK']],
195
196'LP': DF['GSM']+[EF_num['LP']],
197'IMSI': DF['GSM']+[EF_num['IMSI']],
198'Kc': DF['GSM']+[EF_num['Kc']],
199'DCK': DF['GSM']+[EF_num['DCK']],
200'PLMNsel': DF['GSM']+[EF_num['PLMNsel']],
201'HPPLMN': DF['GSM']+[EF_num['HPPLMN']],
202'CNL': DF['GSM']+[EF_num['CNL']],
203'ACMmax': DF['GSM']+[EF_num['ACMmax']],
204'SST': DF['GSM']+[EF_num['SST']],
205'ACM': DF['GSM']+[EF_num['ACM']],
206'GID1': DF['GSM']+[EF_num['GID1']],
207'GID2': DF['GSM']+[EF_num['GID2']],
208'PUCT': DF['GSM']+[EF_num['PUCT']],
209'CBMI': DF['GSM']+[EF_num['CBMI']],
210'SPN': DF['GSM']+[EF_num['SPN']],
211'CBMID': DF['GSM']+[EF_num['CBMID']],
212'BCCH': DF['GSM']+[EF_num['BCCH']],
213'ACC': DF['GSM']+[EF_num['ACC']],
214'FPLMN': DF['GSM']+[EF_num['FPLMN']],
215'LOCI': DF['GSM']+[EF_num['LOCI']],
216'AD': DF['GSM']+[EF_num['AD']],
217'PHASE': DF['GSM']+[EF_num['PHASE']],
218'VGCS': DF['GSM']+[EF_num['VGCS']],
219'VGCSS': DF['GSM']+[EF_num['VGCSS']],
220'VBS': DF['GSM']+[EF_num['VBS']],
221'VBSS': DF['GSM']+[EF_num['VBSS']],
222'eMLPP': DF['GSM']+[EF_num['eMLPP']],
223'AAeM': DF['GSM']+[EF_num['AAeM']],
224'ECC': DF['GSM']+[EF_num['ECC']],
225'CBMIR': DF['GSM']+[EF_num['CBMIR']],
226'NIA': DF['GSM']+[EF_num['NIA']],
227'KcGPRS': DF['GSM']+[EF_num['KcGPRS']],
228'LOCIGPRS': DF['GSM']+[EF_num['LOCIGPRS']],
229'SUME': DF['GSM']+[EF_num['SUME']],
230'PLMNwAcT': DF['GSM']+[EF_num['PLMNwAcT']],
231'OPLMNwAcT': DF['GSM']+[EF_num['OPLMNwAcT']],
232# Figure 8 names it HPLMNAcT, but in the text it's names it HPLMNwAcT
233'HPLMNAcT': DF['GSM']+[EF_num['HPLMNAcT']],
234'HPLMNwAcT': DF['GSM']+[EF_num['HPLMNAcT']],
235'CPBCCH': DF['GSM']+[EF_num['CPBCCH']],
236'INVSCAN': DF['GSM']+[EF_num['INVSCAN']],
237'PNN': DF['GSM']+[EF_num['PNN']],
238'OPL': DF['GSM']+[EF_num['OPL']],
239'MBDN': DF['GSM']+[EF_num['MBDN']],
240'EXT6': DF['GSM']+[EF_num['EXT6']],
241'MBI': DF['GSM']+[EF_num['MBI']],
242'MWIS': DF['GSM']+[EF_num['MWIS']],
243'CFIS': DF['GSM']+[EF_num['CFIS']],
244'EXT7': DF['GSM']+[EF_num['EXT7']],
245'SPDI': DF['GSM']+[EF_num['SPDI']],
246'MMSN': DF['GSM']+[EF_num['MMSN']],
247'EXT8': DF['GSM']+[EF_num['EXT8']],
248'MMSICP': DF['GSM']+[EF_num['MMSICP']],
249'MMSUP': DF['GSM']+[EF_num['MMSUP']],
250'MMSUCP': DF['GSM']+[EF_num['MMSUCP']],
251}