1*4d7e907cSAndroid Build Coastguard Worker/* 2*4d7e907cSAndroid Build Coastguard Worker * Copyright (C) 2016 The Android Open Source Project 3*4d7e907cSAndroid Build Coastguard Worker * 4*4d7e907cSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*4d7e907cSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*4d7e907cSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*4d7e907cSAndroid Build Coastguard Worker * 8*4d7e907cSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*4d7e907cSAndroid Build Coastguard Worker * 10*4d7e907cSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*4d7e907cSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*4d7e907cSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*4d7e907cSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*4d7e907cSAndroid Build Coastguard Worker * limitations under the License. 15*4d7e907cSAndroid Build Coastguard Worker */ 16*4d7e907cSAndroid Build Coastguard Worker 17*4d7e907cSAndroid Build Coastguard Workerpackage [email protected]; 18*4d7e907cSAndroid Build Coastguard Worker 19*4d7e907cSAndroid Build Coastguard Workerimport IRadioResponse; 20*4d7e907cSAndroid Build Coastguard Workerimport IRadioIndication; 21*4d7e907cSAndroid Build Coastguard Worker 22*4d7e907cSAndroid Build Coastguard Worker/** 23*4d7e907cSAndroid Build Coastguard Worker * This interface is used by telephony & telecom to talk to cellular radio. 24*4d7e907cSAndroid Build Coastguard Worker * All the functions have minimum one parameter: 25*4d7e907cSAndroid Build Coastguard Worker * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the 26*4d7e907cSAndroid Build Coastguard Worker * duration of a method call. If clients provide colliding serials (including passing the same 27*4d7e907cSAndroid Build Coastguard Worker * serial to different methods), multiple responses (one for each method call) must still be served. 28*4d7e907cSAndroid Build Coastguard Worker */ 29*4d7e907cSAndroid Build Coastguard Workerinterface IRadio { 30*4d7e907cSAndroid Build Coastguard Worker /** 31*4d7e907cSAndroid Build Coastguard Worker * Set response functions for radio requests & radio indications. 32*4d7e907cSAndroid Build Coastguard Worker * 33*4d7e907cSAndroid Build Coastguard Worker * @param radioResponse Object containing response functions 34*4d7e907cSAndroid Build Coastguard Worker * @param radioIndication Object containing radio indications 35*4d7e907cSAndroid Build Coastguard Worker */ 36*4d7e907cSAndroid Build Coastguard Worker setResponseFunctions(IRadioResponse radioResponse, 37*4d7e907cSAndroid Build Coastguard Worker IRadioIndication radioIndication); 38*4d7e907cSAndroid Build Coastguard Worker 39*4d7e907cSAndroid Build Coastguard Worker /** 40*4d7e907cSAndroid Build Coastguard Worker * Requests status of the ICC card 41*4d7e907cSAndroid Build Coastguard Worker * 42*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 43*4d7e907cSAndroid Build Coastguard Worker * 44*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getIccCardStatusResponse() 45*4d7e907cSAndroid Build Coastguard Worker * 46*4d7e907cSAndroid Build Coastguard Worker */ 47*4d7e907cSAndroid Build Coastguard Worker oneway getIccCardStatus(int32_t serial); 48*4d7e907cSAndroid Build Coastguard Worker 49*4d7e907cSAndroid Build Coastguard Worker /** 50*4d7e907cSAndroid Build Coastguard Worker * Supplies ICC PIN. Only called if CardStatus has AppState.PIN state 51*4d7e907cSAndroid Build Coastguard Worker * 52*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 53*4d7e907cSAndroid Build Coastguard Worker * @param pin PIN value 54*4d7e907cSAndroid Build Coastguard Worker * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. 55*4d7e907cSAndroid Build Coastguard Worker * 56*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.supplyIccPinForAppResponse() 57*4d7e907cSAndroid Build Coastguard Worker * 58*4d7e907cSAndroid Build Coastguard Worker */ 59*4d7e907cSAndroid Build Coastguard Worker oneway supplyIccPinForApp(int32_t serial, string pin, string aid); 60*4d7e907cSAndroid Build Coastguard Worker 61*4d7e907cSAndroid Build Coastguard Worker /** 62*4d7e907cSAndroid Build Coastguard Worker * Supplies ICC PUK and new PIN. 63*4d7e907cSAndroid Build Coastguard Worker * 64*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 65*4d7e907cSAndroid Build Coastguard Worker * @param puk PUK value 66*4d7e907cSAndroid Build Coastguard Worker * @param pin New PIN value 67*4d7e907cSAndroid Build Coastguard Worker * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. 68*4d7e907cSAndroid Build Coastguard Worker * 69*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.supplyIccPukForAppResponse() 70*4d7e907cSAndroid Build Coastguard Worker * 71*4d7e907cSAndroid Build Coastguard Worker */ 72*4d7e907cSAndroid Build Coastguard Worker oneway supplyIccPukForApp(int32_t serial, string puk, string pin, string aid); 73*4d7e907cSAndroid Build Coastguard Worker 74*4d7e907cSAndroid Build Coastguard Worker /** 75*4d7e907cSAndroid Build Coastguard Worker * Supplies ICC PIN2. Only called following operation where SIM_PIN2 was 76*4d7e907cSAndroid Build Coastguard Worker * returned as a a failure from a previous operation. 77*4d7e907cSAndroid Build Coastguard Worker * 78*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 79*4d7e907cSAndroid Build Coastguard Worker * @param pin2 PIN2 value 80*4d7e907cSAndroid Build Coastguard Worker * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. 81*4d7e907cSAndroid Build Coastguard Worker * 82*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.supplyIccPin2ForAppResponse() 83*4d7e907cSAndroid Build Coastguard Worker * 84*4d7e907cSAndroid Build Coastguard Worker */ 85*4d7e907cSAndroid Build Coastguard Worker oneway supplyIccPin2ForApp(int32_t serial, string pin2, string aid); 86*4d7e907cSAndroid Build Coastguard Worker 87*4d7e907cSAndroid Build Coastguard Worker /** 88*4d7e907cSAndroid Build Coastguard Worker * Supplies ICC PUK2 and new PIN2. 89*4d7e907cSAndroid Build Coastguard Worker * 90*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 91*4d7e907cSAndroid Build Coastguard Worker * @param puk2 PUK2 value 92*4d7e907cSAndroid Build Coastguard Worker * @param pin2 New PIN2 value 93*4d7e907cSAndroid Build Coastguard Worker * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. 94*4d7e907cSAndroid Build Coastguard Worker * 95*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.supplyIccPuk2ForAppResponse() 96*4d7e907cSAndroid Build Coastguard Worker * 97*4d7e907cSAndroid Build Coastguard Worker */ 98*4d7e907cSAndroid Build Coastguard Worker oneway supplyIccPuk2ForApp(int32_t serial, string puk2, string pin2, 99*4d7e907cSAndroid Build Coastguard Worker string aid); 100*4d7e907cSAndroid Build Coastguard Worker 101*4d7e907cSAndroid Build Coastguard Worker /** 102*4d7e907cSAndroid Build Coastguard Worker * Supplies old ICC PIN and new PIN. 103*4d7e907cSAndroid Build Coastguard Worker * 104*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 105*4d7e907cSAndroid Build Coastguard Worker * @param oldPin Old pin value 106*4d7e907cSAndroid Build Coastguard Worker * @param newPin New pin value 107*4d7e907cSAndroid Build Coastguard Worker * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. 108*4d7e907cSAndroid Build Coastguard Worker * 109*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.changeIccPinForAppResponse() 110*4d7e907cSAndroid Build Coastguard Worker * 111*4d7e907cSAndroid Build Coastguard Worker */ 112*4d7e907cSAndroid Build Coastguard Worker oneway changeIccPinForApp(int32_t serial, string oldPin, string newPin, 113*4d7e907cSAndroid Build Coastguard Worker string aid); 114*4d7e907cSAndroid Build Coastguard Worker 115*4d7e907cSAndroid Build Coastguard Worker /** 116*4d7e907cSAndroid Build Coastguard Worker * Supplies old ICC PIN2 and new PIN2. 117*4d7e907cSAndroid Build Coastguard Worker * 118*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 119*4d7e907cSAndroid Build Coastguard Worker * @param oldPin2 Old pin2 value 120*4d7e907cSAndroid Build Coastguard Worker * @param newPin2 New pin2 value 121*4d7e907cSAndroid Build Coastguard Worker * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. 122*4d7e907cSAndroid Build Coastguard Worker * 123*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.changeIccPin2ForAppResponse() 124*4d7e907cSAndroid Build Coastguard Worker * 125*4d7e907cSAndroid Build Coastguard Worker */ 126*4d7e907cSAndroid Build Coastguard Worker oneway changeIccPin2ForApp(int32_t serial, string oldPin2, string newPin2, 127*4d7e907cSAndroid Build Coastguard Worker string aid); 128*4d7e907cSAndroid Build Coastguard Worker 129*4d7e907cSAndroid Build Coastguard Worker /** 130*4d7e907cSAndroid Build Coastguard Worker * Requests that network personalization be deactivated 131*4d7e907cSAndroid Build Coastguard Worker * 132*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 133*4d7e907cSAndroid Build Coastguard Worker * @param netPin Network depersonlization code 134*4d7e907cSAndroid Build Coastguard Worker * 135*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.supplyNetworkDepersonalizationResponse() 136*4d7e907cSAndroid Build Coastguard Worker * 137*4d7e907cSAndroid Build Coastguard Worker */ 138*4d7e907cSAndroid Build Coastguard Worker oneway supplyNetworkDepersonalization(int32_t serial, string netPin); 139*4d7e907cSAndroid Build Coastguard Worker 140*4d7e907cSAndroid Build Coastguard Worker /** 141*4d7e907cSAndroid Build Coastguard Worker * Requests current call list 142*4d7e907cSAndroid Build Coastguard Worker * 143*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 144*4d7e907cSAndroid Build Coastguard Worker * 145*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getCurrentCallsResponse() 146*4d7e907cSAndroid Build Coastguard Worker * 147*4d7e907cSAndroid Build Coastguard Worker */ 148*4d7e907cSAndroid Build Coastguard Worker oneway getCurrentCalls(int32_t serial); 149*4d7e907cSAndroid Build Coastguard Worker 150*4d7e907cSAndroid Build Coastguard Worker /** 151*4d7e907cSAndroid Build Coastguard Worker * Initiate voice call. 152*4d7e907cSAndroid Build Coastguard Worker * This method is never used for supplementary service codes 153*4d7e907cSAndroid Build Coastguard Worker * 154*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 155*4d7e907cSAndroid Build Coastguard Worker * @param dialInfo Dial struct 156*4d7e907cSAndroid Build Coastguard Worker * 157*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.dialResponse() 158*4d7e907cSAndroid Build Coastguard Worker * 159*4d7e907cSAndroid Build Coastguard Worker */ 160*4d7e907cSAndroid Build Coastguard Worker oneway dial(int32_t serial, Dial dialInfo); 161*4d7e907cSAndroid Build Coastguard Worker 162*4d7e907cSAndroid Build Coastguard Worker /** 163*4d7e907cSAndroid Build Coastguard Worker * Get the SIM IMSI 164*4d7e907cSAndroid Build Coastguard Worker * Only valid when radio state is "RADIO_STATE_ON" 165*4d7e907cSAndroid Build Coastguard Worker * 166*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 167*4d7e907cSAndroid Build Coastguard Worker * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. 168*4d7e907cSAndroid Build Coastguard Worker * 169*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getImsiForAppResponse() 170*4d7e907cSAndroid Build Coastguard Worker * 171*4d7e907cSAndroid Build Coastguard Worker */ 172*4d7e907cSAndroid Build Coastguard Worker oneway getImsiForApp(int32_t serial, string aid); 173*4d7e907cSAndroid Build Coastguard Worker 174*4d7e907cSAndroid Build Coastguard Worker /** 175*4d7e907cSAndroid Build Coastguard Worker * Hang up a specific line (like AT+CHLD=1x) 176*4d7e907cSAndroid Build Coastguard Worker * After this HANGUP request returns, Radio must show the connection is NOT 177*4d7e907cSAndroid Build Coastguard Worker * active anymore in next requestGetCurrentCalls query. 178*4d7e907cSAndroid Build Coastguard Worker * 179*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 180*4d7e907cSAndroid Build Coastguard Worker * @param gsmIndex Connection index (value of 'x' in CHLD above) 181*4d7e907cSAndroid Build Coastguard Worker * 182*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.hangupResponse() 183*4d7e907cSAndroid Build Coastguard Worker * 184*4d7e907cSAndroid Build Coastguard Worker */ 185*4d7e907cSAndroid Build Coastguard Worker oneway hangup(int32_t serial, int32_t gsmIndex); 186*4d7e907cSAndroid Build Coastguard Worker 187*4d7e907cSAndroid Build Coastguard Worker /** 188*4d7e907cSAndroid Build Coastguard Worker * Hang up waiting or held (like AT+CHLD=0) 189*4d7e907cSAndroid Build Coastguard Worker * After this HANGUP request returns, Radio must show the connection is NOT 190*4d7e907cSAndroid Build Coastguard Worker * active anymore in next getCurrentCalls() query. 191*4d7e907cSAndroid Build Coastguard Worker * 192*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 193*4d7e907cSAndroid Build Coastguard Worker * 194*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.hangupWaitingOrBackgroundResponse() 195*4d7e907cSAndroid Build Coastguard Worker * 196*4d7e907cSAndroid Build Coastguard Worker */ 197*4d7e907cSAndroid Build Coastguard Worker oneway hangupWaitingOrBackground(int32_t serial); 198*4d7e907cSAndroid Build Coastguard Worker 199*4d7e907cSAndroid Build Coastguard Worker /** 200*4d7e907cSAndroid Build Coastguard Worker * Hang up waiting or held (like AT+CHLD=1) 201*4d7e907cSAndroid Build Coastguard Worker * After this HANGUP request returns, Radio must show the connection is NOT 202*4d7e907cSAndroid Build Coastguard Worker * active anymore in next getCurrentCalls query. 203*4d7e907cSAndroid Build Coastguard Worker * 204*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 205*4d7e907cSAndroid Build Coastguard Worker * 206*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.hangupForegroundResumeBackgroundResponse() 207*4d7e907cSAndroid Build Coastguard Worker * 208*4d7e907cSAndroid Build Coastguard Worker */ 209*4d7e907cSAndroid Build Coastguard Worker oneway hangupForegroundResumeBackground(int32_t serial); 210*4d7e907cSAndroid Build Coastguard Worker 211*4d7e907cSAndroid Build Coastguard Worker /** 212*4d7e907cSAndroid Build Coastguard Worker * Switch waiting or holding call and active call (like AT+CHLD=2) 213*4d7e907cSAndroid Build Coastguard Worker * State transitions must be as follows: 214*4d7e907cSAndroid Build Coastguard Worker * 215*4d7e907cSAndroid Build Coastguard Worker * Call transitions must happen as shown below. 216*4d7e907cSAndroid Build Coastguard Worker * 217*4d7e907cSAndroid Build Coastguard Worker * BEFORE AFTER 218*4d7e907cSAndroid Build Coastguard Worker * Call 1 Call 2 Call 1 Call 2 219*4d7e907cSAndroid Build Coastguard Worker * ACTIVE HOLDING HOLDING ACTIVE 220*4d7e907cSAndroid Build Coastguard Worker * ACTIVE WAITING HOLDING ACTIVE 221*4d7e907cSAndroid Build Coastguard Worker * HOLDING WAITING HOLDING ACTIVE 222*4d7e907cSAndroid Build Coastguard Worker * ACTIVE IDLE HOLDING IDLE 223*4d7e907cSAndroid Build Coastguard Worker * IDLE IDLE IDLE IDLE 224*4d7e907cSAndroid Build Coastguard Worker * 225*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 226*4d7e907cSAndroid Build Coastguard Worker * 227*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.switchWaitingOrHoldingAndActiveResponse() 228*4d7e907cSAndroid Build Coastguard Worker * 229*4d7e907cSAndroid Build Coastguard Worker */ 230*4d7e907cSAndroid Build Coastguard Worker oneway switchWaitingOrHoldingAndActive(int32_t serial); 231*4d7e907cSAndroid Build Coastguard Worker 232*4d7e907cSAndroid Build Coastguard Worker /** 233*4d7e907cSAndroid Build Coastguard Worker * Conference holding and active (like AT+CHLD=3) 234*4d7e907cSAndroid Build Coastguard Worker * 235*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 236*4d7e907cSAndroid Build Coastguard Worker * 237*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.conferenceResponse() 238*4d7e907cSAndroid Build Coastguard Worker * 239*4d7e907cSAndroid Build Coastguard Worker */ 240*4d7e907cSAndroid Build Coastguard Worker oneway conference(int32_t serial); 241*4d7e907cSAndroid Build Coastguard Worker 242*4d7e907cSAndroid Build Coastguard Worker /** 243*4d7e907cSAndroid Build Coastguard Worker * Send UDUB (user determined user busy) to ringing or 244*4d7e907cSAndroid Build Coastguard Worker * waiting call answer) 245*4d7e907cSAndroid Build Coastguard Worker * 246*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 247*4d7e907cSAndroid Build Coastguard Worker * 248*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.rejectCallResponse() 249*4d7e907cSAndroid Build Coastguard Worker * 250*4d7e907cSAndroid Build Coastguard Worker */ 251*4d7e907cSAndroid Build Coastguard Worker oneway rejectCall(int32_t serial); 252*4d7e907cSAndroid Build Coastguard Worker 253*4d7e907cSAndroid Build Coastguard Worker /** 254*4d7e907cSAndroid Build Coastguard Worker * Requests the failure cause code for the most recently terminated call. 255*4d7e907cSAndroid Build Coastguard Worker * 256*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 257*4d7e907cSAndroid Build Coastguard Worker * 258*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getLastCallFailCauseResponse() 259*4d7e907cSAndroid Build Coastguard Worker * 260*4d7e907cSAndroid Build Coastguard Worker */ 261*4d7e907cSAndroid Build Coastguard Worker oneway getLastCallFailCause(int32_t serial); 262*4d7e907cSAndroid Build Coastguard Worker 263*4d7e907cSAndroid Build Coastguard Worker /** 264*4d7e907cSAndroid Build Coastguard Worker * Requests current signal strength and associated information. 265*4d7e907cSAndroid Build Coastguard Worker * Must succeed if radio is on. 266*4d7e907cSAndroid Build Coastguard Worker * 267*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 268*4d7e907cSAndroid Build Coastguard Worker * 269*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getSignalStrengthResponse() 270*4d7e907cSAndroid Build Coastguard Worker */ 271*4d7e907cSAndroid Build Coastguard Worker oneway getSignalStrength(int32_t serial); 272*4d7e907cSAndroid Build Coastguard Worker 273*4d7e907cSAndroid Build Coastguard Worker /** 274*4d7e907cSAndroid Build Coastguard Worker * Request current voice registration state 275*4d7e907cSAndroid Build Coastguard Worker * 276*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 277*4d7e907cSAndroid Build Coastguard Worker * 278*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getVoiceRegistrationStateResponse() 279*4d7e907cSAndroid Build Coastguard Worker */ 280*4d7e907cSAndroid Build Coastguard Worker oneway getVoiceRegistrationState(int32_t serial); 281*4d7e907cSAndroid Build Coastguard Worker 282*4d7e907cSAndroid Build Coastguard Worker /** 283*4d7e907cSAndroid Build Coastguard Worker * Request current data registration state 284*4d7e907cSAndroid Build Coastguard Worker * 285*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 286*4d7e907cSAndroid Build Coastguard Worker * 287*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getDataRegistrationStateResponse() 288*4d7e907cSAndroid Build Coastguard Worker */ 289*4d7e907cSAndroid Build Coastguard Worker oneway getDataRegistrationState(int32_t serial); 290*4d7e907cSAndroid Build Coastguard Worker 291*4d7e907cSAndroid Build Coastguard Worker /** 292*4d7e907cSAndroid Build Coastguard Worker * Request current operator ONS or EONS 293*4d7e907cSAndroid Build Coastguard Worker * 294*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 295*4d7e907cSAndroid Build Coastguard Worker * 296*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getOperatorResponse() 297*4d7e907cSAndroid Build Coastguard Worker */ 298*4d7e907cSAndroid Build Coastguard Worker oneway getOperator(int32_t serial); 299*4d7e907cSAndroid Build Coastguard Worker 300*4d7e907cSAndroid Build Coastguard Worker /** 301*4d7e907cSAndroid Build Coastguard Worker * Toggle radio on and off (for "airplane" mode) 302*4d7e907cSAndroid Build Coastguard Worker * If the radio is turned off/on the radio modem subsystem 303*4d7e907cSAndroid Build Coastguard Worker * is expected return to an initialized state. For instance, 304*4d7e907cSAndroid Build Coastguard Worker * any voice and data calls must be terminated and all associated 305*4d7e907cSAndroid Build Coastguard Worker * lists emptied. 306*4d7e907cSAndroid Build Coastguard Worker * 307*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 308*4d7e907cSAndroid Build Coastguard Worker * @param on To turn on radio -> on = true, to turn off radio -> on = false. 309*4d7e907cSAndroid Build Coastguard Worker * 310*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setRadioPowerResponse() 311*4d7e907cSAndroid Build Coastguard Worker */ 312*4d7e907cSAndroid Build Coastguard Worker oneway setRadioPower(int32_t serial, bool on); 313*4d7e907cSAndroid Build Coastguard Worker 314*4d7e907cSAndroid Build Coastguard Worker /** 315*4d7e907cSAndroid Build Coastguard Worker * Send a DTMF tone 316*4d7e907cSAndroid Build Coastguard Worker * 317*4d7e907cSAndroid Build Coastguard Worker * If the implementation is currently playing a tone requested via 318*4d7e907cSAndroid Build Coastguard Worker * startDtmf(), that tone must be cancelled and the new tone 319*4d7e907cSAndroid Build Coastguard Worker * must be played instead 320*4d7e907cSAndroid Build Coastguard Worker * 321*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 322*4d7e907cSAndroid Build Coastguard Worker * @param s string with single char having one of 12 values: 0-9, *, # 323*4d7e907cSAndroid Build Coastguard Worker * 324*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.sendDtmfResponse() 325*4d7e907cSAndroid Build Coastguard Worker */ 326*4d7e907cSAndroid Build Coastguard Worker oneway sendDtmf(int32_t serial, string s); 327*4d7e907cSAndroid Build Coastguard Worker 328*4d7e907cSAndroid Build Coastguard Worker /** 329*4d7e907cSAndroid Build Coastguard Worker * Send an SMS message 330*4d7e907cSAndroid Build Coastguard Worker * 331*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 332*4d7e907cSAndroid Build Coastguard Worker * @param message GsmSmsMessage as defined in types.hal 333*4d7e907cSAndroid Build Coastguard Worker * 334*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.sendSmsResponse() 335*4d7e907cSAndroid Build Coastguard Worker * 336*4d7e907cSAndroid Build Coastguard Worker * Based on the return error, caller decides to resend if sending sms 337*4d7e907cSAndroid Build Coastguard Worker * fails. RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) 338*4d7e907cSAndroid Build Coastguard Worker * and RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500) 339*4d7e907cSAndroid Build Coastguard Worker */ 340*4d7e907cSAndroid Build Coastguard Worker oneway sendSms(int32_t serial, GsmSmsMessage message); 341*4d7e907cSAndroid Build Coastguard Worker 342*4d7e907cSAndroid Build Coastguard Worker /** 343*4d7e907cSAndroid Build Coastguard Worker * Send an SMS message. Identical to sendSms, 344*4d7e907cSAndroid Build Coastguard Worker * except that more messages are expected to be sent soon. If possible, 345*4d7e907cSAndroid Build Coastguard Worker * keep SMS relay protocol link open (eg TS 27.005 AT+CMMS command) 346*4d7e907cSAndroid Build Coastguard Worker * 347*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 348*4d7e907cSAndroid Build Coastguard Worker * @param message GsmSmsMessage as defined in types.hal 349*4d7e907cSAndroid Build Coastguard Worker * 350*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.sendSMSExpectMoreResponse() 351*4d7e907cSAndroid Build Coastguard Worker * 352*4d7e907cSAndroid Build Coastguard Worker * Based on the return error, caller decides to resend if sending sms 353*4d7e907cSAndroid Build Coastguard Worker * fails. RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) 354*4d7e907cSAndroid Build Coastguard Worker * and RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500) 355*4d7e907cSAndroid Build Coastguard Worker */ 356*4d7e907cSAndroid Build Coastguard Worker oneway sendSMSExpectMore(int32_t serial, GsmSmsMessage message); 357*4d7e907cSAndroid Build Coastguard Worker 358*4d7e907cSAndroid Build Coastguard Worker /** 359*4d7e907cSAndroid Build Coastguard Worker * Setup a packet data connection. If DataCallResponse.status 360*4d7e907cSAndroid Build Coastguard Worker * return DataCallFailCause:NONE it is added to the list of data calls and a 361*4d7e907cSAndroid Build Coastguard Worker * unsolDataCallListChanged() is sent. The call remains in the 362*4d7e907cSAndroid Build Coastguard Worker * list until deactivateDataCall() is issued or the 363*4d7e907cSAndroid Build Coastguard Worker * radio is powered off/on. This list is returned by getDataCallList() 364*4d7e907cSAndroid Build Coastguard Worker * and dataCallListChanged(). 365*4d7e907cSAndroid Build Coastguard Worker * 366*4d7e907cSAndroid Build Coastguard Worker * The Radio is expected to: 367*4d7e907cSAndroid Build Coastguard Worker * - Create one data call context. 368*4d7e907cSAndroid Build Coastguard Worker * - Create and configure a dedicated interface for the context 369*4d7e907cSAndroid Build Coastguard Worker * - The interface must be point to point. 370*4d7e907cSAndroid Build Coastguard Worker * - The interface is configured with one or more addresses and 371*4d7e907cSAndroid Build Coastguard Worker * is capable of sending and receiving packets. The prefix length 372*4d7e907cSAndroid Build Coastguard Worker * of the addresses must be /32 for IPv4 and /128 for IPv6. 373*4d7e907cSAndroid Build Coastguard Worker * - Must NOT change the linux routing table. 374*4d7e907cSAndroid Build Coastguard Worker * - Support up to getDataRegistrationState response[5] 375*4d7e907cSAndroid Build Coastguard Worker * number of simultaneous data call contexts. 376*4d7e907cSAndroid Build Coastguard Worker * 377*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 378*4d7e907cSAndroid Build Coastguard Worker * @param radioTechnology Radio technology to use. 379*4d7e907cSAndroid Build Coastguard Worker * @param dataProfileInfo data profile info. 380*4d7e907cSAndroid Build Coastguard Worker * @param modemCognitive Indicating this profile was sent to the modem through setDataProfile 381*4d7e907cSAndroid Build Coastguard Worker * earlier. 382*4d7e907cSAndroid Build Coastguard Worker * @param roamingAllowed Indicating data roaming is allowed or not by the user. 383*4d7e907cSAndroid Build Coastguard Worker * @param isRoaming Indicating the device is roaming or not. The 'protocol' parameter in the old 384*4d7e907cSAndroid Build Coastguard Worker * RIL API must be filled accordingly based on the roaming condition. 385*4d7e907cSAndroid Build Coastguard Worker * Note this is for backward compatibility with the old radio modem. The modem 386*4d7e907cSAndroid Build Coastguard Worker * must not use this param for any other reason. 387*4d7e907cSAndroid Build Coastguard Worker * 388*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setupDataCallResponse() which may return 389*4d7e907cSAndroid Build Coastguard Worker * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported. 390*4d7e907cSAndroid Build Coastguard Worker * 391*4d7e907cSAndroid Build Coastguard Worker * DEPRECATED in @1.2 or higher, use @1.2::IRadio.setupDataCall_1_2() instead. 392*4d7e907cSAndroid Build Coastguard Worker */ 393*4d7e907cSAndroid Build Coastguard Worker oneway setupDataCall(int32_t serial, RadioTechnology radioTechnology, 394*4d7e907cSAndroid Build Coastguard Worker DataProfileInfo dataProfileInfo, bool modemCognitive, bool roamingAllowed, 395*4d7e907cSAndroid Build Coastguard Worker bool isRoaming); 396*4d7e907cSAndroid Build Coastguard Worker 397*4d7e907cSAndroid Build Coastguard Worker /** 398*4d7e907cSAndroid Build Coastguard Worker * Request ICC I/O operation. 399*4d7e907cSAndroid Build Coastguard Worker * This is similar to the TS 27.007 "restricted SIM" operation 400*4d7e907cSAndroid Build Coastguard Worker * where it assumes all of the EF selection must be done by the 401*4d7e907cSAndroid Build Coastguard Worker * callee 402*4d7e907cSAndroid Build Coastguard Worker * 403*4d7e907cSAndroid Build Coastguard Worker * Arguments and responses that are unused for certain 404*4d7e907cSAndroid Build Coastguard Worker * values of "command" must be ignored or set to empty string 405*4d7e907cSAndroid Build Coastguard Worker * 406*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 407*4d7e907cSAndroid Build Coastguard Worker * @param iccIo IccIo 408*4d7e907cSAndroid Build Coastguard Worker * 409*4d7e907cSAndroid Build Coastguard Worker * Please note that IccIo has a "PIN2" field which may be empty string, 410*4d7e907cSAndroid Build Coastguard Worker * or may specify a PIN2 for operations that require a PIN2 (eg 411*4d7e907cSAndroid Build Coastguard Worker * updating FDN records) 412*4d7e907cSAndroid Build Coastguard Worker * 413*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.iccIOForAppResponse() 414*4d7e907cSAndroid Build Coastguard Worker */ 415*4d7e907cSAndroid Build Coastguard Worker oneway iccIOForApp(int32_t serial, IccIo iccIo); 416*4d7e907cSAndroid Build Coastguard Worker 417*4d7e907cSAndroid Build Coastguard Worker /** 418*4d7e907cSAndroid Build Coastguard Worker * Send a USSD message. 419*4d7e907cSAndroid Build Coastguard Worker * 420*4d7e907cSAndroid Build Coastguard Worker * If a USSD session already exists, the message must be sent in the 421*4d7e907cSAndroid Build Coastguard Worker * context of that session. Otherwise, a new session must be created. 422*4d7e907cSAndroid Build Coastguard Worker * 423*4d7e907cSAndroid Build Coastguard Worker * The network reply must be reported via unsolOnUssd 424*4d7e907cSAndroid Build Coastguard Worker * 425*4d7e907cSAndroid Build Coastguard Worker * Only one USSD session must exist at a time, and the session is assumed 426*4d7e907cSAndroid Build Coastguard Worker * to exist until: 427*4d7e907cSAndroid Build Coastguard Worker * a) The android system invokes cancelUssd() 428*4d7e907cSAndroid Build Coastguard Worker * b) The implementation sends a unsolOnUssd() with a type code 429*4d7e907cSAndroid Build Coastguard Worker * of "0" (USSD-Notify/no further action) or "2" (session terminated) 430*4d7e907cSAndroid Build Coastguard Worker * 431*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 432*4d7e907cSAndroid Build Coastguard Worker * @param ussd string containing the USSD request in UTF-8 format 433*4d7e907cSAndroid Build Coastguard Worker * 434*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.sendUssdResponse() 435*4d7e907cSAndroid Build Coastguard Worker * 436*4d7e907cSAndroid Build Coastguard Worker * See also requestCancelUssd, unsolOnUssd 437*4d7e907cSAndroid Build Coastguard Worker */ 438*4d7e907cSAndroid Build Coastguard Worker oneway sendUssd(int32_t serial, string ussd); 439*4d7e907cSAndroid Build Coastguard Worker 440*4d7e907cSAndroid Build Coastguard Worker /** 441*4d7e907cSAndroid Build Coastguard Worker * Cancel the current USSD session if one exists. 442*4d7e907cSAndroid Build Coastguard Worker * 443*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 444*4d7e907cSAndroid Build Coastguard Worker * 445*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.cancelPendingUssdResponse() 446*4d7e907cSAndroid Build Coastguard Worker */ 447*4d7e907cSAndroid Build Coastguard Worker oneway cancelPendingUssd(int32_t serial); 448*4d7e907cSAndroid Build Coastguard Worker 449*4d7e907cSAndroid Build Coastguard Worker /** 450*4d7e907cSAndroid Build Coastguard Worker * Gets current CLIR status 451*4d7e907cSAndroid Build Coastguard Worker * 452*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 453*4d7e907cSAndroid Build Coastguard Worker * 454*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getClirResponse() 455*4d7e907cSAndroid Build Coastguard Worker */ 456*4d7e907cSAndroid Build Coastguard Worker oneway getClir(int32_t serial); 457*4d7e907cSAndroid Build Coastguard Worker 458*4d7e907cSAndroid Build Coastguard Worker /** 459*4d7e907cSAndroid Build Coastguard Worker * Set current CLIR status 460*4d7e907cSAndroid Build Coastguard Worker * 461*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 462*4d7e907cSAndroid Build Coastguard Worker * @param status "n" parameter from TS 27.007 7.7 463*4d7e907cSAndroid Build Coastguard Worker * 464*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setClirResponse() 465*4d7e907cSAndroid Build Coastguard Worker */ 466*4d7e907cSAndroid Build Coastguard Worker oneway setClir(int32_t serial, int32_t status); 467*4d7e907cSAndroid Build Coastguard Worker 468*4d7e907cSAndroid Build Coastguard Worker /** 469*4d7e907cSAndroid Build Coastguard Worker * Request call forward status. 470*4d7e907cSAndroid Build Coastguard Worker * 471*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 472*4d7e907cSAndroid Build Coastguard Worker * @param callInfo CallForwardInfo 473*4d7e907cSAndroid Build Coastguard Worker * 474*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getCallForwardStatusResponse() 475*4d7e907cSAndroid Build Coastguard Worker */ 476*4d7e907cSAndroid Build Coastguard Worker oneway getCallForwardStatus(int32_t serial, 477*4d7e907cSAndroid Build Coastguard Worker CallForwardInfo callInfo); 478*4d7e907cSAndroid Build Coastguard Worker 479*4d7e907cSAndroid Build Coastguard Worker /** 480*4d7e907cSAndroid Build Coastguard Worker * Configure call forward rule 481*4d7e907cSAndroid Build Coastguard Worker * 482*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 483*4d7e907cSAndroid Build Coastguard Worker * @param callInfo CallForwardInfo 484*4d7e907cSAndroid Build Coastguard Worker * 485*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setCallForwardResponse() 486*4d7e907cSAndroid Build Coastguard Worker */ 487*4d7e907cSAndroid Build Coastguard Worker oneway setCallForward(int32_t serial, CallForwardInfo callInfo); 488*4d7e907cSAndroid Build Coastguard Worker 489*4d7e907cSAndroid Build Coastguard Worker /** 490*4d7e907cSAndroid Build Coastguard Worker * Query current call waiting state 491*4d7e907cSAndroid Build Coastguard Worker * 492*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 493*4d7e907cSAndroid Build Coastguard Worker * @param serviceClass Service class is the TS 27.007 service class to query 494*4d7e907cSAndroid Build Coastguard Worker * 495*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getCallWaitingResponse() 496*4d7e907cSAndroid Build Coastguard Worker */ 497*4d7e907cSAndroid Build Coastguard Worker oneway getCallWaiting(int32_t serial, int32_t serviceClass); 498*4d7e907cSAndroid Build Coastguard Worker 499*4d7e907cSAndroid Build Coastguard Worker /** 500*4d7e907cSAndroid Build Coastguard Worker * Configure current call waiting state 501*4d7e907cSAndroid Build Coastguard Worker * 502*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 503*4d7e907cSAndroid Build Coastguard Worker * @param enable is false for "disabled" and true for "enabled" 504*4d7e907cSAndroid Build Coastguard Worker * @param serviceClass is the TS 27.007 service class bit vector of services to modify 505*4d7e907cSAndroid Build Coastguard Worker * 506*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setCallWaitingResponse() 507*4d7e907cSAndroid Build Coastguard Worker */ 508*4d7e907cSAndroid Build Coastguard Worker oneway setCallWaiting(int32_t serial, bool enable, 509*4d7e907cSAndroid Build Coastguard Worker int32_t serviceClass); 510*4d7e907cSAndroid Build Coastguard Worker 511*4d7e907cSAndroid Build Coastguard Worker /** 512*4d7e907cSAndroid Build Coastguard Worker * Acknowledge successful or failed receipt of SMS previously indicated 513*4d7e907cSAndroid Build Coastguard Worker * via unsolResponseNewSms 514*4d7e907cSAndroid Build Coastguard Worker * 515*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 516*4d7e907cSAndroid Build Coastguard Worker * @param success is true on successful receipt 517*4d7e907cSAndroid Build Coastguard Worker * (basically, AT+CNMA=1 from TS 27.005 is 0 on failed receipt 518*4d7e907cSAndroid Build Coastguard Worker * (basically, AT+CNMA=2 from TS 27.005) 519*4d7e907cSAndroid Build Coastguard Worker * @param cause: if success is false, this contains the failure cause as defined 520*4d7e907cSAndroid Build Coastguard Worker * in TS 23.040, 9.2.3.22. 521*4d7e907cSAndroid Build Coastguard Worker * 522*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.acknowledgeLastIncomingGsmSmsResponse() 523*4d7e907cSAndroid Build Coastguard Worker */ 524*4d7e907cSAndroid Build Coastguard Worker oneway acknowledgeLastIncomingGsmSms(int32_t serial, bool success, 525*4d7e907cSAndroid Build Coastguard Worker SmsAcknowledgeFailCause cause); 526*4d7e907cSAndroid Build Coastguard Worker 527*4d7e907cSAndroid Build Coastguard Worker /** 528*4d7e907cSAndroid Build Coastguard Worker * Answer incoming call 529*4d7e907cSAndroid Build Coastguard Worker * Must not be called for WAITING calls. 530*4d7e907cSAndroid Build Coastguard Worker * switchWaitingOrHoldingAndActive() must be used in this case 531*4d7e907cSAndroid Build Coastguard Worker * instead 532*4d7e907cSAndroid Build Coastguard Worker * 533*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 534*4d7e907cSAndroid Build Coastguard Worker * 535*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.acceptCallResponse() 536*4d7e907cSAndroid Build Coastguard Worker */ 537*4d7e907cSAndroid Build Coastguard Worker oneway acceptCall(int32_t serial); 538*4d7e907cSAndroid Build Coastguard Worker 539*4d7e907cSAndroid Build Coastguard Worker /** 540*4d7e907cSAndroid Build Coastguard Worker * Deactivate packet data connection and remove from the 541*4d7e907cSAndroid Build Coastguard Worker * data call list if RadioError:NONE is returned. Any other return 542*4d7e907cSAndroid Build Coastguard Worker * values must also try to remove the call from the list. An 543*4d7e907cSAndroid Build Coastguard Worker * unsolDataCallListChanged must be 544*4d7e907cSAndroid Build Coastguard Worker * issued because of an deactivateDataCall. 545*4d7e907cSAndroid Build Coastguard Worker * 546*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 547*4d7e907cSAndroid Build Coastguard Worker * @param cid Indicates CID 548*4d7e907cSAndroid Build Coastguard Worker * @param reasonRadioShutDown Indicates Disconnect Reason 549*4d7e907cSAndroid Build Coastguard Worker * false => No specific reason specified 550*4d7e907cSAndroid Build Coastguard Worker * true => Radio shutdown requested 551*4d7e907cSAndroid Build Coastguard Worker * 552*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.deactivateDataCallResponse() which may return 553*4d7e907cSAndroid Build Coastguard Worker * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported. 554*4d7e907cSAndroid Build Coastguard Worker * 555*4d7e907cSAndroid Build Coastguard Worker * DEPRECATED in @1.2 or higher, use @1.2::IRadio.deactivateDataCall_1_2() instead. 556*4d7e907cSAndroid Build Coastguard Worker */ 557*4d7e907cSAndroid Build Coastguard Worker oneway deactivateDataCall(int32_t serial, int32_t cid, 558*4d7e907cSAndroid Build Coastguard Worker bool reasonRadioShutDown); 559*4d7e907cSAndroid Build Coastguard Worker 560*4d7e907cSAndroid Build Coastguard Worker /** 561*4d7e907cSAndroid Build Coastguard Worker * Query the status of a facility lock state 562*4d7e907cSAndroid Build Coastguard Worker * 563*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 564*4d7e907cSAndroid Build Coastguard Worker * @param facility is the facility string code from TS 27.007 7.4 565*4d7e907cSAndroid Build Coastguard Worker * (eg "AO" for BAOC, "SC" for SIM lock) 566*4d7e907cSAndroid Build Coastguard Worker * @param password is the password, or "" if not required 567*4d7e907cSAndroid Build Coastguard Worker * @param serviceClass is the TS 27.007 service class bit vector of services to query 568*4d7e907cSAndroid Build Coastguard Worker * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. 569*4d7e907cSAndroid Build Coastguard Worker * This is only applicable in the case of Fixed Dialing Numbers (FDN) requests. 570*4d7e907cSAndroid Build Coastguard Worker * 571*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getFacilityLockForAppResponse() 572*4d7e907cSAndroid Build Coastguard Worker */ 573*4d7e907cSAndroid Build Coastguard Worker oneway getFacilityLockForApp(int32_t serial, string facility, 574*4d7e907cSAndroid Build Coastguard Worker string password, int32_t serviceClass, string appId); 575*4d7e907cSAndroid Build Coastguard Worker 576*4d7e907cSAndroid Build Coastguard Worker /** 577*4d7e907cSAndroid Build Coastguard Worker * Enable/disable one facility lock 578*4d7e907cSAndroid Build Coastguard Worker * 579*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 580*4d7e907cSAndroid Build Coastguard Worker * @param facility is the facility string code from TS 27.007 7.4 (eg "AO" for BAOC) 581*4d7e907cSAndroid Build Coastguard Worker * @param lockState false for "unlock" and true for "lock" 582*4d7e907cSAndroid Build Coastguard Worker * @param password is the password 583*4d7e907cSAndroid Build Coastguard Worker * @param serviceClass is string representation of decimal TS 27.007 584*4d7e907cSAndroid Build Coastguard Worker * service class bit vector. Eg, the string 585*4d7e907cSAndroid Build Coastguard Worker * "1" means "set this facility for voice services" 586*4d7e907cSAndroid Build Coastguard Worker * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. 587*4d7e907cSAndroid Build Coastguard Worker * This is only applicable in the case of Fixed Dialing Numbers (FDN) requests. 588*4d7e907cSAndroid Build Coastguard Worker * 589*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setFacilityLockForAppResponse() 590*4d7e907cSAndroid Build Coastguard Worker */ 591*4d7e907cSAndroid Build Coastguard Worker oneway setFacilityLockForApp(int32_t serial, string facility, bool lockState, 592*4d7e907cSAndroid Build Coastguard Worker string password, int32_t serviceClass, string appId); 593*4d7e907cSAndroid Build Coastguard Worker 594*4d7e907cSAndroid Build Coastguard Worker /** 595*4d7e907cSAndroid Build Coastguard Worker * Change call barring facility password 596*4d7e907cSAndroid Build Coastguard Worker * 597*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 598*4d7e907cSAndroid Build Coastguard Worker * @param facility facility string code from TS 27.007 7.4 (eg "AO" for BAOC) 599*4d7e907cSAndroid Build Coastguard Worker * @param oldPassword old password 600*4d7e907cSAndroid Build Coastguard Worker * @param newPassword new password 601*4d7e907cSAndroid Build Coastguard Worker * 602*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setBarringPasswordResponse() 603*4d7e907cSAndroid Build Coastguard Worker */ 604*4d7e907cSAndroid Build Coastguard Worker oneway setBarringPassword(int32_t serial, string facility, 605*4d7e907cSAndroid Build Coastguard Worker string oldPassword, string newPassword); 606*4d7e907cSAndroid Build Coastguard Worker 607*4d7e907cSAndroid Build Coastguard Worker /** 608*4d7e907cSAndroid Build Coastguard Worker * Query current network selection mode 609*4d7e907cSAndroid Build Coastguard Worker * 610*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 611*4d7e907cSAndroid Build Coastguard Worker * 612*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getNetworkSelectionModeResponse() 613*4d7e907cSAndroid Build Coastguard Worker */ 614*4d7e907cSAndroid Build Coastguard Worker oneway getNetworkSelectionMode(int32_t serial); 615*4d7e907cSAndroid Build Coastguard Worker 616*4d7e907cSAndroid Build Coastguard Worker /** 617*4d7e907cSAndroid Build Coastguard Worker * Specify that the network must be selected automatically. 618*4d7e907cSAndroid Build Coastguard Worker * This request must not respond until the new operator is selected and registered. 619*4d7e907cSAndroid Build Coastguard Worker * 620*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 621*4d7e907cSAndroid Build Coastguard Worker * 622*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setNetworkSelectionModeAutomaticResponse() 623*4d7e907cSAndroid Build Coastguard Worker */ 624*4d7e907cSAndroid Build Coastguard Worker oneway setNetworkSelectionModeAutomatic(int32_t serial); 625*4d7e907cSAndroid Build Coastguard Worker 626*4d7e907cSAndroid Build Coastguard Worker /** 627*4d7e907cSAndroid Build Coastguard Worker * Manually select a specified network. 628*4d7e907cSAndroid Build Coastguard Worker * This request must not respond until the new operator is selected and registered. 629*4d7e907cSAndroid Build Coastguard Worker * 630*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 631*4d7e907cSAndroid Build Coastguard Worker * @param operatorNumeric string specifying MCCMNC of network to select (eg "310170") 632*4d7e907cSAndroid Build Coastguard Worker * 633*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setNetworkSelectionModeManualResponse() 634*4d7e907cSAndroid Build Coastguard Worker */ 635*4d7e907cSAndroid Build Coastguard Worker oneway setNetworkSelectionModeManual(int32_t serial, string operatorNumeric); 636*4d7e907cSAndroid Build Coastguard Worker 637*4d7e907cSAndroid Build Coastguard Worker /** 638*4d7e907cSAndroid Build Coastguard Worker * Scans for available networks 639*4d7e907cSAndroid Build Coastguard Worker * 640*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 641*4d7e907cSAndroid Build Coastguard Worker * 642*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getAvailableNetworksResponse() 643*4d7e907cSAndroid Build Coastguard Worker */ 644*4d7e907cSAndroid Build Coastguard Worker oneway getAvailableNetworks(int32_t serial); 645*4d7e907cSAndroid Build Coastguard Worker 646*4d7e907cSAndroid Build Coastguard Worker /** 647*4d7e907cSAndroid Build Coastguard Worker * Start playing a DTMF tone. Continue playing DTMF tone until 648*4d7e907cSAndroid Build Coastguard Worker * stopDtmf is received. 649*4d7e907cSAndroid Build Coastguard Worker * If a startDtmf() is received while a tone is currently playing, 650*4d7e907cSAndroid Build Coastguard Worker * it must cancel the previous tone and play the new one. 651*4d7e907cSAndroid Build Coastguard Worker * 652*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 653*4d7e907cSAndroid Build Coastguard Worker * @param s string having a single character with one of 12 values: 0-9,*,# 654*4d7e907cSAndroid Build Coastguard Worker * 655*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.startDtmfResponse() 656*4d7e907cSAndroid Build Coastguard Worker */ 657*4d7e907cSAndroid Build Coastguard Worker oneway startDtmf(int32_t serial, string s); 658*4d7e907cSAndroid Build Coastguard Worker 659*4d7e907cSAndroid Build Coastguard Worker /** 660*4d7e907cSAndroid Build Coastguard Worker * Stop playing a currently playing DTMF tone. 661*4d7e907cSAndroid Build Coastguard Worker * 662*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 663*4d7e907cSAndroid Build Coastguard Worker * 664*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.stopDtmfResponse() 665*4d7e907cSAndroid Build Coastguard Worker */ 666*4d7e907cSAndroid Build Coastguard Worker oneway stopDtmf(int32_t serial); 667*4d7e907cSAndroid Build Coastguard Worker 668*4d7e907cSAndroid Build Coastguard Worker /** 669*4d7e907cSAndroid Build Coastguard Worker * Return string value indicating baseband version, eg response from AT+CGMR 670*4d7e907cSAndroid Build Coastguard Worker * 671*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 672*4d7e907cSAndroid Build Coastguard Worker * 673*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getBasebandVersionResponse() 674*4d7e907cSAndroid Build Coastguard Worker */ 675*4d7e907cSAndroid Build Coastguard Worker oneway getBasebandVersion(int32_t serial); 676*4d7e907cSAndroid Build Coastguard Worker 677*4d7e907cSAndroid Build Coastguard Worker /** 678*4d7e907cSAndroid Build Coastguard Worker * Separate a party from a multiparty call placing the multiparty call 679*4d7e907cSAndroid Build Coastguard Worker * (less the specified party) on hold and leaving the specified party 680*4d7e907cSAndroid Build Coastguard Worker * as the only other member of the current (active) call 681*4d7e907cSAndroid Build Coastguard Worker * 682*4d7e907cSAndroid Build Coastguard Worker * Like AT+CHLD=2x 683*4d7e907cSAndroid Build Coastguard Worker * 684*4d7e907cSAndroid Build Coastguard Worker * See TS 22.084 1.3.8.2 (iii) 685*4d7e907cSAndroid Build Coastguard Worker * TS 22.030 6.5.5 "Entering "2X followed by send" 686*4d7e907cSAndroid Build Coastguard Worker * TS 27.007 "AT+CHLD=2x" 687*4d7e907cSAndroid Build Coastguard Worker * 688*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 689*4d7e907cSAndroid Build Coastguard Worker * @param gsmIndex contains Connection index (value of 'x' in CHLD above) 690*4d7e907cSAndroid Build Coastguard Worker * 691*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.separateConnectionResponse() 692*4d7e907cSAndroid Build Coastguard Worker */ 693*4d7e907cSAndroid Build Coastguard Worker oneway separateConnection(int32_t serial, int32_t gsmIndex); 694*4d7e907cSAndroid Build Coastguard Worker 695*4d7e907cSAndroid Build Coastguard Worker /** 696*4d7e907cSAndroid Build Coastguard Worker * Turn on or off uplink (microphone) mute. 697*4d7e907cSAndroid Build Coastguard Worker * Must only be sent while voice call is active. 698*4d7e907cSAndroid Build Coastguard Worker * Must always be reset to "disable mute" when a new voice call is initiated 699*4d7e907cSAndroid Build Coastguard Worker * 700*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 701*4d7e907cSAndroid Build Coastguard Worker * @param enable true for "enable mute" and false for "disable mute" 702*4d7e907cSAndroid Build Coastguard Worker * 703*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setMuteResponse() 704*4d7e907cSAndroid Build Coastguard Worker */ 705*4d7e907cSAndroid Build Coastguard Worker oneway setMute(int32_t serial, bool enable); 706*4d7e907cSAndroid Build Coastguard Worker 707*4d7e907cSAndroid Build Coastguard Worker /** 708*4d7e907cSAndroid Build Coastguard Worker * Queries the current state of the uplink mute setting 709*4d7e907cSAndroid Build Coastguard Worker * 710*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 711*4d7e907cSAndroid Build Coastguard Worker * 712*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getMuteResponse() 713*4d7e907cSAndroid Build Coastguard Worker */ 714*4d7e907cSAndroid Build Coastguard Worker oneway getMute(int32_t serial); 715*4d7e907cSAndroid Build Coastguard Worker 716*4d7e907cSAndroid Build Coastguard Worker /** 717*4d7e907cSAndroid Build Coastguard Worker * Queries the status of the CLIP supplementary service 718*4d7e907cSAndroid Build Coastguard Worker * (for MMI code "*#30#") 719*4d7e907cSAndroid Build Coastguard Worker * 720*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 721*4d7e907cSAndroid Build Coastguard Worker * 722*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getClipResponse() 723*4d7e907cSAndroid Build Coastguard Worker */ 724*4d7e907cSAndroid Build Coastguard Worker oneway getClip(int32_t serial); 725*4d7e907cSAndroid Build Coastguard Worker 726*4d7e907cSAndroid Build Coastguard Worker /** 727*4d7e907cSAndroid Build Coastguard Worker * Returns the data call list. An entry is added when a 728*4d7e907cSAndroid Build Coastguard Worker * setupDataCall() is issued and removed on a 729*4d7e907cSAndroid Build Coastguard Worker * deactivateDataCall(). The list is emptied when 730*4d7e907cSAndroid Build Coastguard Worker * setRadioPower() off/on is issued. 731*4d7e907cSAndroid Build Coastguard Worker * 732*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 733*4d7e907cSAndroid Build Coastguard Worker * 734*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getDataCallListResponse() 735*4d7e907cSAndroid Build Coastguard Worker */ 736*4d7e907cSAndroid Build Coastguard Worker oneway getDataCallList(int32_t serial); 737*4d7e907cSAndroid Build Coastguard Worker 738*4d7e907cSAndroid Build Coastguard Worker /** 739*4d7e907cSAndroid Build Coastguard Worker * Enables/disables supplementary service related notifications from the network. 740*4d7e907cSAndroid Build Coastguard Worker * Notifications are reported via unsolSuppSvcNotification(). 741*4d7e907cSAndroid Build Coastguard Worker * 742*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 743*4d7e907cSAndroid Build Coastguard Worker * @param enable true = notifications enabled, false = notifications disabled. 744*4d7e907cSAndroid Build Coastguard Worker * 745*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setSuppServiceNotificationsResponse() 746*4d7e907cSAndroid Build Coastguard Worker */ 747*4d7e907cSAndroid Build Coastguard Worker oneway setSuppServiceNotifications(int32_t serial, bool enable); 748*4d7e907cSAndroid Build Coastguard Worker 749*4d7e907cSAndroid Build Coastguard Worker /** 750*4d7e907cSAndroid Build Coastguard Worker * Stores a SMS message to SIM memory. 751*4d7e907cSAndroid Build Coastguard Worker * 752*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 753*4d7e907cSAndroid Build Coastguard Worker * @param smsWriteArgs SmsWriteArgs defined in types.hal 754*4d7e907cSAndroid Build Coastguard Worker * 755*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.writeSmsToSimResponse() 756*4d7e907cSAndroid Build Coastguard Worker */ 757*4d7e907cSAndroid Build Coastguard Worker oneway writeSmsToSim(int32_t serial, SmsWriteArgs smsWriteArgs); 758*4d7e907cSAndroid Build Coastguard Worker 759*4d7e907cSAndroid Build Coastguard Worker /** 760*4d7e907cSAndroid Build Coastguard Worker * Deletes a SMS message from SIM memory. 761*4d7e907cSAndroid Build Coastguard Worker * 762*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 763*4d7e907cSAndroid Build Coastguard Worker * @param index Record index of the message to delete. 764*4d7e907cSAndroid Build Coastguard Worker * 765*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.deleteSmsOnSimResponse() 766*4d7e907cSAndroid Build Coastguard Worker */ 767*4d7e907cSAndroid Build Coastguard Worker oneway deleteSmsOnSim(int32_t serial, int32_t index); 768*4d7e907cSAndroid Build Coastguard Worker 769*4d7e907cSAndroid Build Coastguard Worker /** 770*4d7e907cSAndroid Build Coastguard Worker * Assign a specified band for RF configuration. 771*4d7e907cSAndroid Build Coastguard Worker * 772*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 773*4d7e907cSAndroid Build Coastguard Worker * @param mode RadioBandMode defined in types.hal 774*4d7e907cSAndroid Build Coastguard Worker * 775*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setBandModeResponse() 776*4d7e907cSAndroid Build Coastguard Worker */ 777*4d7e907cSAndroid Build Coastguard Worker oneway setBandMode(int32_t serial, RadioBandMode mode); 778*4d7e907cSAndroid Build Coastguard Worker 779*4d7e907cSAndroid Build Coastguard Worker /** 780*4d7e907cSAndroid Build Coastguard Worker * Get the list of band modes supported by RF. 781*4d7e907cSAndroid Build Coastguard Worker * 782*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 783*4d7e907cSAndroid Build Coastguard Worker * 784*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getAvailableBandModesResponse() 785*4d7e907cSAndroid Build Coastguard Worker */ 786*4d7e907cSAndroid Build Coastguard Worker oneway getAvailableBandModes(int32_t serial); 787*4d7e907cSAndroid Build Coastguard Worker 788*4d7e907cSAndroid Build Coastguard Worker /** 789*4d7e907cSAndroid Build Coastguard Worker * Requests to send a SAT/USAT envelope command to SIM. 790*4d7e907cSAndroid Build Coastguard Worker * The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111 791*4d7e907cSAndroid Build Coastguard Worker * 792*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 793*4d7e907cSAndroid Build Coastguard Worker * @param command SAT/USAT command in hexadecimal format string starting with command tag 794*4d7e907cSAndroid Build Coastguard Worker * 795*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.sendEnvelopeResponse() 796*4d7e907cSAndroid Build Coastguard Worker */ 797*4d7e907cSAndroid Build Coastguard Worker oneway sendEnvelope(int32_t serial, string command); 798*4d7e907cSAndroid Build Coastguard Worker 799*4d7e907cSAndroid Build Coastguard Worker /** 800*4d7e907cSAndroid Build Coastguard Worker * Requests to send a terminal response to SIM for a received proactive command 801*4d7e907cSAndroid Build Coastguard Worker * 802*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 803*4d7e907cSAndroid Build Coastguard Worker * @param commandResponse SAT/USAT response in hexadecimal format string starting with 804*4d7e907cSAndroid Build Coastguard Worker * first byte of response data 805*4d7e907cSAndroid Build Coastguard Worker * 806*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.sendTerminalResponseResponseToSim() 807*4d7e907cSAndroid Build Coastguard Worker */ 808*4d7e907cSAndroid Build Coastguard Worker oneway sendTerminalResponseToSim(int32_t serial, string commandResponse); 809*4d7e907cSAndroid Build Coastguard Worker 810*4d7e907cSAndroid Build Coastguard Worker /** 811*4d7e907cSAndroid Build Coastguard Worker * When STK application gets stkCallSetup(), the call actually has 812*4d7e907cSAndroid Build Coastguard Worker * been initialized by mobile device already. (We could see the call has been in the 'call 813*4d7e907cSAndroid Build Coastguard Worker * list') So, STK application needs to accept/reject the call according to user 814*4d7e907cSAndroid Build Coastguard Worker * operations. 815*4d7e907cSAndroid Build Coastguard Worker * 816*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 817*4d7e907cSAndroid Build Coastguard Worker * @param accept true = accept the call setup, false = reject the call setup 818*4d7e907cSAndroid Build Coastguard Worker * 819*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.handleStkCallSetupRequestFromSimResponse() 820*4d7e907cSAndroid Build Coastguard Worker */ 821*4d7e907cSAndroid Build Coastguard Worker oneway handleStkCallSetupRequestFromSim(int32_t serial, 822*4d7e907cSAndroid Build Coastguard Worker bool accept); 823*4d7e907cSAndroid Build Coastguard Worker 824*4d7e907cSAndroid Build Coastguard Worker /** 825*4d7e907cSAndroid Build Coastguard Worker * Connects the two calls and disconnects the subscriber from both calls. 826*4d7e907cSAndroid Build Coastguard Worker * 827*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 828*4d7e907cSAndroid Build Coastguard Worker * 829*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.explicitCallTransferResponse() 830*4d7e907cSAndroid Build Coastguard Worker */ 831*4d7e907cSAndroid Build Coastguard Worker oneway explicitCallTransfer(int32_t serial); 832*4d7e907cSAndroid Build Coastguard Worker 833*4d7e907cSAndroid Build Coastguard Worker /** 834*4d7e907cSAndroid Build Coastguard Worker * Requests to set the preferred network type for searching and registering 835*4d7e907cSAndroid Build Coastguard Worker * (CS/PS domain, RAT, and operation mode) 836*4d7e907cSAndroid Build Coastguard Worker * 837*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 838*4d7e907cSAndroid Build Coastguard Worker * @param nwType PreferredNetworkType defined in types.hal 839*4d7e907cSAndroid Build Coastguard Worker * 840*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setPreferredNetworkTypeResponse() 841*4d7e907cSAndroid Build Coastguard Worker */ 842*4d7e907cSAndroid Build Coastguard Worker oneway setPreferredNetworkType(int32_t serial, 843*4d7e907cSAndroid Build Coastguard Worker PreferredNetworkType nwType); 844*4d7e907cSAndroid Build Coastguard Worker 845*4d7e907cSAndroid Build Coastguard Worker /** 846*4d7e907cSAndroid Build Coastguard Worker * Query the preferred network type (CS/PS domain, RAT, and operation mode) 847*4d7e907cSAndroid Build Coastguard Worker * for searching and registering 848*4d7e907cSAndroid Build Coastguard Worker * 849*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 850*4d7e907cSAndroid Build Coastguard Worker * 851*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getPreferredNetworkTypeResponse() 852*4d7e907cSAndroid Build Coastguard Worker */ 853*4d7e907cSAndroid Build Coastguard Worker oneway getPreferredNetworkType(int32_t serial); 854*4d7e907cSAndroid Build Coastguard Worker 855*4d7e907cSAndroid Build Coastguard Worker /** 856*4d7e907cSAndroid Build Coastguard Worker * Request neighboring cell id in GSM network 857*4d7e907cSAndroid Build Coastguard Worker * 858*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 859*4d7e907cSAndroid Build Coastguard Worker * 860*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getNeighboringCidsResponse() 861*4d7e907cSAndroid Build Coastguard Worker */ 862*4d7e907cSAndroid Build Coastguard Worker oneway getNeighboringCids(int32_t serial); 863*4d7e907cSAndroid Build Coastguard Worker 864*4d7e907cSAndroid Build Coastguard Worker /** 865*4d7e907cSAndroid Build Coastguard Worker * Enables/disables network state change notifications due to changes in 866*4d7e907cSAndroid Build Coastguard Worker * LAC and/or CID (for GSM) or BID/SID/NID/latitude/longitude (for CDMA). 867*4d7e907cSAndroid Build Coastguard Worker * Basically +CREG=2 vs. +CREG=1 (TS 27.007). 868*4d7e907cSAndroid Build Coastguard Worker * Note: The Radio implementation must default to "updates enabled" 869*4d7e907cSAndroid Build Coastguard Worker * when the screen is on and "updates disabled" when the screen is off. 870*4d7e907cSAndroid Build Coastguard Worker * 871*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 872*4d7e907cSAndroid Build Coastguard Worker * @param enable true = updates enabled (+CREG=2), false = updates disabled (+CREG=1) 873*4d7e907cSAndroid Build Coastguard Worker * 874*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setLocationUpdatesResponse() 875*4d7e907cSAndroid Build Coastguard Worker */ 876*4d7e907cSAndroid Build Coastguard Worker oneway setLocationUpdates(int32_t serial, bool enable); 877*4d7e907cSAndroid Build Coastguard Worker 878*4d7e907cSAndroid Build Coastguard Worker /** 879*4d7e907cSAndroid Build Coastguard Worker * Request to set the location where the CDMA subscription shall 880*4d7e907cSAndroid Build Coastguard Worker * be retrieved 881*4d7e907cSAndroid Build Coastguard Worker * 882*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 883*4d7e907cSAndroid Build Coastguard Worker * @param cdmaSub CdmaSubscriptionSource 884*4d7e907cSAndroid Build Coastguard Worker * 885*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setCdmaSubscriptionSourceResponse() 886*4d7e907cSAndroid Build Coastguard Worker */ 887*4d7e907cSAndroid Build Coastguard Worker oneway setCdmaSubscriptionSource(int32_t serial, 888*4d7e907cSAndroid Build Coastguard Worker CdmaSubscriptionSource cdmaSub); 889*4d7e907cSAndroid Build Coastguard Worker 890*4d7e907cSAndroid Build Coastguard Worker /** 891*4d7e907cSAndroid Build Coastguard Worker * Request to set the roaming preferences in CDMA 892*4d7e907cSAndroid Build Coastguard Worker * 893*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 894*4d7e907cSAndroid Build Coastguard Worker * @param type CdmaRoamingType defined in types.hal 895*4d7e907cSAndroid Build Coastguard Worker * 896*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setCdmaRoamingPreferenceResponse() 897*4d7e907cSAndroid Build Coastguard Worker */ 898*4d7e907cSAndroid Build Coastguard Worker oneway setCdmaRoamingPreference(int32_t serial, 899*4d7e907cSAndroid Build Coastguard Worker CdmaRoamingType type); 900*4d7e907cSAndroid Build Coastguard Worker 901*4d7e907cSAndroid Build Coastguard Worker /** 902*4d7e907cSAndroid Build Coastguard Worker * Request the actual setting of the roaming preferences in CDMA in the modem 903*4d7e907cSAndroid Build Coastguard Worker * 904*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 905*4d7e907cSAndroid Build Coastguard Worker * 906*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getCdmaRoamingPreferenceResponse() 907*4d7e907cSAndroid Build Coastguard Worker */ 908*4d7e907cSAndroid Build Coastguard Worker oneway getCdmaRoamingPreference(int32_t serial); 909*4d7e907cSAndroid Build Coastguard Worker 910*4d7e907cSAndroid Build Coastguard Worker /** 911*4d7e907cSAndroid Build Coastguard Worker * Request to set the TTY mode 912*4d7e907cSAndroid Build Coastguard Worker * 913*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 914*4d7e907cSAndroid Build Coastguard Worker * @param mode TtyMode 915*4d7e907cSAndroid Build Coastguard Worker * 916*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setTTYModeResponse() 917*4d7e907cSAndroid Build Coastguard Worker */ 918*4d7e907cSAndroid Build Coastguard Worker oneway setTTYMode(int32_t serial, TtyMode mode); 919*4d7e907cSAndroid Build Coastguard Worker 920*4d7e907cSAndroid Build Coastguard Worker /** 921*4d7e907cSAndroid Build Coastguard Worker * Request the setting of TTY mode 922*4d7e907cSAndroid Build Coastguard Worker * 923*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 924*4d7e907cSAndroid Build Coastguard Worker * 925*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getTTYModeResponse() 926*4d7e907cSAndroid Build Coastguard Worker */ 927*4d7e907cSAndroid Build Coastguard Worker oneway getTTYMode(int32_t serial); 928*4d7e907cSAndroid Build Coastguard Worker 929*4d7e907cSAndroid Build Coastguard Worker /** 930*4d7e907cSAndroid Build Coastguard Worker * Request to set the preferred voice privacy mode used in voice scrambling. 931*4d7e907cSAndroid Build Coastguard Worker * 932*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 933*4d7e907cSAndroid Build Coastguard Worker * @param enable false for Standard Privacy Mode (Public Long Code Mask) 934*4d7e907cSAndroid Build Coastguard Worker * true for Enhanced Privacy Mode (Private Long Code Mask) 935*4d7e907cSAndroid Build Coastguard Worker * 936*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setPreferredVoicePrivacyResponse() 937*4d7e907cSAndroid Build Coastguard Worker */ 938*4d7e907cSAndroid Build Coastguard Worker oneway setPreferredVoicePrivacy(int32_t serial, bool enable); 939*4d7e907cSAndroid Build Coastguard Worker 940*4d7e907cSAndroid Build Coastguard Worker /** 941*4d7e907cSAndroid Build Coastguard Worker * Request the setting of preferred voice privacy mode. 942*4d7e907cSAndroid Build Coastguard Worker * 943*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 944*4d7e907cSAndroid Build Coastguard Worker * 945*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getPreferredVoicePrivacyResponse() 946*4d7e907cSAndroid Build Coastguard Worker */ 947*4d7e907cSAndroid Build Coastguard Worker oneway getPreferredVoicePrivacy(int32_t serial); 948*4d7e907cSAndroid Build Coastguard Worker 949*4d7e907cSAndroid Build Coastguard Worker /** 950*4d7e907cSAndroid Build Coastguard Worker * Send FLASH command 951*4d7e907cSAndroid Build Coastguard Worker * 952*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 953*4d7e907cSAndroid Build Coastguard Worker * @param featureCode String associated with Flash command 954*4d7e907cSAndroid Build Coastguard Worker * 955*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.sendCDMAFeatureCodeResponse() 956*4d7e907cSAndroid Build Coastguard Worker */ 957*4d7e907cSAndroid Build Coastguard Worker oneway sendCDMAFeatureCode(int32_t serial, string featureCode); 958*4d7e907cSAndroid Build Coastguard Worker 959*4d7e907cSAndroid Build Coastguard Worker /** 960*4d7e907cSAndroid Build Coastguard Worker * Send DTMF string 961*4d7e907cSAndroid Build Coastguard Worker * 962*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 963*4d7e907cSAndroid Build Coastguard Worker * @param dtmf DTMF string 964*4d7e907cSAndroid Build Coastguard Worker * @param on DTMF ON length in milliseconds, or 0 to use default 965*4d7e907cSAndroid Build Coastguard Worker * @param off is the DTMF OFF length in milliseconds, or 0 to use default 966*4d7e907cSAndroid Build Coastguard Worker * 967*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.sendBurstDtmfResponse() 968*4d7e907cSAndroid Build Coastguard Worker */ 969*4d7e907cSAndroid Build Coastguard Worker oneway sendBurstDtmf(int32_t serial, string dtmf, int32_t on, int32_t off); 970*4d7e907cSAndroid Build Coastguard Worker 971*4d7e907cSAndroid Build Coastguard Worker /** 972*4d7e907cSAndroid Build Coastguard Worker * Send a CDMA SMS message 973*4d7e907cSAndroid Build Coastguard Worker * 974*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 975*4d7e907cSAndroid Build Coastguard Worker * @param sms Cdma Sms to be sent described by CdmaSmsMessage in types.hal 976*4d7e907cSAndroid Build Coastguard Worker * 977*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.sendCdmaSmsResponse() 978*4d7e907cSAndroid Build Coastguard Worker */ 979*4d7e907cSAndroid Build Coastguard Worker oneway sendCdmaSms(int32_t serial, CdmaSmsMessage sms); 980*4d7e907cSAndroid Build Coastguard Worker 981*4d7e907cSAndroid Build Coastguard Worker /** 982*4d7e907cSAndroid Build Coastguard Worker * Acknowledge the success or failure in the receipt of SMS 983*4d7e907cSAndroid Build Coastguard Worker * previously indicated via responseCdmaNewSms() 984*4d7e907cSAndroid Build Coastguard Worker * 985*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 986*4d7e907cSAndroid Build Coastguard Worker * @param smsAck Cdma Sms ack to be sent described by CdmaSmsAck in types.hal 987*4d7e907cSAndroid Build Coastguard Worker * 988*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.acknowledgeLastIncomingCdmaSmsResponse() 989*4d7e907cSAndroid Build Coastguard Worker */ 990*4d7e907cSAndroid Build Coastguard Worker oneway acknowledgeLastIncomingCdmaSms(int32_t serial, CdmaSmsAck smsAck); 991*4d7e907cSAndroid Build Coastguard Worker 992*4d7e907cSAndroid Build Coastguard Worker /** 993*4d7e907cSAndroid Build Coastguard Worker * Request the setting of GSM/WCDMA Cell Broadcast SMS config. 994*4d7e907cSAndroid Build Coastguard Worker * 995*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 996*4d7e907cSAndroid Build Coastguard Worker * 997*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getGsmBroadcastConfigResponse() 998*4d7e907cSAndroid Build Coastguard Worker */ 999*4d7e907cSAndroid Build Coastguard Worker oneway getGsmBroadcastConfig(int32_t serial); 1000*4d7e907cSAndroid Build Coastguard Worker 1001*4d7e907cSAndroid Build Coastguard Worker /** 1002*4d7e907cSAndroid Build Coastguard Worker * Set GSM/WCDMA Cell Broadcast SMS config 1003*4d7e907cSAndroid Build Coastguard Worker * 1004*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1005*4d7e907cSAndroid Build Coastguard Worker * @param configInfo Setting of GSM/WCDMA Cell broadcast config 1006*4d7e907cSAndroid Build Coastguard Worker * 1007*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setGsmBroadcastConfigResponse() 1008*4d7e907cSAndroid Build Coastguard Worker */ 1009*4d7e907cSAndroid Build Coastguard Worker oneway setGsmBroadcastConfig(int32_t serial, vec<GsmBroadcastSmsConfigInfo> configInfo); 1010*4d7e907cSAndroid Build Coastguard Worker 1011*4d7e907cSAndroid Build Coastguard Worker /** 1012*4d7e907cSAndroid Build Coastguard Worker * Enable or disable the reception of GSM/WCDMA Cell Broadcast SMS 1013*4d7e907cSAndroid Build Coastguard Worker * 1014*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1015*4d7e907cSAndroid Build Coastguard Worker * @param activate indicates to activate or turn off the reception of GSM/WCDMA 1016*4d7e907cSAndroid Build Coastguard Worker * Cell Broadcast SMS. true = activate, false = turn off 1017*4d7e907cSAndroid Build Coastguard Worker * 1018*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setGsmBroadcastActivationResponse() 1019*4d7e907cSAndroid Build Coastguard Worker */ 1020*4d7e907cSAndroid Build Coastguard Worker oneway setGsmBroadcastActivation(int32_t serial, bool activate); 1021*4d7e907cSAndroid Build Coastguard Worker 1022*4d7e907cSAndroid Build Coastguard Worker /** 1023*4d7e907cSAndroid Build Coastguard Worker * Request the setting of CDMA Broadcast SMS config 1024*4d7e907cSAndroid Build Coastguard Worker * 1025*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1026*4d7e907cSAndroid Build Coastguard Worker * 1027*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getCdmaBroadcastConfigResponse() 1028*4d7e907cSAndroid Build Coastguard Worker */ 1029*4d7e907cSAndroid Build Coastguard Worker oneway getCdmaBroadcastConfig(int32_t serial); 1030*4d7e907cSAndroid Build Coastguard Worker 1031*4d7e907cSAndroid Build Coastguard Worker /** 1032*4d7e907cSAndroid Build Coastguard Worker * Set CDMA Broadcast SMS config 1033*4d7e907cSAndroid Build Coastguard Worker * 1034*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1035*4d7e907cSAndroid Build Coastguard Worker * @param configInfo CDMA Broadcast SMS config to be set. 1036*4d7e907cSAndroid Build Coastguard Worker * 1037*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setCdmaBroadcastConfigResponse() 1038*4d7e907cSAndroid Build Coastguard Worker */ 1039*4d7e907cSAndroid Build Coastguard Worker oneway setCdmaBroadcastConfig(int32_t serial, vec<CdmaBroadcastSmsConfigInfo> configInfo); 1040*4d7e907cSAndroid Build Coastguard Worker 1041*4d7e907cSAndroid Build Coastguard Worker /** 1042*4d7e907cSAndroid Build Coastguard Worker * Enable or disable the reception of CDMA Cell Broadcast SMS 1043*4d7e907cSAndroid Build Coastguard Worker * 1044*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1045*4d7e907cSAndroid Build Coastguard Worker * @param activate indicates to activate or turn off the reception of CDMA 1046*4d7e907cSAndroid Build Coastguard Worker * Cell Broadcast SMS. true = activate, false = turn off 1047*4d7e907cSAndroid Build Coastguard Worker * 1048*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setCdmaBroadcastActivationResponse() 1049*4d7e907cSAndroid Build Coastguard Worker */ 1050*4d7e907cSAndroid Build Coastguard Worker oneway setCdmaBroadcastActivation(int32_t serial, bool activate); 1051*4d7e907cSAndroid Build Coastguard Worker 1052*4d7e907cSAndroid Build Coastguard Worker /** 1053*4d7e907cSAndroid Build Coastguard Worker * Request the device MDN / H_SID / H_NID. 1054*4d7e907cSAndroid Build Coastguard Worker * The request is only allowed when CDMA subscription is available. When CDMA 1055*4d7e907cSAndroid Build Coastguard Worker * subscription is changed, application layer must re-issue the request to 1056*4d7e907cSAndroid Build Coastguard Worker * update the subscription information. 1057*4d7e907cSAndroid Build Coastguard Worker * 1058*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1059*4d7e907cSAndroid Build Coastguard Worker * 1060*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getCDMASubscriptionResponse() 1061*4d7e907cSAndroid Build Coastguard Worker */ 1062*4d7e907cSAndroid Build Coastguard Worker oneway getCDMASubscription(int32_t serial); 1063*4d7e907cSAndroid Build Coastguard Worker 1064*4d7e907cSAndroid Build Coastguard Worker /** 1065*4d7e907cSAndroid Build Coastguard Worker * Stores a CDMA SMS message to RUIM memory. 1066*4d7e907cSAndroid Build Coastguard Worker * 1067*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1068*4d7e907cSAndroid Build Coastguard Worker * @param cdmaSms CDMA message as defined by CdmaSmsWriteArgs in types.hal 1069*4d7e907cSAndroid Build Coastguard Worker * 1070*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.writeSmsToRuimResponse() 1071*4d7e907cSAndroid Build Coastguard Worker */ 1072*4d7e907cSAndroid Build Coastguard Worker oneway writeSmsToRuim(int32_t serial, CdmaSmsWriteArgs cdmaSms); 1073*4d7e907cSAndroid Build Coastguard Worker 1074*4d7e907cSAndroid Build Coastguard Worker /** 1075*4d7e907cSAndroid Build Coastguard Worker * Deletes a CDMA SMS message from RUIM memory. 1076*4d7e907cSAndroid Build Coastguard Worker * 1077*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1078*4d7e907cSAndroid Build Coastguard Worker * @param index record index of the message to delete 1079*4d7e907cSAndroid Build Coastguard Worker * 1080*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.deleteSmsOnRuimResponse() 1081*4d7e907cSAndroid Build Coastguard Worker */ 1082*4d7e907cSAndroid Build Coastguard Worker oneway deleteSmsOnRuim(int32_t serial, int32_t index); 1083*4d7e907cSAndroid Build Coastguard Worker 1084*4d7e907cSAndroid Build Coastguard Worker /** 1085*4d7e907cSAndroid Build Coastguard Worker * Request the device ESN / MEID / IMEI / IMEISV. 1086*4d7e907cSAndroid Build Coastguard Worker * The request is always allowed and contains GSM and CDMA device identity. 1087*4d7e907cSAndroid Build Coastguard Worker * When CDMA subscription is changed the ESN/MEID changes. The application 1088*4d7e907cSAndroid Build Coastguard Worker * layer must re-issue the request to update the device identity in this case. 1089*4d7e907cSAndroid Build Coastguard Worker * 1090*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1091*4d7e907cSAndroid Build Coastguard Worker * 1092*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getDeviceIdentityResponse() 1093*4d7e907cSAndroid Build Coastguard Worker */ 1094*4d7e907cSAndroid Build Coastguard Worker oneway getDeviceIdentity(int32_t serial); 1095*4d7e907cSAndroid Build Coastguard Worker 1096*4d7e907cSAndroid Build Coastguard Worker /** 1097*4d7e907cSAndroid Build Coastguard Worker * Request the radio's system selection module to exit emergency 1098*4d7e907cSAndroid Build Coastguard Worker * callback mode. Radio must not respond with SUCCESS until the modem has 1099*4d7e907cSAndroid Build Coastguard Worker * completely exited from Emergency Callback Mode. 1100*4d7e907cSAndroid Build Coastguard Worker * 1101*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1102*4d7e907cSAndroid Build Coastguard Worker * 1103*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.exitEmergencyCallbackModeResponse() 1104*4d7e907cSAndroid Build Coastguard Worker */ 1105*4d7e907cSAndroid Build Coastguard Worker oneway exitEmergencyCallbackMode(int32_t serial); 1106*4d7e907cSAndroid Build Coastguard Worker 1107*4d7e907cSAndroid Build Coastguard Worker /** 1108*4d7e907cSAndroid Build Coastguard Worker * Get the default Short Message Service Center address on the device. 1109*4d7e907cSAndroid Build Coastguard Worker * 1110*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1111*4d7e907cSAndroid Build Coastguard Worker * 1112*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getSmscAddressResponse() 1113*4d7e907cSAndroid Build Coastguard Worker */ 1114*4d7e907cSAndroid Build Coastguard Worker oneway getSmscAddress(int32_t serial); 1115*4d7e907cSAndroid Build Coastguard Worker 1116*4d7e907cSAndroid Build Coastguard Worker /** 1117*4d7e907cSAndroid Build Coastguard Worker * Set the default Short Message Service Center address on the device. 1118*4d7e907cSAndroid Build Coastguard Worker * 1119*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1120*4d7e907cSAndroid Build Coastguard Worker * @param smsc Short Message Service Center address to set 1121*4d7e907cSAndroid Build Coastguard Worker * 1122*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setSmscAddressResponse() 1123*4d7e907cSAndroid Build Coastguard Worker */ 1124*4d7e907cSAndroid Build Coastguard Worker oneway setSmscAddress(int32_t serial, string smsc); 1125*4d7e907cSAndroid Build Coastguard Worker 1126*4d7e907cSAndroid Build Coastguard Worker /** 1127*4d7e907cSAndroid Build Coastguard Worker * Indicates whether there is storage available for new SMS messages. 1128*4d7e907cSAndroid Build Coastguard Worker * 1129*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1130*4d7e907cSAndroid Build Coastguard Worker * @param available true if memory is available for storing new messages, 1131*4d7e907cSAndroid Build Coastguard Worker * false if memory capacity is exceeded 1132*4d7e907cSAndroid Build Coastguard Worker * 1133*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.reportSmsMemoryStatusResponse() 1134*4d7e907cSAndroid Build Coastguard Worker */ 1135*4d7e907cSAndroid Build Coastguard Worker oneway reportSmsMemoryStatus(int32_t serial, bool available); 1136*4d7e907cSAndroid Build Coastguard Worker 1137*4d7e907cSAndroid Build Coastguard Worker /** 1138*4d7e907cSAndroid Build Coastguard Worker * Indicates that the StkService is running and is 1139*4d7e907cSAndroid Build Coastguard Worker * ready to receive unsolicited stkXXXXX commands. 1140*4d7e907cSAndroid Build Coastguard Worker * 1141*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1142*4d7e907cSAndroid Build Coastguard Worker * 1143*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.reportStkServiceIsRunningResponse() 1144*4d7e907cSAndroid Build Coastguard Worker */ 1145*4d7e907cSAndroid Build Coastguard Worker oneway reportStkServiceIsRunning(int32_t serial); 1146*4d7e907cSAndroid Build Coastguard Worker 1147*4d7e907cSAndroid Build Coastguard Worker /** 1148*4d7e907cSAndroid Build Coastguard Worker * Request to query the location where the CDMA subscription shall be retrieved. 1149*4d7e907cSAndroid Build Coastguard Worker * 1150*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1151*4d7e907cSAndroid Build Coastguard Worker * 1152*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getCdmaSubscriptionSourceResponse() 1153*4d7e907cSAndroid Build Coastguard Worker */ 1154*4d7e907cSAndroid Build Coastguard Worker oneway getCdmaSubscriptionSource(int32_t serial); 1155*4d7e907cSAndroid Build Coastguard Worker 1156*4d7e907cSAndroid Build Coastguard Worker /** 1157*4d7e907cSAndroid Build Coastguard Worker * Request the ISIM application on the UICC to perform AKA 1158*4d7e907cSAndroid Build Coastguard Worker * challenge/response algorithm for IMS authentication 1159*4d7e907cSAndroid Build Coastguard Worker * 1160*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1161*4d7e907cSAndroid Build Coastguard Worker * @param challenge challenge string in Base64 format 1162*4d7e907cSAndroid Build Coastguard Worker * 1163*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.requestIsimAuthenticationResponse() 1164*4d7e907cSAndroid Build Coastguard Worker */ 1165*4d7e907cSAndroid Build Coastguard Worker oneway requestIsimAuthentication(int32_t serial, string challenge); 1166*4d7e907cSAndroid Build Coastguard Worker 1167*4d7e907cSAndroid Build Coastguard Worker /** 1168*4d7e907cSAndroid Build Coastguard Worker * Acknowledge successful or failed receipt of SMS previously indicated 1169*4d7e907cSAndroid Build Coastguard Worker * via unsol responseNewSms(), including acknowledgement TPDU to send 1170*4d7e907cSAndroid Build Coastguard Worker * as the RP-User-Data element of the RP-ACK or RP-ERROR PDU. 1171*4d7e907cSAndroid Build Coastguard Worker * 1172*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1173*4d7e907cSAndroid Build Coastguard Worker * @param success true on successful receipt (send RP-ACK) 1174*4d7e907cSAndroid Build Coastguard Worker * false on failed receipt (send RP-ERROR) 1175*4d7e907cSAndroid Build Coastguard Worker * @param ackPdu acknowledgement TPDU in hexadecimal format 1176*4d7e907cSAndroid Build Coastguard Worker * 1177*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.acknowledgeIncomingGsmSmsWithPduResponse() 1178*4d7e907cSAndroid Build Coastguard Worker */ 1179*4d7e907cSAndroid Build Coastguard Worker oneway acknowledgeIncomingGsmSmsWithPdu(int32_t serial, bool success, string ackPdu); 1180*4d7e907cSAndroid Build Coastguard Worker 1181*4d7e907cSAndroid Build Coastguard Worker /** 1182*4d7e907cSAndroid Build Coastguard Worker * Requests to send a SAT/USAT envelope command to SIM. 1183*4d7e907cSAndroid Build Coastguard Worker * The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111. 1184*4d7e907cSAndroid Build Coastguard Worker * 1185*4d7e907cSAndroid Build Coastguard Worker * This request has one difference from sendEnvelope(): 1186*4d7e907cSAndroid Build Coastguard Worker * the SW1 and SW2 status bytes from the UICC response are returned along with 1187*4d7e907cSAndroid Build Coastguard Worker * the response data, using the same structure as iccIOForApp(). 1188*4d7e907cSAndroid Build Coastguard Worker * 1189*4d7e907cSAndroid Build Coastguard Worker * The implementation must perform normal processing of a '91XX' 1190*4d7e907cSAndroid Build Coastguard Worker * response in SW1/SW2 to retrieve the pending proactive command and send it 1191*4d7e907cSAndroid Build Coastguard Worker * as an unsolicited response, as sendEnvelope() does. 1192*4d7e907cSAndroid Build Coastguard Worker * 1193*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1194*4d7e907cSAndroid Build Coastguard Worker * @param contents SAT/USAT command in hexadecimal format starting with command tag 1195*4d7e907cSAndroid Build Coastguard Worker * 1196*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.sendEnvelopeWithStatusResponse() 1197*4d7e907cSAndroid Build Coastguard Worker */ 1198*4d7e907cSAndroid Build Coastguard Worker oneway sendEnvelopeWithStatus(int32_t serial, string contents); 1199*4d7e907cSAndroid Build Coastguard Worker 1200*4d7e907cSAndroid Build Coastguard Worker /** 1201*4d7e907cSAndroid Build Coastguard Worker * Query the radio technology type (3GPP/3GPP2) used for voice. Query is valid only 1202*4d7e907cSAndroid Build Coastguard Worker * when radio state is not RADIO_STATE_UNAVAILABLE 1203*4d7e907cSAndroid Build Coastguard Worker * 1204*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1205*4d7e907cSAndroid Build Coastguard Worker * 1206*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getVoiceRadioTechnologyResponse() 1207*4d7e907cSAndroid Build Coastguard Worker */ 1208*4d7e907cSAndroid Build Coastguard Worker oneway getVoiceRadioTechnology(int32_t serial); 1209*4d7e907cSAndroid Build Coastguard Worker 1210*4d7e907cSAndroid Build Coastguard Worker /** 1211*4d7e907cSAndroid Build Coastguard Worker * Request all of the current cell information known to the radio. The radio 1212*4d7e907cSAndroid Build Coastguard Worker * must return list of all current cells, including the neighboring cells. If for a particular 1213*4d7e907cSAndroid Build Coastguard Worker * cell information isn't known then the appropriate unknown value will be returned. 1214*4d7e907cSAndroid Build Coastguard Worker * This does not cause or change the rate of unsolicited cellInfoList(). 1215*4d7e907cSAndroid Build Coastguard Worker * 1216*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1217*4d7e907cSAndroid Build Coastguard Worker * 1218*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getCellInfoListResponse() 1219*4d7e907cSAndroid Build Coastguard Worker */ 1220*4d7e907cSAndroid Build Coastguard Worker oneway getCellInfoList(int32_t serial); 1221*4d7e907cSAndroid Build Coastguard Worker 1222*4d7e907cSAndroid Build Coastguard Worker /** 1223*4d7e907cSAndroid Build Coastguard Worker * Sets the minimum time between when unsolicited cellInfoList() must be invoked. 1224*4d7e907cSAndroid Build Coastguard Worker * A value of 0, means invoke cellInfoList() when any of the reported 1225*4d7e907cSAndroid Build Coastguard Worker * information changes. Setting the value to INT_MAX(0x7fffffff) means never issue 1226*4d7e907cSAndroid Build Coastguard Worker * a unsolicited cellInfoList(). 1227*4d7e907cSAndroid Build Coastguard Worker * 1228*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1229*4d7e907cSAndroid Build Coastguard Worker * @param rate minimum time in milliseconds to indicate time between unsolicited cellInfoList() 1230*4d7e907cSAndroid Build Coastguard Worker * 1231*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setCellInfoListRateResponse() 1232*4d7e907cSAndroid Build Coastguard Worker */ 1233*4d7e907cSAndroid Build Coastguard Worker oneway setCellInfoListRate(int32_t serial, int32_t rate); 1234*4d7e907cSAndroid Build Coastguard Worker 1235*4d7e907cSAndroid Build Coastguard Worker /** 1236*4d7e907cSAndroid Build Coastguard Worker * Set an apn to initial attach network 1237*4d7e907cSAndroid Build Coastguard Worker * 1238*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1239*4d7e907cSAndroid Build Coastguard Worker * @param dataProfileInfo data profile containing APN settings 1240*4d7e907cSAndroid Build Coastguard Worker * @param modemCognitive indicating the data profile was sent to the modem through 1241*4d7e907cSAndroid Build Coastguard Worker * setDataProfile earlier. 1242*4d7e907cSAndroid Build Coastguard Worker * @param isRoaming Indicating the device is roaming or not. The 'protocol' parameter in the old 1243*4d7e907cSAndroid Build Coastguard Worker * RIL_InitialAttachApn must be filled accordingly based on the roaming 1244*4d7e907cSAndroid Build Coastguard Worker * condition. Note this is for backward compatibility with the old radio modem. 1245*4d7e907cSAndroid Build Coastguard Worker * The modem must not use this param for any other reason. 1246*4d7e907cSAndroid Build Coastguard Worker * 1247*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setInitialAttachApnResponse() 1248*4d7e907cSAndroid Build Coastguard Worker */ 1249*4d7e907cSAndroid Build Coastguard Worker oneway setInitialAttachApn(int32_t serial, DataProfileInfo dataProfileInfo, 1250*4d7e907cSAndroid Build Coastguard Worker bool modemCognitive, bool isRoaming); 1251*4d7e907cSAndroid Build Coastguard Worker 1252*4d7e907cSAndroid Build Coastguard Worker /** 1253*4d7e907cSAndroid Build Coastguard Worker * Request current IMS registration state 1254*4d7e907cSAndroid Build Coastguard Worker * 1255*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1256*4d7e907cSAndroid Build Coastguard Worker * 1257*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getImsRegistrationStateResponse() 1258*4d7e907cSAndroid Build Coastguard Worker */ 1259*4d7e907cSAndroid Build Coastguard Worker oneway getImsRegistrationState(int32_t serial); 1260*4d7e907cSAndroid Build Coastguard Worker 1261*4d7e907cSAndroid Build Coastguard Worker /** 1262*4d7e907cSAndroid Build Coastguard Worker * Send a SMS message over IMS. 1263*4d7e907cSAndroid Build Coastguard Worker * Based on the return error, caller decides to resend if sending sms 1264*4d7e907cSAndroid Build Coastguard Worker * fails. SMS_SEND_FAIL_RETRY means retry, and other errors means no retry. 1265*4d7e907cSAndroid Build Coastguard Worker * In case of retry, data is encoded based on Voice Technology available. 1266*4d7e907cSAndroid Build Coastguard Worker * 1267*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1268*4d7e907cSAndroid Build Coastguard Worker * @param message ImsSmsMessage as defined in types.hal to be sent 1269*4d7e907cSAndroid Build Coastguard Worker * 1270*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.sendImsSmsResponse() 1271*4d7e907cSAndroid Build Coastguard Worker */ 1272*4d7e907cSAndroid Build Coastguard Worker oneway sendImsSms(int32_t serial, ImsSmsMessage message); 1273*4d7e907cSAndroid Build Coastguard Worker 1274*4d7e907cSAndroid Build Coastguard Worker /** 1275*4d7e907cSAndroid Build Coastguard Worker * Request APDU exchange on the basic channel. This command reflects TS 27.007 1276*4d7e907cSAndroid Build Coastguard Worker * "generic SIM access" operation (+CSIM). The modem must ensure proper function 1277*4d7e907cSAndroid Build Coastguard Worker * of GSM/CDMA, and filter commands appropriately. It must filter 1278*4d7e907cSAndroid Build Coastguard Worker * channel management and SELECT by DF name commands. 1279*4d7e907cSAndroid Build Coastguard Worker * "sessionid" field must be ignored. 1280*4d7e907cSAndroid Build Coastguard Worker * 1281*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1282*4d7e907cSAndroid Build Coastguard Worker * @param message SimApdu as defined in types.hal to be sent 1283*4d7e907cSAndroid Build Coastguard Worker * 1284*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.iccTransmitApduBasicChannelResponse() 1285*4d7e907cSAndroid Build Coastguard Worker */ 1286*4d7e907cSAndroid Build Coastguard Worker oneway iccTransmitApduBasicChannel(int32_t serial, SimApdu message); 1287*4d7e907cSAndroid Build Coastguard Worker 1288*4d7e907cSAndroid Build Coastguard Worker /** 1289*4d7e907cSAndroid Build Coastguard Worker * Open a new logical channel and select the given application. This command 1290*4d7e907cSAndroid Build Coastguard Worker * reflects TS 27.007 "open logical channel" operation (+CCHO). 1291*4d7e907cSAndroid Build Coastguard Worker * 1292*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1293*4d7e907cSAndroid Build Coastguard Worker * @param aid AID value, See ETSI 102.221 and 101.220. 1294*4d7e907cSAndroid Build Coastguard Worker * @param p2 P2 value, described in ISO 7816-4. Ignore if equal to P2Constant:NO_P2 1295*4d7e907cSAndroid Build Coastguard Worker * 1296*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.iccOpenLogicalChannelResponse() 1297*4d7e907cSAndroid Build Coastguard Worker */ 1298*4d7e907cSAndroid Build Coastguard Worker oneway iccOpenLogicalChannel(int32_t serial, string aid, int32_t p2); 1299*4d7e907cSAndroid Build Coastguard Worker 1300*4d7e907cSAndroid Build Coastguard Worker /** 1301*4d7e907cSAndroid Build Coastguard Worker * Close a previously opened logical channel. This command reflects TS 27.007 1302*4d7e907cSAndroid Build Coastguard Worker * "close logical channel" operation (+CCHC). 1303*4d7e907cSAndroid Build Coastguard Worker * 1304*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1305*4d7e907cSAndroid Build Coastguard Worker * @param channelId session id of the logical channel (+CCHC). 1306*4d7e907cSAndroid Build Coastguard Worker * 1307*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.iccCloseLogicalChannelResponse() 1308*4d7e907cSAndroid Build Coastguard Worker */ 1309*4d7e907cSAndroid Build Coastguard Worker oneway iccCloseLogicalChannel(int32_t serial, int32_t channelId); 1310*4d7e907cSAndroid Build Coastguard Worker 1311*4d7e907cSAndroid Build Coastguard Worker /** 1312*4d7e907cSAndroid Build Coastguard Worker * Exchange APDUs with a UICC over a previously opened logical channel. This 1313*4d7e907cSAndroid Build Coastguard Worker * command reflects TS 27.007 "generic logical channel access" operation 1314*4d7e907cSAndroid Build Coastguard Worker * (+CGLA). The modem must filter channel management and SELECT by DF name 1315*4d7e907cSAndroid Build Coastguard Worker * commands. 1316*4d7e907cSAndroid Build Coastguard Worker * 1317*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1318*4d7e907cSAndroid Build Coastguard Worker * @param message SimApdu as defined in types.hal to be sent 1319*4d7e907cSAndroid Build Coastguard Worker * 1320*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.iccTransmitApduLogicalChannelResponse() 1321*4d7e907cSAndroid Build Coastguard Worker */ 1322*4d7e907cSAndroid Build Coastguard Worker oneway iccTransmitApduLogicalChannel(int32_t serial, SimApdu message); 1323*4d7e907cSAndroid Build Coastguard Worker 1324*4d7e907cSAndroid Build Coastguard Worker /** 1325*4d7e907cSAndroid Build Coastguard Worker * Read one of the radio NV items. 1326*4d7e907cSAndroid Build Coastguard Worker * This is used for device configuration by some CDMA operators. 1327*4d7e907cSAndroid Build Coastguard Worker * 1328*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1329*4d7e907cSAndroid Build Coastguard Worker * @param itemId NvItem is radio NV item as defined in types.hal 1330*4d7e907cSAndroid Build Coastguard Worker * 1331*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.nvReadItemResponse() 1332*4d7e907cSAndroid Build Coastguard Worker */ 1333*4d7e907cSAndroid Build Coastguard Worker oneway nvReadItem(int32_t serial, NvItem itemId); 1334*4d7e907cSAndroid Build Coastguard Worker 1335*4d7e907cSAndroid Build Coastguard Worker /** 1336*4d7e907cSAndroid Build Coastguard Worker * Write one of the radio NV items. 1337*4d7e907cSAndroid Build Coastguard Worker * This is used for device configuration by some CDMA operators. 1338*4d7e907cSAndroid Build Coastguard Worker * 1339*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1340*4d7e907cSAndroid Build Coastguard Worker * @param item NvWriteItem as defined in types.hal 1341*4d7e907cSAndroid Build Coastguard Worker * 1342*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.nvWriteItemResponse() 1343*4d7e907cSAndroid Build Coastguard Worker */ 1344*4d7e907cSAndroid Build Coastguard Worker oneway nvWriteItem(int32_t serial, NvWriteItem item); 1345*4d7e907cSAndroid Build Coastguard Worker 1346*4d7e907cSAndroid Build Coastguard Worker /** 1347*4d7e907cSAndroid Build Coastguard Worker * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage. 1348*4d7e907cSAndroid Build Coastguard Worker * This is used for device configuration by some CDMA operators. 1349*4d7e907cSAndroid Build Coastguard Worker * 1350*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1351*4d7e907cSAndroid Build Coastguard Worker * @param prl PRL as a byte array 1352*4d7e907cSAndroid Build Coastguard Worker * 1353*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.nvWriteCdmaPrlResponse() 1354*4d7e907cSAndroid Build Coastguard Worker */ 1355*4d7e907cSAndroid Build Coastguard Worker oneway nvWriteCdmaPrl(int32_t serial, vec<uint8_t> prl); 1356*4d7e907cSAndroid Build Coastguard Worker 1357*4d7e907cSAndroid Build Coastguard Worker /** 1358*4d7e907cSAndroid Build Coastguard Worker * Reset the radio NV configuration to the factory state. 1359*4d7e907cSAndroid Build Coastguard Worker * This is used for device configuration by some CDMA operators. 1360*4d7e907cSAndroid Build Coastguard Worker * 1361*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1362*4d7e907cSAndroid Build Coastguard Worker * @param resetType ResetNvType as defined in types.hal 1363*4d7e907cSAndroid Build Coastguard Worker * 1364*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.nvResetConfigResponse() 1365*4d7e907cSAndroid Build Coastguard Worker */ 1366*4d7e907cSAndroid Build Coastguard Worker oneway nvResetConfig(int32_t serial, ResetNvType resetType); 1367*4d7e907cSAndroid Build Coastguard Worker 1368*4d7e907cSAndroid Build Coastguard Worker /** 1369*4d7e907cSAndroid Build Coastguard Worker * Selection/de-selection of a subscription from a SIM card 1370*4d7e907cSAndroid Build Coastguard Worker * 1371*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1372*4d7e907cSAndroid Build Coastguard Worker * @param uiccSub SelectUiccSub as defined in types.hal 1373*4d7e907cSAndroid Build Coastguard Worker * 1374*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setUiccSubscriptionResponse() 1375*4d7e907cSAndroid Build Coastguard Worker */ 1376*4d7e907cSAndroid Build Coastguard Worker oneway setUiccSubscription(int32_t serial, SelectUiccSub uiccSub); 1377*4d7e907cSAndroid Build Coastguard Worker 1378*4d7e907cSAndroid Build Coastguard Worker /** 1379*4d7e907cSAndroid Build Coastguard Worker * Tells the modem whether data calls are allowed or not 1380*4d7e907cSAndroid Build Coastguard Worker * 1381*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1382*4d7e907cSAndroid Build Coastguard Worker * @param allow true to allow data calls, false to disallow data calls 1383*4d7e907cSAndroid Build Coastguard Worker * 1384*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setDataAllowedResponse() 1385*4d7e907cSAndroid Build Coastguard Worker */ 1386*4d7e907cSAndroid Build Coastguard Worker oneway setDataAllowed(int32_t serial, bool allow); 1387*4d7e907cSAndroid Build Coastguard Worker 1388*4d7e907cSAndroid Build Coastguard Worker /** 1389*4d7e907cSAndroid Build Coastguard Worker * Request all of the current hardware (modem and sim) associated with Radio. 1390*4d7e907cSAndroid Build Coastguard Worker * 1391*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1392*4d7e907cSAndroid Build Coastguard Worker * 1393*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getHardwareConfigResponse() 1394*4d7e907cSAndroid Build Coastguard Worker */ 1395*4d7e907cSAndroid Build Coastguard Worker oneway getHardwareConfig(int32_t serial); 1396*4d7e907cSAndroid Build Coastguard Worker 1397*4d7e907cSAndroid Build Coastguard Worker /** 1398*4d7e907cSAndroid Build Coastguard Worker * Returns the response of SIM Authentication through Radio challenge request. 1399*4d7e907cSAndroid Build Coastguard Worker * 1400*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1401*4d7e907cSAndroid Build Coastguard Worker * @param authContext P2 value of authentication command, see P2 parameter in 1402*4d7e907cSAndroid Build Coastguard Worker * 3GPP TS 31.102 7.1.2 1403*4d7e907cSAndroid Build Coastguard Worker * @param authData the challenge string in Base64 format, see 3GPP TS 31.102 7.1.2 1404*4d7e907cSAndroid Build Coastguard Worker * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value 1405*4d7e907cSAndroid Build Coastguard Worker * 1406*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.requestIccSimAuthenticationResponse() 1407*4d7e907cSAndroid Build Coastguard Worker */ 1408*4d7e907cSAndroid Build Coastguard Worker oneway requestIccSimAuthentication(int32_t serial, int32_t authContext, string authData, 1409*4d7e907cSAndroid Build Coastguard Worker string aid); 1410*4d7e907cSAndroid Build Coastguard Worker 1411*4d7e907cSAndroid Build Coastguard Worker /** 1412*4d7e907cSAndroid Build Coastguard Worker * Set data profile in modem. 1413*4d7e907cSAndroid Build Coastguard Worker * Modem must erase existed profiles from framework, and apply new profiles 1414*4d7e907cSAndroid Build Coastguard Worker * 1415*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1416*4d7e907cSAndroid Build Coastguard Worker * @param profiles Array of DataProfiles to set. 1417*4d7e907cSAndroid Build Coastguard Worker * @param isRoaming Indicating the device is roaming or not. The 'protocol' parameter in the old 1418*4d7e907cSAndroid Build Coastguard Worker * RIL API RIL_DataProfileInfo must be filled accordingly based on the 1419*4d7e907cSAndroid Build Coastguard Worker * roaming condition. Note this is for backward compatibility with the old 1420*4d7e907cSAndroid Build Coastguard Worker * radio modem. The modem must not use this param for any other reason. 1421*4d7e907cSAndroid Build Coastguard Worker * 1422*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setDataProfileResponse() 1423*4d7e907cSAndroid Build Coastguard Worker */ 1424*4d7e907cSAndroid Build Coastguard Worker oneway setDataProfile(int32_t serial, vec<DataProfileInfo> profiles, bool isRoaming); 1425*4d7e907cSAndroid Build Coastguard Worker 1426*4d7e907cSAndroid Build Coastguard Worker /** 1427*4d7e907cSAndroid Build Coastguard Worker * Device is shutting down. All further commands are ignored 1428*4d7e907cSAndroid Build Coastguard Worker * and RADIO_NOT_AVAILABLE must be returned. 1429*4d7e907cSAndroid Build Coastguard Worker * 1430*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1431*4d7e907cSAndroid Build Coastguard Worker * 1432*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.requestShutdownResponse() 1433*4d7e907cSAndroid Build Coastguard Worker */ 1434*4d7e907cSAndroid Build Coastguard Worker oneway requestShutdown(int32_t serial); 1435*4d7e907cSAndroid Build Coastguard Worker 1436*4d7e907cSAndroid Build Coastguard Worker /** 1437*4d7e907cSAndroid Build Coastguard Worker * Used to get phone radio capability. 1438*4d7e907cSAndroid Build Coastguard Worker * 1439*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1440*4d7e907cSAndroid Build Coastguard Worker * 1441*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getRadioCapabilityResponse() 1442*4d7e907cSAndroid Build Coastguard Worker */ 1443*4d7e907cSAndroid Build Coastguard Worker oneway getRadioCapability(int32_t serial); 1444*4d7e907cSAndroid Build Coastguard Worker 1445*4d7e907cSAndroid Build Coastguard Worker /** 1446*4d7e907cSAndroid Build Coastguard Worker * Used to set the phones radio capability. Be VERY careful 1447*4d7e907cSAndroid Build Coastguard Worker * using this request as it may cause some vendor modems to reset. Because 1448*4d7e907cSAndroid Build Coastguard Worker * of the possible modem reset any radio commands after this one may not be 1449*4d7e907cSAndroid Build Coastguard Worker * processed. 1450*4d7e907cSAndroid Build Coastguard Worker * 1451*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1452*4d7e907cSAndroid Build Coastguard Worker * @param rc RadioCapability structure to be set 1453*4d7e907cSAndroid Build Coastguard Worker * 1454*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setRadioCapabilityResponse() 1455*4d7e907cSAndroid Build Coastguard Worker */ 1456*4d7e907cSAndroid Build Coastguard Worker oneway setRadioCapability(int32_t serial, RadioCapability rc); 1457*4d7e907cSAndroid Build Coastguard Worker 1458*4d7e907cSAndroid Build Coastguard Worker /** 1459*4d7e907cSAndroid Build Coastguard Worker * Start Link Capacity Estimate (LCE) service if supported by the radio. 1460*4d7e907cSAndroid Build Coastguard Worker * 1461*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1462*4d7e907cSAndroid Build Coastguard Worker * @param reportInterval desired reporting interval (ms). 1463*4d7e907cSAndroid Build Coastguard Worker * @param pullMode LCE service mode. true: PULL; false: PUSH. 1464*4d7e907cSAndroid Build Coastguard Worker * 1465*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.startLceServiceResponse() which may return 1466*4d7e907cSAndroid Build Coastguard Worker * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported. 1467*4d7e907cSAndroid Build Coastguard Worker * 1468*4d7e907cSAndroid Build Coastguard Worker * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications. 1469*4d7e907cSAndroid Build Coastguard Worker */ 1470*4d7e907cSAndroid Build Coastguard Worker oneway startLceService(int32_t serial, int32_t reportInterval, bool pullMode); 1471*4d7e907cSAndroid Build Coastguard Worker 1472*4d7e907cSAndroid Build Coastguard Worker /** 1473*4d7e907cSAndroid Build Coastguard Worker * Stop Link Capacity Estimate (LCE) service, the STOP operation must be 1474*4d7e907cSAndroid Build Coastguard Worker * idempotent for the radio modem. 1475*4d7e907cSAndroid Build Coastguard Worker * 1476*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1477*4d7e907cSAndroid Build Coastguard Worker * 1478*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.stopLceServiceResponse() which may return 1479*4d7e907cSAndroid Build Coastguard Worker * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported. 1480*4d7e907cSAndroid Build Coastguard Worker * 1481*4d7e907cSAndroid Build Coastguard Worker * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications. 1482*4d7e907cSAndroid Build Coastguard Worker */ 1483*4d7e907cSAndroid Build Coastguard Worker oneway stopLceService(int32_t serial); 1484*4d7e907cSAndroid Build Coastguard Worker 1485*4d7e907cSAndroid Build Coastguard Worker /** 1486*4d7e907cSAndroid Build Coastguard Worker * Pull LCE service for capacity information. 1487*4d7e907cSAndroid Build Coastguard Worker * 1488*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1489*4d7e907cSAndroid Build Coastguard Worker * 1490*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.pullLceDataResponse() which may return 1491*4d7e907cSAndroid Build Coastguard Worker * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported. 1492*4d7e907cSAndroid Build Coastguard Worker * 1493*4d7e907cSAndroid Build Coastguard Worker * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications. 1494*4d7e907cSAndroid Build Coastguard Worker */ 1495*4d7e907cSAndroid Build Coastguard Worker oneway pullLceData(int32_t serial); 1496*4d7e907cSAndroid Build Coastguard Worker 1497*4d7e907cSAndroid Build Coastguard Worker /** 1498*4d7e907cSAndroid Build Coastguard Worker * Get modem activity information for power consumption estimation. 1499*4d7e907cSAndroid Build Coastguard Worker * Request clear-on-read statistics information that is used for 1500*4d7e907cSAndroid Build Coastguard Worker * estimating the per-millisecond power consumption of the cellular 1501*4d7e907cSAndroid Build Coastguard Worker * modem. 1502*4d7e907cSAndroid Build Coastguard Worker * 1503*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1504*4d7e907cSAndroid Build Coastguard Worker * 1505*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getModemActivityInfoResponse() 1506*4d7e907cSAndroid Build Coastguard Worker */ 1507*4d7e907cSAndroid Build Coastguard Worker oneway getModemActivityInfo(int32_t serial); 1508*4d7e907cSAndroid Build Coastguard Worker 1509*4d7e907cSAndroid Build Coastguard Worker /** 1510*4d7e907cSAndroid Build Coastguard Worker * Set carrier restrictions. Expected modem behavior: 1511*4d7e907cSAndroid Build Coastguard Worker * If never receives this command 1512*4d7e907cSAndroid Build Coastguard Worker * - Must allow all carriers 1513*4d7e907cSAndroid Build Coastguard Worker * Receives this command with allAllowed true 1514*4d7e907cSAndroid Build Coastguard Worker * - Must allow all carriers. If a previously allowed SIM is present, modem must not reload 1515*4d7e907cSAndroid Build Coastguard Worker * the SIM. If a previously disallowed SIM is present, reload the SIM and notify Android. 1516*4d7e907cSAndroid Build Coastguard Worker * Receives this command with a list of carriers & allAllowed = false 1517*4d7e907cSAndroid Build Coastguard Worker * - Only allow specified carriers, persist across power cycles and FDR. If a present SIM 1518*4d7e907cSAndroid Build Coastguard Worker * is in the allowed list, modem must not reload the SIM. If a present SIM is *not* in 1519*4d7e907cSAndroid Build Coastguard Worker * the allowed list, modem must detach from the registered network and only keep emergency 1520*4d7e907cSAndroid Build Coastguard Worker * service, and notify Android SIM refresh reset with new SIM state being 1521*4d7e907cSAndroid Build Coastguard Worker * CardState:RESTRICTED. Emergency service must be enabled. 1522*4d7e907cSAndroid Build Coastguard Worker * 1523*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1524*4d7e907cSAndroid Build Coastguard Worker * @param allAllowed true only when all carriers are allowed. Ignore "carriers" struct. 1525*4d7e907cSAndroid Build Coastguard Worker * If false, consider "carriers" struct 1526*4d7e907cSAndroid Build Coastguard Worker * @param carriers CarrierRestrictions consisting allowed and excluded carriers as defined 1527*4d7e907cSAndroid Build Coastguard Worker * in types.hal 1528*4d7e907cSAndroid Build Coastguard Worker * 1529*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setAllowedCarriersResponse() 1530*4d7e907cSAndroid Build Coastguard Worker */ 1531*4d7e907cSAndroid Build Coastguard Worker oneway setAllowedCarriers(int32_t serial, bool allAllowed, CarrierRestrictions carriers); 1532*4d7e907cSAndroid Build Coastguard Worker 1533*4d7e907cSAndroid Build Coastguard Worker /** 1534*4d7e907cSAndroid Build Coastguard Worker * Get carrier restrictions. 1535*4d7e907cSAndroid Build Coastguard Worker * 1536*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1537*4d7e907cSAndroid Build Coastguard Worker * 1538*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getAllowedCarriersResponse() 1539*4d7e907cSAndroid Build Coastguard Worker */ 1540*4d7e907cSAndroid Build Coastguard Worker oneway getAllowedCarriers(int32_t serial); 1541*4d7e907cSAndroid Build Coastguard Worker 1542*4d7e907cSAndroid Build Coastguard Worker /** 1543*4d7e907cSAndroid Build Coastguard Worker * Send the updated device state. 1544*4d7e907cSAndroid Build Coastguard Worker * This is providing the device state information for the modem to perform power saving 1545*4d7e907cSAndroid Build Coastguard Worker * strategies. 1546*4d7e907cSAndroid Build Coastguard Worker * 1547*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1548*4d7e907cSAndroid Build Coastguard Worker * @param deviceStateType The updated device state type. 1549*4d7e907cSAndroid Build Coastguard Worker * @param state The updated state. See the definition of state at DeviceStateType. 1550*4d7e907cSAndroid Build Coastguard Worker * 1551*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.sendDeviceStateResponse() 1552*4d7e907cSAndroid Build Coastguard Worker */ 1553*4d7e907cSAndroid Build Coastguard Worker oneway sendDeviceState(int32_t serial, DeviceStateType deviceStateType, bool state); 1554*4d7e907cSAndroid Build Coastguard Worker 1555*4d7e907cSAndroid Build Coastguard Worker /** 1556*4d7e907cSAndroid Build Coastguard Worker * Set the indication filter. 1557*4d7e907cSAndroid Build Coastguard Worker * This is used to prevent unnecessary application processor wake up for power saving purposes 1558*4d7e907cSAndroid Build Coastguard Worker * by suppressing the indications in certain scenarios. 1559*4d7e907cSAndroid Build Coastguard Worker * 1560*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 1561*4d7e907cSAndroid Build Coastguard Worker * @param indicationFilter 32-bit bitmap of IndicationFilter. Bits set to 1 indicate the 1562*4d7e907cSAndroid Build Coastguard Worker * indications are enabled. See IndicationFilter for the definition of each bit. 1563*4d7e907cSAndroid Build Coastguard Worker * 1564*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setIndicationFilterResponse() which may return 1565*4d7e907cSAndroid Build Coastguard Worker * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported. 1566*4d7e907cSAndroid Build Coastguard Worker * 1567*4d7e907cSAndroid Build Coastguard Worker * DEPRECATED in @1.2 or higher, use @1.2::IRadio.setIndicationFilter_1_2() instead. 1568*4d7e907cSAndroid Build Coastguard Worker */ 1569*4d7e907cSAndroid Build Coastguard Worker oneway setIndicationFilter(int32_t serial, bitfield<IndicationFilter> indicationFilter); 1570*4d7e907cSAndroid Build Coastguard Worker 1571*4d7e907cSAndroid Build Coastguard Worker /** 1572*4d7e907cSAndroid Build Coastguard Worker * Set SIM card power state. 1573*4d7e907cSAndroid Build Coastguard Worker * Request is equivalent to inserting or removing the card. 1574*4d7e907cSAndroid Build Coastguard Worker * 1575*4d7e907cSAndroid Build Coastguard Worker * The radio modem must generate IRadioIndication.simStatusChanged() as if the SIM had been 1576*4d7e907cSAndroid Build Coastguard Worker * inserted or removed. 1577*4d7e907cSAndroid Build Coastguard Worker * 1578*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request 1579*4d7e907cSAndroid Build Coastguard Worker * @param powerUp True if powering up the sim card 1580*4d7e907cSAndroid Build Coastguard Worker * 1581*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setSimCardPowerResponse() which may return 1582*4d7e907cSAndroid Build Coastguard Worker * RadioError:REQUEST_NOT_SUPPORTED if @1.1::IRadio or higher is supported. 1583*4d7e907cSAndroid Build Coastguard Worker * 1584*4d7e907cSAndroid Build Coastguard Worker * DEPRECATED in @1.1 or higher, use @1.1::IRadio.setSimCardPower_1_1() instead. 1585*4d7e907cSAndroid Build Coastguard Worker */ 1586*4d7e907cSAndroid Build Coastguard Worker oneway setSimCardPower(int32_t serial, bool powerUp); 1587*4d7e907cSAndroid Build Coastguard Worker 1588*4d7e907cSAndroid Build Coastguard Worker /** 1589*4d7e907cSAndroid Build Coastguard Worker * When response type received from a radio indication or radio response is 1590*4d7e907cSAndroid Build Coastguard Worker * RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively, 1591*4d7e907cSAndroid Build Coastguard Worker * acknowledge the receipt of those messages by sending responseAcknowledgement(). 1592*4d7e907cSAndroid Build Coastguard Worker * 1593*4d7e907cSAndroid Build Coastguard Worker */ 1594*4d7e907cSAndroid Build Coastguard Worker oneway responseAcknowledgement(); 1595*4d7e907cSAndroid Build Coastguard Worker}; 1596