1/* 2 * Copyright (C) 2021-2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import {AsyncCallback} from "./basic"; 17 18/** 19 * Provides applications with APIs for obtaining SIM card status, card file information, and card specifications. 20 * SIM cards include SIM, USIM, and CSIM cards. 21 * 22 * @since 6 23 * @syscap SystemCapability.Telephony.CoreService 24 */ 25declare namespace sim { 26 /** 27 * Checks whether the SIM card in a specified slot is activated. 28 * 29 * @param slotId Indicates the card slot index number, 30 * ranging from {@code 0} to the maximum card slot index number supported by the device. 31 * @param callback Returns {@code true} if the SIM card is activated; returns {@code false} otherwise. 32 * @since 7 33 */ 34 function isSimActive(slotId: number, callback: AsyncCallback<boolean>): void; 35 function isSimActive(slotId: number): Promise<boolean>; 36 37 /** 38 * Obtains the default card slot for the voice service. 39 * 40 * @param callback Returns {@code 0} if card 1 is used as the default card slot for the voice service; 41 * returns {@code 1} if card 2 is used as the default card slot for the voice service; 42 * returns {@code -1} if no card is available for the voice service. 43 * @since 7 44 */ 45 function getDefaultVoiceSlotId(callback: AsyncCallback<number>): void; 46 function getDefaultVoiceSlotId(): Promise<number>; 47 48 /** 49 * Checks whether your application (the caller) has been granted the operator permissions. 50 * 51 * @param slotId Indicates the ID of the SIM card slot. 52 * @param callback Returns {@code true} if your application has been granted the operator permissions; 53 * returns {@code false} otherwise. 54 * @since 7 55 */ 56 function hasOperatorPrivileges(slotId: number, callback: AsyncCallback<boolean>): void; 57 function hasOperatorPrivileges(slotId: number): Promise<boolean>; 58 59 /** 60 * Obtains the ISO country code of the SIM card in a specified slot. 61 * 62 * @param slotId Indicates the card slot index number, 63 * ranging from 0 to the maximum card slot index number supported by the device. 64 * @param callback Returns the country code defined in ISO 3166-2; returns an empty string if no SIM card is inserted. 65 */ 66 function getISOCountryCodeForSim(slotId: number, callback: AsyncCallback<string>): void; 67 function getISOCountryCodeForSim(slotId: number): Promise<string>; 68 69 /** 70 * Obtains the home PLMN number of the SIM card in a specified slot. 71 * 72 * <p>The value is recorded in the SIM card and is irrelevant to the network 73 * with which the SIM card is currently registered. 74 * 75 * @param slotId Indicates the card slot index number, 76 * ranging from 0 to the maximum card slot index number supported by the device. 77 * @param callback Returns the PLMN number; returns an empty string if no SIM card is inserted. 78 */ 79 function getSimOperatorNumeric(slotId: number, callback: AsyncCallback<string>): void; 80 function getSimOperatorNumeric(slotId: number): Promise<string>; 81 82 /** 83 * Obtains the service provider name (SPN) of the SIM card in a specified slot. 84 * 85 * <p>The value is recorded in the EFSPN file of the SIM card and is irrelevant to the network 86 * with which the SIM card is currently registered. 87 * 88 * @param slotId Indicates the card slot index number, 89 * ranging from 0 to the maximum card slot index number supported by the device. 90 * @param callback Returns the SPN; returns an empty string if no SIM card is inserted or 91 * no EFSPN file in the SIM card. 92 */ 93 function getSimSpn(slotId: number, callback: AsyncCallback<string>): void; 94 function getSimSpn(slotId: number): Promise<string>; 95 96 /** 97 * Obtains the state of the SIM card in a specified slot. 98 * 99 * @param slotId Indicates the card slot index number, 100 * ranging from {@code 0} to the maximum card slot index number supported by the device. 101 * @param callback Returns one of the following SIM card states: 102 * <ul> 103 * <li>{@code SimState#SIM_STATE_UNKNOWN} 104 * <li>{@code SimState#SIM_STATE_NOT_PRESENT} 105 * <li>{@code SimState#SIM_STATE_LOCKED} 106 * <li>{@code SimState#SIM_STATE_NOT_READY} 107 * <li>{@code SimState#SIM_STATE_READY} 108 * <li>{@code SimState#SIM_STATE_LOADED} 109 * </ul> 110 */ 111 function getSimState(slotId: number, callback: AsyncCallback<SimState>): void; 112 function getSimState(slotId: number): Promise<SimState>; 113 114 /** 115 * Obtains the type of the SIM card installed in a specified slot. 116 * 117 * @param slotId Indicates the ID of the specified slot. 118 * @param callback Returns the SIM card type. 119 * @since 7 120 */ 121 function getCardType(slotId: number, callback: AsyncCallback<CardType>): void; 122 function getCardType(slotId: number): Promise<CardType>; 123 124 /** 125 * Obtains the ICCID of the SIM card in a specified slot. 126 * 127 * <p>The ICCID is a unique identifier of a SIM card. It consists of 20 digits 128 * and is recorded in the EFICCID file of the SIM card. 129 * 130 * @param slotId Indicates the card slot index number, 131 * ranging from 0 to the maximum card slot index number supported by the device. 132 * @param callback Returns the ICCID; returns an empty string if no SIM card is inserted. 133 * @permission ohos.permission.GET_TELEPHONY_STATE 134 * @systemapi Hide this for inner system use. 135 * @since 7 136 */ 137 function getSimIccId(slotId: number, callback: AsyncCallback<string>): void; 138 function getSimIccId(slotId: number): Promise<string>; 139 140 /** 141 * Obtains the alpha identifier of the voice mailbox of the SIM card in a specified slot. 142 * 143 * @param slotId Indicates the card slot index number, 144 * ranging from {@code 0} to the maximum card slot index number supported by the device. 145 * @param callback Returns the voice mailbox alpha identifier; 146 * returns an empty string if no voice mailbox alpha identifier is written into the SIM card. 147 * @permission ohos.permission.GET_TELEPHONY_STATE 148 * @systemapi Hide this for inner system use. 149 * @since 8 150 */ 151 function getVoiceMailIdentifier(slotId: number, callback: AsyncCallback<string>): void; 152 function getVoiceMailIdentifier(slotId: number): Promise<string>; 153 154 /** 155 * Obtains the voice mailbox number of the SIM card in a specified slot. 156 * 157 * @param slotId Indicates the card slot index number, 158 * ranging from {@code 0} to the maximum card slot index number supported by the device. 159 * @param callback Returns the voice mailbox number; 160 * returns an empty string if no voice mailbox number is written into the SIM card. 161 * @permission ohos.permission.GET_TELEPHONY_STATE 162 * @systemapi Hide this for inner system use. 163 * @since 8 164 */ 165 function getVoiceMailNumber(slotId: number, callback: AsyncCallback<string>): void; 166 function getVoiceMailNumber(slotId: number): Promise<string>; 167 168 /** 169 * @permission ohos.permission.SET_TELEPHONY_STATE 170 * @systemapi Hide this for inner system use. 171 * @since 8 172 */ 173 function setVoiceMailInfo(slotId: number, mailName: string, mailNumber: string, callback: AsyncCallback<void>): void; 174 function setVoiceMailInfo(slotId: number, mailName: string, mailNumber: string): Promise<void>; 175 176 /** 177 * Obtains the MSISDN of the SIM card in a specified slot. 178 * The MSISDN is recorded in the EFMSISDN file of the SIM card. 179 * 180 * @param slotId Indicates the card slot index number, 181 * ranging from 0 to the maximum card slot index number supported by the device. 182 * @param callback Returns the MSISDN; returns an empty string if no SIM card is inserted or 183 * no MSISDN is recorded in the EFMSISDN file. 184 * @permission ohos.permission.GET_TELEPHONY_STATE 185 * @systemapi Hide this for inner system use. 186 * @since 8 187 */ 188 function getSimTelephoneNumber(slotId: number, callback: AsyncCallback<string>): void; 189 function getSimTelephoneNumber(slotId: number): Promise<string>; 190 191 /** 192 * Obtains the Group Identifier Level 1 (GID1) of the SIM card in a specified slot. 193 * The GID1 is recorded in the EFGID1 file of the SIM card. 194 * 195 * @param slotId Indicates the card slot index number, 196 * ranging from 0 to the maximum card slot index number supported by the device. 197 * @param callback Returns the GID1; returns an empty string if no SIM card is inserted or 198 * no GID1 in the SIM card. 199 * @permission ohos.permission.GET_TELEPHONY_STATE 200 * @systemapi Hide this for inner system use. 201 * @since 7 202 */ 203 function getSimGid1(slotId: number, callback: AsyncCallback<string>): void; 204 function getSimGid1(slotId: number): Promise<string>; 205 206 /** 207 * Obtains the maximum number of SIM cards that can be used simultaneously on the device, 208 * that is, the maximum number of SIM card slots. 209 * 210 * @return Returns the maximum number of SIM card slots. 211 * @since 7 212 */ 213 function getMaxSimCount(): number; 214 215 /** 216 * @permission ohos.permission.GET_TELEPHONY_STATE 217 * @systemapi Hide this for inner system use. 218 */ 219 function getIMSI(slotId: number, callback: AsyncCallback<string>): void; 220 function getIMSI(slotId: number): Promise<string>; 221 222 /** 223 * Checks whether a SIM card is inserted in a specified slot. 224 * 225 * @param slotId Indicates the card slot index number, 226 * ranging from 0 to the maximum card slot index number supported by the device. 227 * @param callback Returns true if a SIM card is inserted; return false otherwise. 228 * @since 7 229 */ 230 function hasSimCard(slotId: number, callback: AsyncCallback<boolean>): void; 231 function hasSimCard(slotId: number): Promise<boolean>; 232 233 /** 234 * @permission ohos.permission.GET_TELEPHONY_STATE 235 * @systemapi Hide this for inner system use. 236 * @since 7 237 */ 238 function getSimAccountInfo(slotId: number, callback: AsyncCallback<IccAccountInfo>): void; 239 function getSimAccountInfo(slotId: number): Promise<IccAccountInfo>; 240 241 /** 242 * @permission ohos.permission.GET_TELEPHONY_STATE 243 * @systemapi Hide this for inner system use. 244 * @since 8 245 */ 246 function getActiveSimAccountInfoList(callback: AsyncCallback<Array<IccAccountInfo>>): void; 247 function getActiveSimAccountInfoList(): Promise<Array<IccAccountInfo>>; 248 249 /** 250 * @permission ohos.permission.SET_TELEPHONY_STATE 251 * @systemapi Hide this for inner system use. 252 * @since 7 253 */ 254 function setDefaultVoiceSlotId(slotId: number, callback: AsyncCallback<void>): void; 255 function setDefaultVoiceSlotId(slotId: number): Promise<void>; 256 257 /** 258 * @permission ohos.permission.SET_TELEPHONY_STATE 259 * @systemapi Hide this for inner system use. 260 * @since 8 261 */ 262 function activateSim(slotId: number, callback: AsyncCallback<void>): void; 263 function activateSim(slotId: number): Promise<void>; 264 265 /** 266 * @permission ohos.permission.SET_TELEPHONY_STATE 267 * @systemapi Hide this for inner system use. 268 * @since 8 269 */ 270 function deactivateSim(slotId: number, callback: AsyncCallback<void>): void; 271 function deactivateSim(slotId: number): Promise<void>; 272 273 /** 274 * @permission ohos.permission.SET_TELEPHONY_STATE 275 * @systemapi Hide this for inner system use. 276 * @since 8 277 */ 278 function setShowName(slotId: number, name: string, callback: AsyncCallback<void>): void; 279 function setShowName(slotId: number, name: string): Promise<void>; 280 281 /** 282 * @permission ohos.permission.GET_TELEPHONY_STATE 283 * @systemapi Hide this for inner system use. 284 * @since 8 285 */ 286 function getShowName(slotId: number, callback: AsyncCallback<string>): void; 287 function getShowName(slotId: number): Promise<string>; 288 289 /** 290 * @permission ohos.permission.SET_TELEPHONY_STATE 291 * @systemapi Hide this for inner system use. 292 * @since 8 293 */ 294 function setShowNumber(slotId: number, number: string, callback: AsyncCallback<void>): void; 295 function setShowNumber(slotId: number, number: string): Promise<void>; 296 297 /** 298 * @permission ohos.permission.GET_TELEPHONY_STATE 299 * @systemapi Hide this for inner system use. 300 * @since 8 301 */ 302 function getShowNumber(slotId: number, callback: AsyncCallback<string>): void; 303 function getShowNumber(slotId: number): Promise<string>; 304 305 /** 306 * @permission ohos.permission.GET_TELEPHONY_STATE 307 * @systemapi Hide this for inner system use. 308 * @since 8 309 */ 310 function getOperatorConfigs(slotId: number, callback: AsyncCallback<Array<OperatorConfig>>): void; 311 function getOperatorConfigs(slotId: number): Promise<Array<OperatorConfig>>; 312 313 /** 314 * @permission ohos.permission.SET_TELEPHONY_STATE 315 * @systemapi Hide this for inner system use. 316 * @since 7 317 */ 318 function unlockPin(slotId: number, pin: string, callback: AsyncCallback<LockStatusResponse>): void; 319 function unlockPin(slotId: number, pin: string): Promise<LockStatusResponse>; 320 321 /** 322 * @permission ohos.permission.SET_TELEPHONY_STATE 323 * @systemapi Hide this for inner system use. 324 * @since 7 325 */ 326 function unlockPuk(slotId: number, newPin: string, puk: string, callback: AsyncCallback<LockStatusResponse>): void; 327 function unlockPuk(slotId: number, newPin: string, puk: string): Promise<LockStatusResponse>; 328 329 /** 330 * @permission ohos.permission.SET_TELEPHONY_STATE 331 * @systemapi Hide this for inner system use. 332 * @since 7 333 */ 334 function alterPin(slotId: number, newPin: string, oldPin: string, callback: AsyncCallback<LockStatusResponse>): void; 335 function alterPin(slotId: number, newPin: string, oldPin: string): Promise<LockStatusResponse>; 336 337 /** 338 * @permission ohos.permission.SET_TELEPHONY_STATE 339 * @systemapi Hide this for inner system use. 340 * @since 7 341 */ 342 function setLockState(slotId: number, options: LockInfo, callback: AsyncCallback<LockStatusResponse>): void; 343 function setLockState(slotId: number, options: LockInfo): Promise<LockStatusResponse>; 344 345 /** 346 * @permission ohos.permission.SET_TELEPHONY_STATE 347 * @systemapi Hide this for inner system use. 348 * @since 8 349 */ 350 function unlockPin2(slotId: number, pin2: string, callback: AsyncCallback<LockStatusResponse>): void; 351 function unlockPin2(slotId: number, pin2: string): Promise<LockStatusResponse>; 352 353 /** 354 * @permission ohos.permission.SET_TELEPHONY_STATE 355 * @systemapi Hide this for inner system use. 356 * @since 8 357 */ 358 function unlockPuk2(slotId: number, newPin2: string, puk2: string, callback: AsyncCallback<LockStatusResponse>): void; 359 function unlockPuk2(slotId: number, newPin2: string, puk2: string): Promise<LockStatusResponse>; 360 361 /** 362 * @permission ohos.permission.SET_TELEPHONY_STATE 363 * @systemapi Hide this for inner system use. 364 * @since 8 365 */ 366 function alterPin2(slotId: number, newPin2: string, oldPin2: string, callback: AsyncCallback<LockStatusResponse>): void; 367 function alterPin2(slotId: number, newPin2: string, oldPin2: string): Promise<LockStatusResponse>; 368 369 /** 370 * @permission ohos.permission.READ_CONTACTS 371 * @systemapi Hide this for inner system use. 372 * @since 8 373 */ 374 function queryIccDiallingNumbers(slotId: number, type: ContactType, callback: AsyncCallback<Array<DiallingNumbersInfo>>): void 375 function queryIccDiallingNumbers(slotId: number, type: ContactType): Promise<Array<DiallingNumbersInfo>>; 376 377 /** 378 * @permission ohos.permission.WRITE_CONTACTS 379 * @systemapi Hide this for inner system use. 380 * @since 8 381 */ 382 function addIccDiallingNumbers(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo, callback: AsyncCallback<void>): void; 383 function addIccDiallingNumbers(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo): Promise<void>; 384 385 /** 386 * @permission ohos.permission.WRITE_CONTACTS 387 * @systemapi Hide this for inner system use. 388 * @since 8 389 */ 390 function delIccDiallingNumbers(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo, callback: AsyncCallback<void>): void; 391 function delIccDiallingNumbers(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo): Promise<void>; 392 393 /** 394 * @permission ohos.permission.WRITE_CONTACTS 395 * @systemapi Hide this for inner system use. 396 * @since 8 397 */ 398 function updateIccDiallingNumbers(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo, callback: AsyncCallback<void>): void; 399 function updateIccDiallingNumbers(slotId: number, type: ContactType, diallingNumbers: DiallingNumbersInfo): Promise<void>; 400 401 /** 402 * @systemapi Hide this for inner system use. 403 * @since 8 404 */ 405 function getLockState(slotId: number, lockType: LockType, callback: AsyncCallback<LockState>): void; 406 function getLockState(slotId: number, lockType: LockType): Promise<LockState>; 407 408 /** 409 * @permission ohos.permission.SET_TELEPHONY_STATE 410 * @systemapi Hide this for inner system use. 411 * @since 8 412 */ 413 function sendEnvelopeCmd(slotId: number, cmd: string, callback: AsyncCallback<void>): void; 414 function sendEnvelopeCmd(slotId: number, cmd: string): Promise<void>; 415 416 /** 417 * @permission ohos.permission.SET_TELEPHONY_STATE 418 * @systemapi Hide this for inner system use. 419 * @since 8 420 */ 421 function sendTerminalResponseCmd(slotId: number, cmd: string, callback: AsyncCallback<void>): void; 422 function sendTerminalResponseCmd(slotId: number, cmd: string): Promise<void>; 423 424 /** 425 * @permission ohos.permission.SET_TELEPHONY_STATE 426 * @systemapi Hide this for inner system use. 427 * @since 8 428 */ 429 function unlockSimLock(slotId: number, lockInfo: PersoLockInfo, callback: AsyncCallback<LockStatusResponse>): void; 430 function unlockSimLock(slotId: number, lockInfo: PersoLockInfo): Promise<LockStatusResponse>; 431 432 /** 433 * @systemapi Hide this for inner system use. 434 * @since 8 435 */ 436 export interface OperatorConfig { 437 field: string; 438 value: string; 439 } 440 441 /** 442 * @systemapi Hide this for inner system use. 443 * @since 7 444 */ 445 export interface IccAccountInfo { 446 /** 447 * sim Id for card. 448 */ 449 simId: number; 450 /** 451 * slot id. 452 */ 453 slotIndex: number; 454 /** 455 * mark card is eSim or not. 456 */ 457 isEsim: boolean; 458 /** 459 * active status for card. 460 */ 461 isActive: boolean; 462 /** 463 * iccId for card. 464 */ 465 iccId: string; 466 /** 467 * display name for card. 468 */ 469 showName: string; 470 /** 471 * display number for card. 472 */ 473 showNumber: string; 474 } 475 476 /** 477 * @systemapi Hide this for inner system use. 478 * @since 7 479 */ 480 export interface LockStatusResponse { 481 /** 482 * Current operation result 483 */ 484 result: number; 485 /** 486 * Operations remaining 487 */ 488 remain?: number; 489 } 490 491 /** 492 * @systemapi Hide this for inner system use. 493 * @since 8 494 */ 495 export interface DiallingNumbersInfo { 496 alphaTag: string; 497 number: string; 498 recordNumber?: number; 499 pin2?: string; 500 } 501 502 /** 503 * @systemapi Hide this for inner system use. 504 * @since 8 505 */ 506 export interface LockInfo { 507 lockType: LockType; 508 password: string; 509 state: LockState; 510 } 511 512 /** 513 * @systemapi Hide this for inner system use. 514 * @since 8 515 */ 516 export interface PersoLockInfo { 517 lockType: PersoLockType; 518 password: string; 519 } 520 521 /** 522 * @systemapi Hide this for inner system use. 523 * @since 8 524 */ 525 export enum LockType { 526 PIN_LOCK = 1, 527 FDN_LOCK = 2, 528 } 529 530 /** 531 * @since 7 532 */ 533 export enum CardType { 534 /** Icc card type: Unknow type Card. */ 535 UNKNOWN_CARD = -1, 536 537 /** Icc card type: Single sim card type. */ 538 SINGLE_MODE_SIM_CARD = 10, 539 540 /** Icc card type: Single usim card type. */ 541 SINGLE_MODE_USIM_CARD = 20, 542 543 /** Icc card type: Single ruim card type. */ 544 SINGLE_MODE_RUIM_CARD = 30, 545 546 /** Icc card type: Double card C+G. */ 547 DUAL_MODE_CG_CARD = 40, 548 549 /** Icc card type: China Telecom Internal Roaming Card (Dual Mode). */ 550 CT_NATIONAL_ROAMING_CARD = 41, 551 552 /** Icc card type: China Unicom Dual Mode Card. */ 553 CU_DUAL_MODE_CARD = 42, 554 555 /** Icc card type: China Telecom LTE Card (Dual Mode). */ 556 DUAL_MODE_TELECOM_LTE_CARD = 43, 557 558 /** Icc card type: Double card U+G. */ 559 DUAL_MODE_UG_CARD = 50, 560 561 /** 562 * Icc card type: Single isim card type. 563 * @since 8 564 */ 565 SINGLE_MODE_ISIM_CARD = 60 566 } 567 568 export enum SimState { 569 /** 570 * Indicates unknown SIM card state, that is, the accurate status cannot be obtained. 571 */ 572 SIM_STATE_UNKNOWN, 573 574 /** 575 * Indicates that the SIM card is in the <b>not present</b> state, that is, no SIM card is inserted 576 * into the card slot. 577 */ 578 SIM_STATE_NOT_PRESENT, 579 580 /** 581 * Indicates that the SIM card is in the <b>locked</b> state, that is, the SIM card is locked by the 582 * personal identification number (PIN)/PIN unblocking key (PUK) or network. 583 */ 584 SIM_STATE_LOCKED, 585 586 /** 587 * Indicates that the SIM card is in the <b>not ready</b> state, that is, the SIM card is in position 588 * but cannot work properly. 589 */ 590 SIM_STATE_NOT_READY, 591 592 /** 593 * Indicates that the SIM card is in the <b>ready</b> state, that is, the SIM card is in position and 594 * is working properly. 595 */ 596 SIM_STATE_READY, 597 598 /** 599 * Indicates that the SIM card is in the <b>loaded</b> state, that is, the SIM card is in position and 600 * is working properly. 601 */ 602 SIM_STATE_LOADED 603 } 604 605 /** 606 * @systemapi Hide this for inner system use. 607 * @since 8 608 */ 609 export enum LockState { 610 /**Indicates that the lock state card is in the <b>off</b> state. */ 611 LOCK_OFF = 0, 612 613 /**Indicates that the lock state card is in the <b>on</b> state. */ 614 LOCK_ON = 1, 615 } 616 617 /** 618 * @systemapi Hide this for inner system use. 619 * @since 8 620 */ 621 export enum ContactType { 622 GENERAL_CONTACT = 1, 623 FIXED_DIALING = 2, 624 } 625 626 /** 627 * @systemapi Hide this for inner system use. 628 * @since 8 629 */ 630 export enum PersoLockType { 631 PN_PIN_LOCK, //Network Personalization (refer 3GPP TS 22.022 [33]) 632 PN_PUK_LOCK, 633 PU_PIN_LOCK, //network sUbset Personalization (refer 3GPP TS 22.022 [33]) 634 PU_PUK_LOCK, 635 PP_PIN_LOCK, //service Provider Personalization (refer 3GPP TS 22.022 [33]) 636 PP_PUK_LOCK, 637 PC_PIN_LOCK, //Corporate Personalization (refer 3GPP TS 22.022 [33]) 638 PC_PUK_LOCK, 639 SIM_PIN_LOCK, //SIM/USIM personalisation (refer 3GPP TS 22.022 [33]) 640 SIM_PUK_LOCK, 641 } 642} 643 644export default sim; 645