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