Alexander Chemeris | 067f69c | 2017-07-18 16:44:26 +0300 | [diff] [blame] | 1 | #!/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 | |
| 24 | MF_num = '3F00' |
| 25 | |
| 26 | DF_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 | |
| 47 | EF_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 | |
| 142 | DF = { |
| 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 | |
| 164 | EF = { |
| 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 | } |