1ef36ef67e009449300b0150c60c9f637e205d79eWink Saville/* 2ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Copyright (c) 2013 The Android Open Source Project 3ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * 4ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 5ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * you may not use this file except in compliance with the License. 6ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * You may obtain a copy of the License at 7ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * 8ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * http://www.apache.org/licenses/LICENSE-2.0 9ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * 10ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Unless required by applicable law or agreed to in writing, software 11ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * distributed under the License is distributed on an "AS IS" BASIS, 12ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * See the License for the specific language governing permissions and 14ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * limitations under the License. 15ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 16ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 17ef36ef67e009449300b0150c60c9f637e205d79eWink Savillepackage com.android.ims; 18ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 19ef36ef67e009449300b0150c60c9f637e205d79eWink Savilleimport android.os.Message; 20ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 21ef36ef67e009449300b0150c60c9f637e205d79eWink Saville/** 22ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Provides APIs for the supplementary service settings using IMS (Ut interface). 23ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * It is created from 3GPP TS 24.623 (XCAP(XML Configuration Access Protocol) 24ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * over the Ut interface for manipulating supplementary services). 25ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * 26ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * @hide 27ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 28ef36ef67e009449300b0150c60c9f637e205d79eWink Savillepublic interface ImsUtInterface { 29ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 30ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Actions 31ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * @hide 32ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 33ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int ACTION_DEACTIVATION = 0; 34ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int ACTION_ACTIVATION = 1; 35ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int ACTION_REGISTRATION = 3; 36ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int ACTION_ERASURE = 4; 37ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int ACTION_INTERROGATION = 5; 38ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 39ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 40ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * OIR (Originating Identification Restriction, 3GPP TS 24.607) 41ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * OIP (Originating Identification Presentation, 3GPP TS 24.607) 42ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * TIR (Terminating Identification Restriction, 3GPP TS 24.608) 43ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * TIP (Terminating Identification Presentation, 3GPP TS 24.608) 44ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 45ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int OIR_DEFAULT = 0; // "user subscription default value" 46ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int OIR_PRESENTATION_RESTRICTED = 1; 47ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; 48ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 49ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 50ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * CW (Communication Waiting, 3GPP TS 24.615) 51ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 52ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 53ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 54ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * CDIV (Communication Diversion, 3GPP TS 24.604) 55ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * actions: target, no reply timer 56ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 57ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CDIV_CF_UNCONDITIONAL = 0; 58ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CDIV_CF_BUSY = 1; 59ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CDIV_CF_NO_REPLY = 2; 60ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CDIV_CF_NOT_REACHABLE = 3; 61ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // For CS service code: 002 62ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CDIV_CF_ALL = 4; 63ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // For CS service code: 004 64ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CDIV_CF_ALL_CONDITIONAL = 5; 65ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // It's only supported in the IMS service (CS does not define it). 66ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // IR.92 recommends that an UE activates both the CFNRc and the CFNL 67ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // (CDIV using condition not-registered) to the same target. 68ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CDIV_CF_NOT_LOGGED_IN = 6; 69ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 70ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 71ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * CB (Communication Barring, 3GPP TS 24.611) 72ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 73ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // Barring of All Incoming Calls 74ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CB_BAIC = 1; 75ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // Barring of All Outgoing Calls 76ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CB_BAOC = 2; 77ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // Barring of Outgoing International Calls 78ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CB_BOIC = 3; 79ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // Barring of Outgoing International Calls - excluding Home Country 80ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CB_BOIC_EXHC = 4; 81ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // Barring of Incoming Calls - when roaming 82ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CB_BIC_WR = 5; 83ef36ef67e009449300b0150c60c9f637e205d79eWink Saville // Barring of Anonymous Communication Rejection (ACR) - a particular case of ICB service 84ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int CB_BIC_ACR = 6; 85f54a9cc3d97915245086cdbf32cc2fbe8bfaea8cShriram Ganesh // Barring of All Calls 86f54a9cc3d97915245086cdbf32cc2fbe8bfaea8cShriram Ganesh public static final int CB_BA_ALL = 7; 87f54a9cc3d97915245086cdbf32cc2fbe8bfaea8cShriram Ganesh // Barring of Outgoing Services (Service Code 333 - 3GPP TS 22.030 Table B-1) 88f54a9cc3d97915245086cdbf32cc2fbe8bfaea8cShriram Ganesh public static final int CB_BA_MO = 8; 89f54a9cc3d97915245086cdbf32cc2fbe8bfaea8cShriram Ganesh // Barring of Incoming Services (Service Code 353 - 3GPP TS 22.030 Table B-1) 90f54a9cc3d97915245086cdbf32cc2fbe8bfaea8cShriram Ganesh public static final int CB_BA_MT = 9; 91f54a9cc3d97915245086cdbf32cc2fbe8bfaea8cShriram Ganesh // Barring of Specific Incoming calls 92f54a9cc3d97915245086cdbf32cc2fbe8bfaea8cShriram Ganesh public static final int CB_BS_MT = 10; 93ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 94ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 95ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Invalid result value. 96ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 97ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public static final int INVALID = (-1); 98ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 99ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 100ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 101ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 102ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Operations for the supplementary service configuration 103ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 104ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 105ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 106ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Retrieves the configuration of the call barring. 107ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * The return value of ((AsyncResult)result.obj) is an array of {@link ImsSsInfo}. 108ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 109ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public void queryCallBarring(int cbType, Message result); 110ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 111ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 112ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Retrieves the configuration of the call forward. 113ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * The return value of ((AsyncResult)result.obj) is an array of {@link ImsCallForwardInfo}. 114ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 115ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public void queryCallForward(int condition, String number, Message result); 116ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 117ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 118ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Retrieves the configuration of the call waiting. 119ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * The return value of ((AsyncResult)result.obj) is an array of {@link ImsSsInfo}. 120ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 121ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public void queryCallWaiting(Message result); 122ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 123ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 1249b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen * Retrieves the default CLIR setting. 1259b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen */ 1269b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen public void queryCLIR(Message result); 1279b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen 1289b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen /** 1299b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen * Retrieves the CLIP call setting. 1309b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen */ 1319b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen public void queryCLIP(Message result); 1329b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen 1339b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen /** 1349b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen * Retrieves the COLR call setting. 1359b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen */ 1369b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen public void queryCOLR(Message result); 1379b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen 1389b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen /** 1399b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen * Retrieves the COLP call setting. 1409b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen */ 1419b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen public void queryCOLP(Message result); 1429b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen 1439b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen /** 144ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Modifies the configuration of the call barring. 145ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 146f54a9cc3d97915245086cdbf32cc2fbe8bfaea8cShriram Ganesh public void updateCallBarring(int cbType, boolean enable, 147f54a9cc3d97915245086cdbf32cc2fbe8bfaea8cShriram Ganesh Message result, String[] barrList); 148ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 149ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 150ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Modifies the configuration of the call forward. 151ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 152ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public void updateCallForward(int action, int condition, String number, 153ef36ef67e009449300b0150c60c9f637e205d79eWink Saville int timeSeconds, Message result); 154ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 155ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 156ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Modifies the configuration of the call waiting. 157ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 158ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public void updateCallWaiting(boolean enable, Message result); 1599b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen 1609b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen /** 1619b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen * Updates the configuration of the CLIR supplementary service. 1629b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen */ 1639b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen public void updateCLIR(int clirMode, Message result); 1649b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen 1659b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen /** 1669b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen * Updates the configuration of the CLIP supplementary service. 1679b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen */ 1689b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen public void updateCLIP(boolean enable, Message result); 1699b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen 1709b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen /** 1719b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen * Updates the configuration of the COLR supplementary service. 1729b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen */ 1739b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen public void updateCOLR(int presentation, Message result); 1749b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen 1759b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen /** 1769b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen * Updates the configuration of the COLP supplementary service. 1779b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen */ 1789b4ca89882b8b403b36462972b826ac9199a34a4Etan Cohen public void updateCOLP(boolean enable, Message result); 179ef36ef67e009449300b0150c60c9f637e205d79eWink Saville} 180