IPhoneSubInfo.aidl revision bc0272754df7a2fb71bf709a2a8a7c852ee69e5c
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 getDeviceIdForSubscriber(long subId); 35 36 /** 37 * Retrieves the IMEI. 38 */ 39 String getImeiForSubscriber(long subId); 40 41 /** 42 * Retrieves the software version number for the device, e.g., IMEI/SV 43 * for GSM phones. 44 */ 45 String getDeviceSvn(); 46 47 /** 48 * Retrieves the unique sbuscriber ID, e.g., IMSI for GSM phones. 49 */ 50 String getSubscriberId(); 51 52 /** 53 * Retrieves the unique subscriber ID of a given subId, e.g., IMSI for GSM phones. 54 */ 55 String getSubscriberIdForSubscriber(long subId); 56 57 /** 58 * Retrieves the Group Identifier Level1 for GSM phones. 59 */ 60 String getGroupIdLevel1(); 61 62 /** 63 * Retrieves the Group Identifier Level1 for GSM phones of a subId. 64 */ 65 String getGroupIdLevel1ForSubscriber(long subId); 66 67 /** 68 * Retrieves the serial number of the ICC, if applicable. 69 */ 70 String getIccSerialNumber(); 71 72 /** 73 * Retrieves the serial number of a given subId. 74 */ 75 String getIccSerialNumberForSubscriber(long subId); 76 77 /** 78 * Retrieves the phone number string for line 1. 79 */ 80 String getLine1Number(); 81 82 /** 83 * Retrieves the phone number string for line 1 of a subcription. 84 */ 85 String getLine1NumberForSubscriber(long subId); 86 87 88 /** 89 * Retrieves the alpha identifier for line 1. 90 */ 91 String getLine1AlphaTag(); 92 93 /** 94 * Retrieves the alpha identifier for line 1 of a subId. 95 */ 96 String getLine1AlphaTagForSubscriber(long subId); 97 98 99 /** 100 * Retrieves MSISDN Number. 101 */ 102 String getMsisdn(); 103 104 /** 105 * Retrieves the Msisdn of a subId. 106 */ 107 String getMsisdnForSubscriber(long subId); 108 109 /** 110 * Retrieves the voice mail number. 111 */ 112 String getVoiceMailNumber(); 113 114 /** 115 * Retrieves the voice mail number of a given subId. 116 */ 117 String getVoiceMailNumberForSubscriber(long subId); 118 119 /** 120 * Retrieves the complete voice mail number. 121 */ 122 String getCompleteVoiceMailNumber(); 123 124 /** 125 * Retrieves the complete voice mail number for particular subId 126 */ 127 String getCompleteVoiceMailNumberForSubscriber(long subId); 128 129 /** 130 * Retrieves the alpha identifier associated with the voice mail number. 131 */ 132 String getVoiceMailAlphaTag(); 133 134 /** 135 * Retrieves the alpha identifier associated with the voice mail number 136 * of a subId. 137 */ 138 String getVoiceMailAlphaTagForSubscriber(long subId); 139 140 /** 141 * Returns the IMS private user identity (IMPI) that was loaded from the ISIM. 142 * @return the IMPI, or null if not present or not loaded 143 */ 144 String getIsimImpi(); 145 146 /** 147 * Returns the IMS home network domain name that was loaded from the ISIM. 148 * @return the IMS domain name, or null if not present or not loaded 149 */ 150 String getIsimDomain(); 151 152 /** 153 * Returns the IMS public user identities (IMPU) that were loaded from the ISIM. 154 * @return an array of IMPU strings, with one IMPU per string, or null if 155 * not present or not loaded 156 */ 157 String[] getIsimImpu(); 158 159 /** 160 * Returns the IMS Service Table (IST) that was loaded from the ISIM. 161 * @return IMS Service Table or null if not present or not loaded 162 */ 163 String getIsimIst(); 164 165 /** 166 * Returns the IMS Proxy Call Session Control Function(PCSCF) that were loaded from the ISIM. 167 * @return an array of PCSCF strings with one PCSCF per string, or null if 168 * not present or not loaded 169 */ 170 String[] getIsimPcscf(); 171 172 /** 173 * TODO: Deprecate and remove this interface. Superceded by getIccsimChallengeResponse. 174 * Returns the response of ISIM Authetification through RIL. 175 * @return the response of ISIM Authetification, or null if 176 * the Authentification hasn't been successed or isn't present iphonesubinfo. 177 */ 178 String getIsimChallengeResponse(String nonce); 179 180 /** 181 * Returns the response of the SIM application on the UICC to authentication 182 * challenge/response algorithm. The data string and challenge response are 183 * Base64 encoded Strings. 184 * Can support EAP-SIM, EAP-AKA with results encoded per 3GPP TS 31.102. 185 * 186 * @param subId subscription ID to be queried 187 * @param appType ICC application type (@see com.android.internal.telephony.PhoneConstants#APPTYPE_xxx) 188 * @param data authentication challenge data 189 * @return challenge response 190 */ 191 String getIccSimChallengeResponse(long subId, int appType, String data); 192} 193