blob: 37d2bc8872d02b800e64da168b56ecd387db51db [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',
Sebastian Viviani0dc8f692020-05-29 00:14:55 +010051'DIR': '2F00',
Alexander Chemeris067f69c2017-07-18 16:44:26 +030052
53# DF_TELECOM
54'ADN': '6F3A',
55'FDN': '6F3B',
56'SMS': '6F3C',
57'CCP': '6F3D',
58'MSISDN': '6F40',
59'SMSP': '6F42',
60'SMSS': '6F43',
61'LND': '6F44',
62'SMSR': '6F47',
63'SDN': '6F49',
64'EXT1': '6F4A',
65'EXT2': '6F4B',
66'EXT3': '6F4C',
67'BDN': '6F4D',
68'EXT4': '6F4E',
69'CMI': '6F58',
70'ECCP': '6F4F',
71
72# DF_GRAPHICS
73'IMG': '4F20',
74
75# DF_SoLSA
76'SAI': '4F30',
77'SLL': '4F31',
78
79# DF_MExE
80'MExE-ST': '4F40',
81'ORPK': '4F41',
82'ARPK': '4F42',
83'TPRPK': '4F43',
84
85# DF_GSM
86'LP': '6F05',
87'IMSI': '6F07',
88'Kc': '6F20',
89'DCK': '6F2C',
90'PLMNsel': '6F30',
91'HPPLMN': '6F31',
92'CNL': '6F32',
93'ACMmax': '6F37',
94'SST': '6F38',
95'ACM': '6F39',
96'GID1': '6F3E',
97'GID2': '6F3F',
98'PUCT': '6F41',
99'CBMI': '6F45',
100'SPN': '6F46',
101'CBMID': '6F48',
102'BCCH': '6F74',
103'ACC': '6F78',
104'FPLMN': '6F7B',
105'LOCI': '6F7E',
106'AD': '6FAD',
107'PHASE': '6FAE',
108'VGCS': '6FB1',
109'VGCSS': '6FB2',
110'VBS': '6FB3',
111'VBSS': '6FB4',
112'eMLPP': '6FB5',
113'AAeM': '6FB6',
114'ECC': '6FB7',
115'CBMIR': '6F50',
116'NIA': '6F51',
117'KcGPRS': '6F52',
118'LOCIGPRS': '6F53',
119'SUME': '6F54',
120'PLMNwAcT': '6F60',
121'OPLMNwAcT': '6F61',
122# Figure 8 names it HPLMNAcT, but in the text it's names it HPLMNwAcT
123'HPLMNAcT': '6F62',
124'HPLMNwAcT': '6F62',
125'CPBCCH': '6F63',
126'INVSCAN': '6F64',
127'PNN': '6FC5',
128'OPL': '6FC6',
129'MBDN': '6FC7',
130'EXT6': '6FC8',
131'MBI': '6FC9',
132'MWIS': '6FCA',
133'CFIS': '6FCB',
134'EXT7': '6FCC',
135'SPDI': '6FCD',
136'MMSN': '6FCE',
137'EXT8': '6FCF',
138'MMSICP': '6FD0',
139'MMSUP': '6FD1',
140'MMSUCP': '6FD2',
141}
142
143DF = {
144'TELECOM': [MF_num, DF_num['TELECOM']],
145
146'GSM': [MF_num, DF_num['GSM']],
147'IS-41': [MF_num, DF_num['IS-41']],
148'FP-CTS': [MF_num, DF_num['FP-CTS']],
149
150'GRAPHICS': [MF_num, DF_num['GRAPHICS']],
151
152'IRIDIUM': [MF_num, DF_num['IRIDIUM']],
153'GLOBST': [MF_num, DF_num['GLOBST']],
154'ICO': [MF_num, DF_num['ICO']],
155'ACeS': [MF_num, DF_num['ACeS']],
156
157'EIA/TIA-553': [MF_num, DF_num['EIA/TIA-553']],
158'CTS': [MF_num, DF_num['CTS']],
159'SoLSA': [MF_num, DF_num['SOLSA']],
160
161'MExE': [MF_num, DF_num['MExE']],
162}
163
164
165EF = {
166'ICCID': [MF_num, EF_num['ICCID']],
167'ELP': [MF_num, EF_num['ELP']],
Sebastian Viviani0dc8f692020-05-29 00:14:55 +0100168'DIR': [MF_num, EF_num['DIR']],
Alexander Chemeris067f69c2017-07-18 16:44:26 +0300169
170'ADN': DF['TELECOM']+[EF_num['ADN']],
171'FDN': DF['TELECOM']+[EF_num['FDN']],
172'SMS': DF['TELECOM']+[EF_num['SMS']],
173'CCP': DF['TELECOM']+[EF_num['CCP']],
174'MSISDN': DF['TELECOM']+[EF_num['MSISDN']],
175'SMSP': DF['TELECOM']+[EF_num['SMSP']],
176'SMSS': DF['TELECOM']+[EF_num['SMSS']],
177'LND': DF['TELECOM']+[EF_num['LND']],
178'SMSR': DF['TELECOM']+[EF_num['SMSR']],
179'SDN': DF['TELECOM']+[EF_num['SDN']],
180'EXT1': DF['TELECOM']+[EF_num['EXT1']],
181'EXT2': DF['TELECOM']+[EF_num['EXT2']],
182'EXT3': DF['TELECOM']+[EF_num['EXT3']],
183'BDN': DF['TELECOM']+[EF_num['BDN']],
184'EXT4': DF['TELECOM']+[EF_num['EXT4']],
185'CMI': DF['TELECOM']+[EF_num['CMI']],
186'ECCP': DF['TELECOM']+[EF_num['ECCP']],
187
188'IMG': DF['GRAPHICS']+[EF_num['IMG']],
189
190'SAI': DF['SoLSA']+[EF_num['SAI']],
191'SLL': DF['SoLSA']+[EF_num['SLL']],
192
193'MExE-ST': DF['MExE']+[EF_num['MExE-ST']],
194'ORPK': DF['MExE']+[EF_num['ORPK']],
195'ARPK': DF['MExE']+[EF_num['ARPK']],
196'TPRPK': DF['MExE']+[EF_num['TPRPK']],
197
198'LP': DF['GSM']+[EF_num['LP']],
199'IMSI': DF['GSM']+[EF_num['IMSI']],
200'Kc': DF['GSM']+[EF_num['Kc']],
201'DCK': DF['GSM']+[EF_num['DCK']],
202'PLMNsel': DF['GSM']+[EF_num['PLMNsel']],
203'HPPLMN': DF['GSM']+[EF_num['HPPLMN']],
204'CNL': DF['GSM']+[EF_num['CNL']],
205'ACMmax': DF['GSM']+[EF_num['ACMmax']],
206'SST': DF['GSM']+[EF_num['SST']],
207'ACM': DF['GSM']+[EF_num['ACM']],
208'GID1': DF['GSM']+[EF_num['GID1']],
209'GID2': DF['GSM']+[EF_num['GID2']],
210'PUCT': DF['GSM']+[EF_num['PUCT']],
211'CBMI': DF['GSM']+[EF_num['CBMI']],
212'SPN': DF['GSM']+[EF_num['SPN']],
213'CBMID': DF['GSM']+[EF_num['CBMID']],
214'BCCH': DF['GSM']+[EF_num['BCCH']],
215'ACC': DF['GSM']+[EF_num['ACC']],
216'FPLMN': DF['GSM']+[EF_num['FPLMN']],
217'LOCI': DF['GSM']+[EF_num['LOCI']],
218'AD': DF['GSM']+[EF_num['AD']],
219'PHASE': DF['GSM']+[EF_num['PHASE']],
220'VGCS': DF['GSM']+[EF_num['VGCS']],
221'VGCSS': DF['GSM']+[EF_num['VGCSS']],
222'VBS': DF['GSM']+[EF_num['VBS']],
223'VBSS': DF['GSM']+[EF_num['VBSS']],
224'eMLPP': DF['GSM']+[EF_num['eMLPP']],
225'AAeM': DF['GSM']+[EF_num['AAeM']],
226'ECC': DF['GSM']+[EF_num['ECC']],
227'CBMIR': DF['GSM']+[EF_num['CBMIR']],
228'NIA': DF['GSM']+[EF_num['NIA']],
229'KcGPRS': DF['GSM']+[EF_num['KcGPRS']],
230'LOCIGPRS': DF['GSM']+[EF_num['LOCIGPRS']],
231'SUME': DF['GSM']+[EF_num['SUME']],
232'PLMNwAcT': DF['GSM']+[EF_num['PLMNwAcT']],
233'OPLMNwAcT': DF['GSM']+[EF_num['OPLMNwAcT']],
234# Figure 8 names it HPLMNAcT, but in the text it's names it HPLMNwAcT
235'HPLMNAcT': DF['GSM']+[EF_num['HPLMNAcT']],
236'HPLMNwAcT': DF['GSM']+[EF_num['HPLMNAcT']],
237'CPBCCH': DF['GSM']+[EF_num['CPBCCH']],
238'INVSCAN': DF['GSM']+[EF_num['INVSCAN']],
239'PNN': DF['GSM']+[EF_num['PNN']],
240'OPL': DF['GSM']+[EF_num['OPL']],
241'MBDN': DF['GSM']+[EF_num['MBDN']],
242'EXT6': DF['GSM']+[EF_num['EXT6']],
243'MBI': DF['GSM']+[EF_num['MBI']],
244'MWIS': DF['GSM']+[EF_num['MWIS']],
245'CFIS': DF['GSM']+[EF_num['CFIS']],
246'EXT7': DF['GSM']+[EF_num['EXT7']],
247'SPDI': DF['GSM']+[EF_num['SPDI']],
248'MMSN': DF['GSM']+[EF_num['MMSN']],
249'EXT8': DF['GSM']+[EF_num['EXT8']],
250'MMSICP': DF['GSM']+[EF_num['MMSICP']],
251'MMSUP': DF['GSM']+[EF_num['MMSUP']],
252'MMSUCP': DF['GSM']+[EF_num['MMSUCP']],
253}
Supreeth Herlebf5d6022020-03-20 15:18:27 +0100254
255# Mapping between SIM Service Number and its description
256EF_SST_map = {
257 1: 'CHV1 disable function',
258 2: 'Abbreviated Dialling Numbers (ADN)',
259 3: 'Fixed Dialling Numbers (FDN)',
260 4: 'Short Message Storage (SMS)',
261 5: 'Advice of Charge (AoC)',
262 6: 'Capability Configuration Parameters (CCP)',
263 7: 'PLMN selector',
264 8: 'RFU',
265 9: 'MSISDN',
266 10: 'Extension1',
267 11: 'Extension2',
268 12: 'SMS Parameters',
269 13: 'Last Number Dialled (LND)',
270 14: 'Cell Broadcast Message Identifier',
271 15: 'Group Identifier Level 1',
272 16: 'Group Identifier Level 2',
273 17: 'Service Provider Name',
274 18: 'Service Dialling Numbers (SDN)',
275 19: 'Extension3',
276 20: 'RFU',
277 21: 'VGCS Group Identifier List (EFVGCS and EFVGCSS)',
278 22: 'VBS Group Identifier List (EFVBS and EFVBSS)',
279 23: 'enhanced Multi-Level Precedence and Pre-emption Service',
280 24: 'Automatic Answer for eMLPP',
281 25: 'Data download via SMS-CB',
282 26: 'Data download via SMS-PP',
283 27: 'Menu selection',
284 28: 'Call control',
285 29: 'Proactive SIM',
286 30: 'Cell Broadcast Message Identifier Ranges',
287 31: 'Barred Dialling Numbers (BDN)',
288 32: 'Extension4',
289 33: 'De-personalization Control Keys',
290 34: 'Co-operative Network List',
291 35: 'Short Message Status Reports',
292 36: 'Network\'s indication of alerting in the MS',
293 37: 'Mobile Originated Short Message control by SIM',
294 38: 'GPRS',
295 39: 'Image (IMG)',
296 40: 'SoLSA (Support of Local Service Area)',
297 41: 'USSD string data object supported in Call Control',
298 42: 'RUN AT COMMAND command',
299 43: 'User controlled PLMN Selector with Access Technology',
300 44: 'Operator controlled PLMN Selector with Access Technology',
301 45: 'HPLMN Selector with Access Technology',
302 46: 'CPBCCH Information',
303 47: 'Investigation Scan',
304 48: 'Extended Capability Configuration Parameters',
305 49: 'MExE',
306 50: 'Reserved and shall be ignored',
307 51: 'PLMN Network Name',
308 52: 'Operator PLMN List',
309 53: 'Mailbox Dialling Numbers',
310 54: 'Message Waiting Indication Status',
311 55: 'Call Forwarding Indication Status',
312 56: 'Service Provider Display Information',
313 57: 'Multimedia Messaging Service (MMS)',
314 58: 'Extension 8',
315 59: 'MMS User Connectivity Parameters',
316}