blob: 5984e789a363978ceeb97a55dc8f13fc2fc87bbb [file] [log] [blame]
Brad Ebinger21013dc2017-02-02 16:21:22 -08001/*
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
17package com.android.ims;
18
19import 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 */
28public 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 */
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 */
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 */
121 public void queryCallWaiting(Message result);
122
123 /**
124 * Retrieves the default CLIR setting.
125 */
126 public void queryCLIR(Message result);
127
128 /**
129 * Retrieves the CLIP call setting.
130 */
131 public void queryCLIP(Message result);
132
133 /**
134 * Retrieves the COLR call setting.
135 */
136 public void queryCOLR(Message result);
137
138 /**
139 * Retrieves the COLP call setting.
140 */
141 public void queryCOLP(Message result);
142
143 /**
144 * Modifies the configuration of the call barring.
145 */
146 public void updateCallBarring(int cbType, int action,
147 Message result, String[] barrList);
148
149 /**
150 * Modifies the configuration of the call forward.
151 */
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 */
158 public void updateCallWaiting(boolean enable, int serviceClass, Message result);
159
160 /**
161 * Updates the configuration of the CLIR supplementary service.
162 */
163 public void updateCLIR(int clirMode, Message result);
164
165 /**
166 * Updates the configuration of the CLIP supplementary service.
167 */
168 public void updateCLIP(boolean enable, Message result);
169
170 /**
171 * Updates the configuration of the COLR supplementary service.
172 */
173 public void updateCOLR(int presentation, Message result);
174
175 /**
176 * Updates the configuration of the COLP supplementary service.
177 */
178 public void updateCOLP(boolean enable, Message result);
179}