IPhoneSubInfo.aidl revision fb40dd4d00bd3361b2535bc866e6c21eadc52558
1/* 2 * Copyright (C) 2007 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.internal.telephony; 18 19/** 20 * Interface used to retrieve various phone-related subscriber information. 21 * 22 */ 23interface IPhoneSubInfo { 24 25 /** 26 * Retrieves the unique device ID, e.g., IMEI for GSM phones. 27 */ 28 String getDeviceId(); 29 30 /** 31 * Retrieves the unique device ID of a subId for the device, e.g., IMEI 32 * for GSM phones. 33 */ 34 String getDeviceIdUsingSubId(long subId); 35 36 37 /** 38 * Retrieves the software version number for the device, e.g., IMEI/SV 39 * for GSM phones. 40 */ 41 String getDeviceSvn(); 42 43 /** 44 * Retrieves the unique sbuscriber ID, e.g., IMSI for GSM phones. 45 */ 46 String getSubscriberId(); 47 48 /** 49 * Retrieves the unique subscriber ID of a given subId, e.g., IMSI for GSM phones. 50 */ 51 String getSubscriberIdUsingSubId(long subId); 52 53 /** 54 * Retrieves the Group Identifier Level1 for GSM phones. 55 */ 56 String getGroupIdLevel1(); 57 58 /** 59 * Retrieves the Group Identifier Level1 for GSM phones of a subId. 60 */ 61 String getGroupIdLevel1UsingSubId(long subId); 62 63 /** 64 * Retrieves the serial number of the ICC, if applicable. 65 */ 66 String getIccSerialNumber(); 67 68 /** 69 * Retrieves the serial number of a given subId. 70 */ 71 String getIccSerialNumberUsingSubId(long subId); 72 73 /** 74 * Retrieves the phone number string for line 1. 75 */ 76 String getLine1Number(); 77 78 /** 79 * Retrieves the phone number string for line 1 of a subcription. 80 */ 81 String getLine1NumberUsingSubId(long subId); 82 83 84 /** 85 * Retrieves the alpha identifier for line 1. 86 */ 87 String getLine1AlphaTag(); 88 89 /** 90 * Retrieves the alpha identifier for line 1 of a subId. 91 */ 92 String getLine1AlphaTagUsingSubId(long subId); 93 94 95 /** 96 * Retrieves MSISDN Number. 97 */ 98 String getMsisdn(); 99 100 /** 101 * Retrieves the Msisdn of a subId. 102 */ 103 String getMsisdnUsingSubId(long subId); 104 105 /** 106 * Retrieves the voice mail number. 107 */ 108 String getVoiceMailNumber(); 109 110 /** 111 * Retrieves the voice mail number of a given subId. 112 */ 113 String getVoiceMailNumberUsingSubId(long subId); 114 115 /** 116 * Retrieves the complete voice mail number. 117 */ 118 String getCompleteVoiceMailNumber(); 119 120 /** 121 * Retrieves the complete voice mail number for particular subId 122 */ 123 String getCompleteVoiceMailNumberUsingSubId(long subId); 124 125 /** 126 * Retrieves the alpha identifier associated with the voice mail number. 127 */ 128 String getVoiceMailAlphaTag(); 129 130 /** 131 * Retrieves the alpha identifier associated with the voice mail number 132 * of a subId. 133 */ 134 String getVoiceMailAlphaTagUsingSubId(long subId); 135 136 /** 137 * Returns the IMS private user identity (IMPI) that was loaded from the ISIM. 138 * @return the IMPI, or null if not present or not loaded 139 */ 140 String getIsimImpi(); 141 142 /** 143 * Returns the IMS home network domain name that was loaded from the ISIM. 144 * @return the IMS domain name, or null if not present or not loaded 145 */ 146 String getIsimDomain(); 147 148 /** 149 * Returns the IMS public user identities (IMPU) that were loaded from the ISIM. 150 * @return an array of IMPU strings, with one IMPU per string, or null if 151 * not present or not loaded 152 */ 153 String[] getIsimImpu(); 154 155 /** 156 * Returns the IMS Service Table (IST) that was loaded from the ISIM. 157 * @return IMS Service Table or null if not present or not loaded 158 */ 159 String getIsimIst(); 160 161 /** 162 * Returns the IMS Proxy Call Session Control Function(PCSCF) that were loaded from the ISIM. 163 * @return an array of PCSCF strings with one PCSCF per string, or null if 164 * not present or not loaded 165 */ 166 String[] getIsimPcscf(); 167 168 /** 169 * TODO: Deprecate and remove this interface. Superceded by getIccsimChallengeResponse. 170 * Returns the response of ISIM Authetification through RIL. 171 * @return the response of ISIM Authetification, or null if 172 * the Authentification hasn't been successed or isn't present iphonesubinfo. 173 */ 174 String getIsimChallengeResponse(String nonce); 175 176 /** 177 * Returns the response of the SIM application on the UICC to authentication 178 * challenge/response algorithm. The data string and challenge response are 179 * Base64 encoded Strings. 180 * Can support EAP-SIM, EAP-AKA with results encoded per 3GPP TS 31.102. 181 * 182 * @param subId subscription ID to be queried 183 * @param appType ICC application type (@see com.android.internal.telephony.PhoneConstants#APPTYPE_xxx) 184 * @param data authentication challenge data 185 * @return challenge response 186 */ 187 String getIccSimChallengeResponse(long subId, int appType, String data); 188} 189