19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage com.android.internal.telephony; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Interface used to retrieve various phone-related subscriber information. 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface IPhoneSubInfo { 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Retrieves the unique device ID, e.g., IMEI for GSM phones. 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getDeviceId(); 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 31fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Retrieves the unique device ID of a subId for the device, e.g., IMEI 32fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * for GSM phones. 33fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 34bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getDeviceIdForSubscriber(long subId); 35fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 36284f1ec16e816f60cbbf243cebb2de90c50322bbAmit Mahajan /** 37284f1ec16e816f60cbbf243cebb2de90c50322bbAmit Mahajan * Retrieves the IMEI. 38284f1ec16e816f60cbbf243cebb2de90c50322bbAmit Mahajan */ 39bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getImeiForSubscriber(long subId); 40fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 41fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Retrieves the software version number for the device, e.g., IMEI/SV 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * for GSM phones. 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getDeviceSvn(); 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Retrieves the unique sbuscriber ID, e.g., IMSI for GSM phones. 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getSubscriberId(); 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 53fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Retrieves the unique subscriber ID of a given subId, e.g., IMSI for GSM phones. 54fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 55bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getSubscriberIdForSubscriber(long subId); 56fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 57fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 5852a08cf683a6d183222d795862cfd135cec5694fSungmin Choi * Retrieves the Group Identifier Level1 for GSM phones. 5952a08cf683a6d183222d795862cfd135cec5694fSungmin Choi */ 6052a08cf683a6d183222d795862cfd135cec5694fSungmin Choi String getGroupIdLevel1(); 6152a08cf683a6d183222d795862cfd135cec5694fSungmin Choi 6252a08cf683a6d183222d795862cfd135cec5694fSungmin Choi /** 63fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Retrieves the Group Identifier Level1 for GSM phones of a subId. 64fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 65bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getGroupIdLevel1ForSubscriber(long subId); 66fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 67fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 6804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Retrieves the serial number of the ICC, if applicable. 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville String getIccSerialNumber(); 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 73fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Retrieves the serial number of a given subId. 74fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 75bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getIccSerialNumberForSubscriber(long subId); 76fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 77fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Retrieves the phone number string for line 1. 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getLine1Number(); 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 83fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Retrieves the phone number string for line 1 of a subcription. 84fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 85bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getLine1NumberForSubscriber(long subId); 86fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 87fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 88fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Retrieves the alpha identifier for line 1. 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getLine1AlphaTag(); 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 94fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Retrieves the alpha identifier for line 1 of a subId. 95fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 96bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getLine1AlphaTagForSubscriber(long subId); 97fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 98fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 99fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 10080c32a37b63ceff885199e22a8505ac557c86d35duckyoung.chai * Retrieves MSISDN Number. 10180c32a37b63ceff885199e22a8505ac557c86d35duckyoung.chai */ 10280c32a37b63ceff885199e22a8505ac557c86d35duckyoung.chai String getMsisdn(); 10380c32a37b63ceff885199e22a8505ac557c86d35duckyoung.chai 10480c32a37b63ceff885199e22a8505ac557c86d35duckyoung.chai /** 105fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Retrieves the Msisdn of a subId. 106fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 107bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getMsisdnForSubscriber(long subId); 108fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 109fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 11004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Retrieves the voice mail number. 11104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getVoiceMailNumber(); 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 115fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Retrieves the voice mail number of a given subId. 116fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 117bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getVoiceMailNumberForSubscriber(long subId); 118fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 119fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 120c69f5be0ed3529564e5db6874de52775c2c99007Wink Saville * Retrieves the complete voice mail number. 121c69f5be0ed3529564e5db6874de52775c2c99007Wink Saville */ 122c69f5be0ed3529564e5db6874de52775c2c99007Wink Saville String getCompleteVoiceMailNumber(); 123c69f5be0ed3529564e5db6874de52775c2c99007Wink Saville 124c69f5be0ed3529564e5db6874de52775c2c99007Wink Saville /** 125fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Retrieves the complete voice mail number for particular subId 126fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 127bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getCompleteVoiceMailNumberForSubscriber(long subId); 128fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 129fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 13004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Retrieves the alpha identifier associated with the voice mail number. 13104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getVoiceMailAlphaTag(); 133463f22114587344c96460179069a08d7381fbfd6Jake Hamby 134463f22114587344c96460179069a08d7381fbfd6Jake Hamby /** 135fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Retrieves the alpha identifier associated with the voice mail number 136fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * of a subId. 137fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 138bc0272754df7a2fb71bf709a2a8a7c852ee69e5cWink Saville String getVoiceMailAlphaTagForSubscriber(long subId); 139fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 140fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 141463f22114587344c96460179069a08d7381fbfd6Jake Hamby * Returns the IMS private user identity (IMPI) that was loaded from the ISIM. 142463f22114587344c96460179069a08d7381fbfd6Jake Hamby * @return the IMPI, or null if not present or not loaded 143463f22114587344c96460179069a08d7381fbfd6Jake Hamby */ 144463f22114587344c96460179069a08d7381fbfd6Jake Hamby String getIsimImpi(); 145463f22114587344c96460179069a08d7381fbfd6Jake Hamby 146463f22114587344c96460179069a08d7381fbfd6Jake Hamby /** 147463f22114587344c96460179069a08d7381fbfd6Jake Hamby * Returns the IMS home network domain name that was loaded from the ISIM. 148463f22114587344c96460179069a08d7381fbfd6Jake Hamby * @return the IMS domain name, or null if not present or not loaded 149463f22114587344c96460179069a08d7381fbfd6Jake Hamby */ 150463f22114587344c96460179069a08d7381fbfd6Jake Hamby String getIsimDomain(); 151463f22114587344c96460179069a08d7381fbfd6Jake Hamby 152463f22114587344c96460179069a08d7381fbfd6Jake Hamby /** 153463f22114587344c96460179069a08d7381fbfd6Jake Hamby * Returns the IMS public user identities (IMPU) that were loaded from the ISIM. 154463f22114587344c96460179069a08d7381fbfd6Jake Hamby * @return an array of IMPU strings, with one IMPU per string, or null if 155463f22114587344c96460179069a08d7381fbfd6Jake Hamby * not present or not loaded 156463f22114587344c96460179069a08d7381fbfd6Jake Hamby */ 157463f22114587344c96460179069a08d7381fbfd6Jake Hamby String[] getIsimImpu(); 158fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 159fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 160fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the IMS Service Table (IST) that was loaded from the ISIM. 161fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return IMS Service Table or null if not present or not loaded 162fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 163fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville String getIsimIst(); 164fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 165fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 166fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the IMS Proxy Call Session Control Function(PCSCF) that were loaded from the ISIM. 167fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return an array of PCSCF strings with one PCSCF per string, or null if 168fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * not present or not loaded 169fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 170fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville String[] getIsimPcscf(); 171fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 172fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 173fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * TODO: Deprecate and remove this interface. Superceded by getIccsimChallengeResponse. 174fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the response of ISIM Authetification through RIL. 175fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return the response of ISIM Authetification, or null if 176fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * the Authentification hasn't been successed or isn't present iphonesubinfo. 177fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 178fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville String getIsimChallengeResponse(String nonce); 179fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 180fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 181fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the response of the SIM application on the UICC to authentication 182fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * challenge/response algorithm. The data string and challenge response are 183fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Base64 encoded Strings. 184fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Can support EAP-SIM, EAP-AKA with results encoded per 3GPP TS 31.102. 185fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 186fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId subscription ID to be queried 187fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param appType ICC application type (@see com.android.internal.telephony.PhoneConstants#APPTYPE_xxx) 188fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param data authentication challenge data 189fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return challenge response 190fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 191fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville String getIccSimChallengeResponse(long subId, int appType, String data); 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 193