Home | History | Annotate | Download | only in ims
      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      */
    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, boolean enable,
    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 }
    180