Add the module name in the gcov install path
[platform/core/telephony/libtapi.git] / include / TelSs.h
1 /*
2  * libslp-tapi
3  *
4  * Copyright (c) 2014 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Ja-young Gu <jygu@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 /**
22  * @file TelSs.h
23  */
24
25 /**
26  * @addtogroup CAPI_TELEPHONY_SERVICE_SS
27  * @{
28  */
29
30 #ifndef _TEL_SS_H_
31 #define _TEL_SS_H_
32
33 #ifdef __cplusplus
34 extern "C"
35 {
36 #endif
37
38 /**
39  * @brief Definition for the maximum length of the barring password.
40  * @since_tizen 2.3
41  */
42 #define TAPI_SS_GSM_BARR_PW_LEN_MAX     4
43
44 /**
45  * @brief Definition for the maximum length of the dial digit.
46  * @since_tizen 2.3
47  */
48 #define TAPI_CALL_DIALDIGIT_LEN_MAX     82
49
50 /**
51  * @brief Definition for the maximum size of user-to-user data.
52  * @since_tizen 2.3
53  */
54 #define TAPI_SS_USSD_DATA_SIZE_MAX      208
55
56 /**
57  * @brief Definition for the maximum size of the SS record.
58  * @since_tizen 2.3
59  */
60 #define TAPI_SS_RECORD_NUM_MAX  5
61
62 /**
63  * @brief Definition for the maximum length of address.
64  * @since_tizen 2.3
65  */
66 #define TAPI_SS_ADDRESS_LEN_MAX 40
67
68 /**
69  * @brief Definition for the maximum size of CCBS.
70  * @since_tizen 2.3
71  */
72 #define TAPI_SS_CCBS_SIZE_MAX   5
73
74 /**
75  * @brief Definition for the maximum size of telecom service.
76  * @since_tizen 2.3
77  */
78 #define TAPI_SS_TELECOMM_SERVCE_SIZE_MAX        13
79
80 /**
81  * @brief Definition for the maximum length of phone number.
82  * @since_tizen 2.3
83  */
84 #define TAPI_SS_PHONE_NUM_LEN_MAX       33
85
86 /**
87  * @brief Definition for the maximum length of MMI string.
88  * @since_tizen 2.3
89  */
90 #define TAPI_SS_MMISTRING_LEN_MAX       33
91
92 /**
93  * @brief Definition for the maximum length of password.
94  * @since_tizen 2.3
95  */
96 #define TAPI_SS_PWD_LEN_MAX     5
97
98 /**
99  * @brief Definition for the maximum length of release complete data.
100  * @since_tizen 2.3
101  */
102 #define TAPI_MAX_RELEASE_COMPLETE_DATA_LEN      260
103
104 /**
105  * @brief Enumeration for the call forwarding condition.
106  * @since_tizen 2.3
107  */
108 typedef enum {
109         TAPI_SS_CF_WHEN_CFU = 0x01, /**< 0x01 : Call Forwarding Unconditional */
110         TAPI_SS_CF_WHEN_CFB,        /**< 0x02 : Call Forwarding Mobile Busy */
111         TAPI_SS_CF_WHEN_CFNRy,      /**< 0x03 : Call Forwarding No Reply */
112         TAPI_SS_CF_WHEN_CFNRc,      /**< 0x04 : Call Forwarding Not Reachable */
113         TAPI_SS_CF_WHEN_CF_ALL,     /**< 0x05 : All Call Forwarding */
114         TAPI_SS_CF_WHEN_CFC,        /**< 0x06 : All Conditional Call Forwarding */
115         TAPI_SS_CF_WHEN_CFNL,        /**< 0x07 : Call Forwarding Not Logged-In*/
116         TAPI_SS_CF_WHEN_MAX         /**< 0x08 : Max */
117 } TelSsForwardWhen_t;
118
119 /**
120  * @brief Enumeration for the call forwarding TON.
121  * @since_tizen 2.3
122  */
123 typedef enum {
124         TAPI_SS_CF_TON_UNKNOWN = 0, /**< Unknown */
125         TAPI_SS_CF_TON_INTERNATIONAL = 1, /**< International number */
126         TAPI_SS_CF_TON_NATIONAL = 2, /**< National number */
127         TAPI_SS_CF_TON_NETWORK_SPECIFIC = 3, /**< Network specific number */
128         TAPI_SS_CF_TON_DEDICATED_ACCESS = 4, /**< Subscriber number */
129         TAPI_SS_CF_TON_ALPHA_NUMERIC = 5, /**< Alphanumeric, GSM 7-bit default alphabet) */
130         TAPI_SS_CF_TON_ABBREVIATED_NUMBER = 6, /**< Abbreviated number */
131         TAPI_SS_CF_TON_RESERVED_FOR_EXT = 7 /**< Reserved for extension */
132 } TelSsForwardTypeOfNum_t;
133
134 /**
135  * @brief Enumeration for the call forwarding TON.
136  * @since_tizen 2.3
137  */
138 typedef enum {
139         TAPI_SS_CF_NPI_UNKNOWN = 0, /**< Unknown */
140         TAPI_SS_CF_NPI_ISDN_TEL = 1, /**< ISDN/Telephone numbering plan */
141         TAPI_SS_CF_NPI_DATA_NUMBERING_PLAN = 3, /**< Data numbering plan */
142         TAPI_SS_CF_NPI_TELEX = 4, /**< Telex numbering plan */
143         TAPI_SS_CF_NPI_SVC_CNTR_SPECIFIC_PLAN = 5, /**< Service Center Specific plan */
144         TAPI_SS_CF_NPI_SVC_CNTR_SPECIFIC_PLAN2 = 6, /**< Service Center Specific plan */
145         TAPI_SS_CF_NPI_NATIONAL = 8, /**< National numbering plan */
146         TAPI_SS_CF_NPI_PRIVATE = 9, /**< Private numbering plan */
147         TAPI_SS_CF_NPI_ERMES_NUMBERING_PLAN = 10, /**< ERMES numbering plan */
148         TAPI_SS_CF_NPI_RESERVED_FOR_EXT = 0xF /**< Reserved for extension */
149 } TelSsForwardNumberingPlanIdentity_t;
150
151 /**
152  * @brief Enumeration for various types of call barring.
153  * @details Note, only one type of incoming barring and only one type of outgoing barring may be active at any time.
154  * @since_tizen 2.3
155  */
156 typedef enum {
157         TAPI_SS_CB_TYPE_BAOC = 0x01,         /**< 0x01 : Barring All Outgoing Calls */
158         TAPI_SS_CB_TYPE_BOIC,                /**< 0x02 : Barring Outgoing International Calls */
159         TAPI_SS_CB_TYPE_BOIC_NOT_HC,         /**< 0x03 : Barring Outgoing International Calls
160                                                                 except to Home Country */
161         TAPI_SS_CB_TYPE_BAIC,                /**< 0x04 : Barring All Incoming Calls */
162         TAPI_SS_CB_TYPE_BIC_ROAM,            /**< 0x05 : Barring Incoming Calls when roaming
163                                                                 outside the Home Country */
164         TAPI_SS_CB_TYPE_AB,                  /**< 0x06 : All Barring Services */
165         TAPI_SS_CB_TYPE_AOB,                 /**< 0x07 : All Outgoing Barring Services */
166         TAPI_SS_CB_TYPE_AIB,                 /**< 0x08 : All Incoming Barring Services */
167         TAPI_SS_CB_TYPE_BIC_NOT_SIM,         /**< 0x09 : Barring Incoming Calls which is
168                                                                 not stored in the SIM memory */
169         TAPI_SS_CB_TYPE_MAX
170 } TelSsBarringType_t;
171
172 /**
173  * @brief Enumeration for the USSD indication type. Applicable to 3GPP(GSM/UMTS/LTE) only.
174  * @since_tizen 2.3
175  */
176 typedef enum {
177         TAPI_SS_USSD_STATUS_NOTIFY = 0x00, /**< Notify : to display USSD data to the user */
178         TAPI_SS_USSD_STATUS_NO_ACTION_REQUIRE = 0x01, /**< No further user action required */
179         TAPI_SS_USSD_STATUS_ACTION_REQUIRE = 0x02, /**< Further user action required */
180         TAPI_SS_USSD_STATUS_TERMINATED_BY_NET = 0x03, /**< 0x03 : USSD terminated by the network */
181         TAPI_SS_USSD_STATUS_OTHER_CLIENT = 0x04, /**< 0x04 : Other local client has responded */
182         TAPI_SS_USSD_STATUS_NOT_SUPPORT = 0x05, /**< 0x05 : Operation not supported */
183         TAPI_SS_USSD_STATUS_TIME_OUT = 0x06 /**< 0x06 : Time out when there is no response from the network */
184 } TelSsUssdStatus_t;
185
186 /**
187  * @brief Enumeration for the USSD type. Applicable to 3GPP(GSM/UMTS/LTE) only.
188  * @since_tizen 2.3
189  */
190 typedef enum {
191         TAPI_SS_USSD_TYPE_USER_INIT = 0x01, /**< USSD request type - User Initiated */
192         TAPI_SS_USSD_TYPE_USER_RSP, /**< USSD request type - User Response */
193         TAPI_SS_USSD_TYPE_USER_REL /**< USSD request type - User Release */
194 } TelSsUssdType_t;
195
196 /**
197  * @brief Enumeration for the call barring operation mode.
198  * @since_tizen 2.3
199  */
200 typedef enum {
201         TAPI_SS_CB_MODE_ACTIVATE, /**< Activate call barring */
202         TAPI_SS_CB_MODE_DEACTIVATE, /**< Deactivate call barring */
203 } TelSsBarringMode_t;
204
205 /**
206  * @brief Enumeration for the call barring operation mode.
207  * @since_tizen 2.3
208  */
209 typedef enum {
210         TAPI_SS_CW_MODE_ACTIVATE, /**< Activate call barring */
211         TAPI_SS_CW_MODE_DEACTIVATE, /**< Deactivate call barring */
212 } TelSsCallWaitingMode_t;
213
214 /**
215  * @brief Enumeration for the call type.
216  * @since_tizen 2.3
217  */
218 typedef enum {
219         /* TELESERVICE */
220         TAPI_SS_CLASS_ALL_TELE = 0x10,           /**< 0x10 : All Teleservices */
221         TAPI_SS_CLASS_VOICE = 0x11,              /**< 0x11 : Voice ( telephony ) */
222         TAPI_SS_CLASS_ALL_DATA_TELE = 0x12,      /**< 0x12 : All Data Teleservices */
223         TAPI_SS_CLASS_FAX = 0x13,                /**< 0x13 : Fax Service */
224         TAPI_SS_CLASS_SMS = 0x16,                /**< 0x16 : SMS service */
225         TAPI_SS_CLASS_VGCS = 0x17,               /**< 0x17 : Voice Group Call Service */
226         TAPI_SS_CLASS_VBS = 0x18,                /**< 0x18 : Voice Broadcast */
227         TAPI_SS_CLASS_ALL_TELE_EXPT_SMS = 0x19,  /**< 0x19 : All teleservices except SMS */
228
229         /* BEARER SERVICE */
230         TAPI_SS_CLASS_ALL_BEARER = 0x20,         /**< 0X20 : All Bearer services */
231         TAPI_SS_CLASS_ALL_ASYNC = 0x21,          /**< 0x21 : All Async services */
232         TAPI_SS_CLASS_ALL_SYNC = 0x22,           /**< 0x22 : All Sync services */
233         TAPI_SS_CLASS_ALL_CS_SYNC = 0x24,        /**< 0x24 : All Circuit switched sync */
234         TAPI_SS_CLASS_ALL_CS_ASYNC = 0x25,       /**< 0x25 : All Circuit switched async */
235         TAPI_SS_CLASS_ALL_DEDI_PS = 0x26,        /**< 0x26 : All Dedicated packet Access */
236         TAPI_SS_CLASS_ALL_DEDI_PAD = 0x27,       /**< 0x27 : All Dedicated PAD Access */
237         TAPI_SS_CLASS_ALL_DATA_CDA = 0x28,       /**< 0x28 : All Data CDA */
238
239         /* PLMN SPECIFIC TELESERVICE */
240         TAPI_SS_CLASS_PLMN_TELE_ALL = 0x50,      /**< 0x50 : PLMN specific teleservices */
241         TAPI_SS_CLASS_PLMN_TELE_1 = 0x51,        /**< 0x51 : PLMN specific teleservice 1 */
242         TAPI_SS_CLASS_PLMN_TELE_2 = 0x52,        /**< 0x52 : PLMN specific teleservice 2 */
243         TAPI_SS_CLASS_PLMN_TELE_3 = 0x53,        /**< 0x53 : PLMN specific teleservice 3 */
244         TAPI_SS_CLASS_PLMN_TELE_4 = 0x54,        /**< 0x54 : PLMN specific teleservice 4 */
245         TAPI_SS_CLASS_PLMN_TELE_5 = 0x55,        /**< 0x55 : PLMN specific teleservice 5 */
246         TAPI_SS_CLASS_PLMN_TELE_6 = 0x56,        /**< 0x56 : PLMN specific teleservice 6 */
247         TAPI_SS_CLASS_PLMN_TELE_7 = 0x57,        /**< 0x57 : PLMN specific teleservice 7 */
248         TAPI_SS_CLASS_PLMN_TELE_8 = 0x58,        /**< 0x58 : PLMN specific teleservice 8 */
249         TAPI_SS_CLASS_PLMN_TELE_9 = 0x59,        /**< 0x59 : PLMN specific teleservice 9 */
250         TAPI_SS_CLASS_PLMN_TELE_A = 0x60,        /**< 0x60 : PLMN specific teleservice 10 */
251         TAPI_SS_CLASS_PLMN_TELE_B = 0x61,        /**< 0x61 : PLMN specific teleservice 11 */
252         TAPI_SS_CLASS_PLMN_TELE_C = 0x62,        /**< 0x62 : PLMN specific teleservice 12 */
253         TAPI_SS_CLASS_PLMN_TELE_D = 0x63,        /**< 0x63 : PLMN specific teleservice 13 */
254         TAPI_SS_CLASS_PLMN_TELE_E = 0x64,        /**< 0x64 : PLMN specific teleservice 14 */
255         TAPI_SS_CLASS_PLMN_TELE_F = 0x65,        /**< 0x65 : PLMN specific teleservice 15 */
256
257         /* PLMN SPECIFIC BEARER SERVICE */
258         TAPI_SS_CLASS_PLMN_BEAR_ALL = 0x70,      /**< 0x70 : All PLMN specific bearer services */
259         TAPI_SS_CLASS_PLMN_BEAR_1 = 0x71,        /**< 0x71 : PLMN specific bearer service 1 */
260         TAPI_SS_CLASS_PLMN_BEAR_2 = 0x72,        /**< 0x72 : PLMN specific bearer service 2 */
261         TAPI_SS_CLASS_PLMN_BEAR_3 = 0x73,        /**< 0x73 : PLMN specific bearer service 3 */
262         TAPI_SS_CLASS_PLMN_BEAR_4 = 0x74,        /**< 0x74 : PLMN specific bearer service 4 */
263         TAPI_SS_CLASS_PLMN_BEAR_5 = 0x75,        /**< 0x75 : PLMN specific bearer service 5 */
264         TAPI_SS_CLASS_PLMN_BEAR_6 = 0x76,        /**< 0x76 : PLMN specific bearer service 6 */
265         TAPI_SS_CLASS_PLMN_BEAR_7 = 0x77,        /**< 0x77 : PLMN specific bearer service 7 */
266         TAPI_SS_CLASS_PLMN_BEAR_8 = 0x78,        /**< 0x78 : PLMN specific bearer service 8 */
267         TAPI_SS_CLASS_PLMN_BEAR_9 = 0x79,        /**< 0x79 : PLMN specific bearer service 9 */
268         TAPI_SS_CLASS_PLMN_BEAR_A = 0x80,        /**< 0x80 : PLMN specific bearer service 10 */
269         TAPI_SS_CLASS_PLMN_BEAR_B = 0x81,        /**< 0x81 : PLMN specific bearer service 11 */
270         TAPI_SS_CLASS_PLMN_BEAR_C = 0x82,        /**< 0x82 : PLMN specific bearer service 12 */
271         TAPI_SS_CLASS_PLMN_BEAR_D = 0x83,        /**< 0x83 : PLMN specific bearer service 13 */
272         TAPI_SS_CLASS_PLMN_BEAR_E = 0x84,        /**< 0x84 : PLMN specific bearer service 14 */
273         TAPI_SS_CLASS_PLMN_BEAR_F = 0x85,        /**< 0x85 : PLMN specific bearer service 15 */
274
275         /* CPHS - AUXILIARY SERVICE */
276         TAPI_SS_CLASS_AUX_VOICE = 0x89,          /**< 0x89 : Auxiliary Voice ( Auxiliary telephony ) */
277
278         TAPI_SS_CLASS_ALL_GPRS_BEARER = 0x99,    /**< 0x99 : All GPRS bearer services */
279         TAPI_SS_CLASS_ALL_TELE_BEARER = 0xFF,    /**< 0xFF : All tele and bearer services */
280 } TelSsClass_t;
281
282 /**
283  * @brief Enumeration for the forward mode.
284  * @since_tizen 2.3
285  */
286 typedef enum {
287         TAPI_SS_CF_MODE_DISABLE_EV, /**< Deactivate call forwarding */
288         TAPI_SS_CF_MODE_ENABLE_EV, /**< Activate call forwarding */
289         TAPI_SS_CF_MODE_REGISTRATION_EV, /**< Register call forwarding */
290         TAPI_SS_CF_MODE_ERASURE_EV, /**< Deregister call forwarding */
291 } TelSsForwardMode_t;
292
293 /**
294  * @brief Enumeration for no-reply time.
295  * @since_tizen 2.3
296  * @remarks Applicable to 3GPP(GSM/UMTS/LTE) only.
297  */
298 typedef enum {
299         TAPI_SS_CF_NO_REPLY_TIME_5_SECS = 5,   /**< Timer value set to 5secs */
300         TAPI_SS_CF_NO_REPLY_TIME_10_SECS = 10, /**< Timer value set to 10secs */
301         TAPI_SS_CF_NO_REPLY_TIME_15_SECS = 15, /**< Timer value set to 15secs */
302         TAPI_SS_CF_NO_REPLY_TIME_20_SECS = 20, /**< Timer value set to 20secs */
303         TAPI_SS_CF_NO_REPLY_TIME_25_SECS = 25, /**< Timer value set to 25secs */
304         TAPI_SS_CF_NO_REPLY_TIME_30_SECS = 30, /**< Timer value set to 30secs */
305 } TelSsNoReplyTime_t;
306
307 /**
308  * @brief Enumeration for the supplementary service request results.
309  * @since_tizen 2.3
310  */
311 typedef enum {
312         TAPI_SS_SUCCESS = 0x0, /**< SS operation is successful */
313
314         TAPI_SS_UNKNOWNSUBSCRIBER = 0x01, /**< SS error indicating unknown/illegal subscriber */
315         TAPI_SS_ILLEGALSUBSCRIBER = 0x09, /**< This error is returned when illegality of the access has been @n
316          established by use of an authentication procedure */
317
318         TAPI_SS_BEARERSERVICENOTPROVISIONED = 0x0a, /**< The network returns this error when it is requested to @n
319          perform an operation on a supplementary service */
320         TAPI_SS_TELESERVICENOTPROVISIONED = 0x0b, /**< The network returns this error when it is requested to perform @n
321          an operation on a supplementary service */
322         TAPI_SS_ILLEGALEQUIPMENT = 0x0c, /**< This error is returned when the IMEI check procedure has shown that @n
323          the IMEI is blacklisted or it is not whitelisted */
324         TAPI_SS_CALLBARRED = 0x0d, /**< This error is returned by the network to the MS when call independent subscriber control procedures are barred by the operator */
325         TAPI_SS_ILLEGALSSOPERATION = 0x10, /**< This error is returned by the network when it is requested to perform an illegal operation @n
326          which is defined as not applicable for the relevant supplementary service */
327         TAPI_SS_ERRORSTATUS = 0x11, /**< This error is returned by the network when it is requested to perform an operation @n
328          which is not compatible with the current status of the relevant supplementary service */
329         TAPI_SS_NOTAVAILABLE = 0x12, /**< SS not available in the network */
330         TAPI_SS_SUBSCRIPTIONVIOLATION = 0x13, /**< SS service subscription violation */
331         TAPI_SS_INCOMPATIBILITY = 0x14, /**< This error is returned by the network when it is requested for a supplementary service operation that is incompatible with the @n
332          status of another supplementary service or with the teleservice or bearer service for which the operation is requested */
333         TAPI_SS_FACILITYNOTSUPPORTED = 0x15, /**< SS service facility not supported */
334         TAPI_SS_ABSENTSUBSCRIBER = 0x1b, /**< This error is returned when the subscriber has activated the detach service or the system detects the absence condition */
335
336         TAPI_SS_SYSTEMFAILURE = 0x22, /**< This error is returned by the network, when it cannot perform an operation because of a failure in the network */
337         TAPI_SS_DATAMISSING = 0x23, /**< This error is returned by the network when an optional parameter is missing in an invoke component @n
338          or an inner data structure, while it is required by the context of the request */
339         TAPI_SS_UNEXPECTEDDATAVALUE = 0x24, /**< SS error indicating an unexpected data value on the network side *//**< SS operation barred */
340         TAPI_SS_PWREGISTRATIONFAILURE = 0x25, /**< SS error indicating a change password failure */
341         TAPI_SS_NEGATIVEPWCHECK = 0x26, /**< SS error indicating a negative password check */
342         TAPI_SS_NUMBEROFPWATTEMPTSVIOLATION = 0x2b, /**< SS error indicating violation in barring password attempts */
343
344         TAPI_SS_UNKNOWNALPHABET = 0x47, /**< SS error indicating unknown SS data coding of an alphabet */
345         TAPI_SS_USSDBUSY = 0x48, /**< SS error indicating USSD Busy(Already SS / USSD is ongoing) */
346
347         TAPI_SS_FIXED_DIALING_NUMBER_ONLY = 0x5F, /**< SS error indicating Dialing number is not FDN */
348
349         TAPI_SS_REJECTEDBYUSER = 0x79, /**< SS operation rejected by the user */
350         TAPI_SS_REJECTEDBYNETWORK = 0x7a, /**< SS operation rejected by the network */
351         TAPI_SS_DEFLECTIONTOSERVEDSUBSCRIBER = 0x7b, /**< This error is returned if a diversion to the served @n
352          subscriber's number is requested */
353         TAPI_SS_SPECIALSERVICECODE = 0x7c, /**< This error is returned if a diversion to a special service code is requested */
354         TAPI_SS_INVALIDDEFLECTEDTONUMBER = 0x7d, /**< SS error indicating invalid deflected to a number */
355         TAPI_SS_MAXNOMPTYEXCEEDED = 0x7e, /**< SS error indicating Maximum MPTY is reached */
356         TAPI_SS_RESOURCESNOTAVAILABLE = 0x7f, /**< SS error indicating resources not available in the network */
357         TAPI_SS_REJECTEDBYCALLCONTROL = 0x80, /**< SS error indicating resources not available in the network */
358
359         TAPI_SS_TIMEREXPIRE, /**< SS operation timer expired on the network */
360         TAPI_SS_NET_NOT_ALLOWED_EMERGENCY_CALLS_ONLY, /**< SS operation is not allowed by the network */
361         TAPI_SS_UNKNOWNERROR, /**< SS error indicating an unknown error */
362         TAPI_SS_OEM_NOT_SUPPORTED /**< If OEM does not support any SS requests, then this error will be returned */
363 } TelSsCause_t;
364
365 /**
366  * @brief Enumeration for the status of a supplementary service feature (e.g. call forwarding or call barring).
367  * @details These enumerated values should be used as masks.
368  * @since_tizen 2.3
369  */
370 typedef enum {
371         TAPI_SS_STATUS_REGISTERED = 0x01, /**< Provisioned & registered (but not active/active-quiescent */
372         TAPI_SS_STATUS_PROVISIONED, /**<Provisioned but not registered (or active/active-quiescent) */
373         TAPI_SS_STATUS_ACTIVE, /**< Provisioned & registered & active */
374         TAPI_SS_STATUS_QUIESCENT, /**< Provisioned & registered & active but quiescent */
375         TAPI_SS_STATUS_NOTHING /**< Not provisioned */
376 } TelSsStatus_t;
377
378 /**
379  * @brief Enumeration for the types of identity presentation / restriction services.
380  * @since_tizen 2.3
381  */
382 typedef enum {
383         TAPI_CALLING_LINE_IDENTITY_PRESENTATION = 0x01, /**< Identify the party calling this phone */
384         TAPI_CALLING_LINE_IDENTITY_RESTRICTION, /**< Hide the identity of this phone when calling others */
385         TAPI_CONNECTED_LINE_IDENTITY_PRESENTATION, /**< Identify the party to whom the calling party (this phone) is connected */ /* 3GPP(GSM/UMTS/LTE) Specific */
386         TAPI_CONNECTED_LINE_IDENTITY_RESTRICTION, /**< Restrict yourself from being identified by incoming calls, such as forwarded calls */ /* 3GPP(GSM/UMTS/LTE) Specific */
387         TAPI_CALLED_LINE_IDENTITY_PRESENTATION, /**< Called line identity presentation */ /* 3GPP(GSM/UMTS/LTE) Specific */
388         TAPI_CALLING_NAME_PRESENTATION /**< Calling Name Presentation */ /* 3GPP(GSM/UMTS/LTE) Specific */
389 } TelSsLineIdentificationType_t;
390
391 /**
392  * @brief Enumeration for the CLI service status.
393  * @since_tizen 2.3
394  */
395 typedef enum {
396         TAPI_CLI_STATUS_NOT_PROVISONED = 0x01, /**< Service not provided by the service provider */
397         TAPI_CLI_STATUS_PROVISIONED, /**< Service is provided by the service provider */
398         TAPI_CLI_STATUS_ACTIVATED, /**< Service is activated at the network */
399         TAPI_CLI_STATUS_UNKOWN, /**< Service status is unknown */
400         TAPI_CLI_STATUS_TEMP_RESTRICTED, /**< Service is temporarily restricted */
401         TAPI_CLI_STATUS_TEMP_ALLOWED /**< Service is temporarily allowed */
402 } TelSsCliStatus_t;
403
404 /**
405  * @brief Enumeration for the CLI service type.
406  * @since_tizen 2.3
407  */
408 typedef enum {
409         TAPI_SS_CLI_CLIP = 0x01, /**< Calling Line Identification Presentation */
410         TAPI_SS_CLI_CLIR = 0x02, /**< Calling Line Identification Restriction */
411         TAPI_SS_CLI_COLP = 0x03, /**< Connected Line Identification Presentation */ /* 3GPP(GSM/UMTS/LTE) Specific */
412         TAPI_SS_CLI_COLR = 0x04, /**< Connected Line Identification Restriction */ /* 3GPP(GSM/UMTS/LTE) Specific */
413         TAPI_SS_CLI_CDIP = 0x05, /**< Called Line Identification Presentation */ /* 3GPP(GSM/UMTS/LTE) Specific*/
414         TAPI_SS_CLI_CNAP = 0x06, /**< Calling Name Presentation */ /* 3GPP(GSM/UMTS/LTE) Specific */
415 } TelSsCliType_t;
416
417 /**
418  * @brief Enumeration for SS info type.
419  * @since_tizen 2.3
420  */
421 typedef enum {
422         TAPI_SS_TYPE_BARRING = 0x00,    /**< Barring */
423         TAPI_SS_TYPE_FORWARDING,        /**< Forwarding */
424         TAPI_SS_TYPE_WAITING,   /**< Waiting */
425         TAPI_SS_TYPE_CLI,       /**< CLI */
426         TAPI_SS_TYPE_SEND_USSD, /**< Send Ussd */
427         TAPI_SS_TYPE_MAX        /**< Max value */
428 } TelSsInfoType_t;
429
430 /**
431  * @brief The structure type for the parameters related to forward info.
432  * @since_tizen 2.3
433  */
434 typedef struct {
435         TelSsClass_t Class;     /**< SS Class */
436         TelSsForwardMode_t Mode; /**< Forward Mode */
437         TelSsForwardWhen_t Condition; /**< Forward Condition */
438         TelSsNoReplyTime_t NoReplyConditionTimer; /**< No reply wait time 5-30 secs in intervals of 5(3GPP(GSM/UMTS/LTE) Specific) */
439         TelSsForwardTypeOfNum_t Ton;    /**< TON */
440         TelSsForwardNumberingPlanIdentity_t Npi;        /**< NPI */
441         unsigned char szPhoneNumber[TAPI_CALL_DIALDIGIT_LEN_MAX]; /**< Phone Number */
442 } TelSsForwardInfo_t;
443
444 /**
445  * @brief The structure type defining values for USSD request type. Applicable to 3GPP(GSM/UMTS/LTE) only.
446  * @since_tizen 2.3
447  * @see #TAPI_NOTI_SS_USSD
448  */
449 typedef struct {
450         TelSsUssdType_t Type;   /**< USSD Type */
451         unsigned char Dcs;      /**< DCS */
452         int Length; /**< USSD String Length */
453         char szString[TAPI_SS_USSD_DATA_SIZE_MAX]; /**< USSD String */
454 } TelSsUssdMsgInfo_t;
455
456 /**
457  * @brief The structure type for parameters related to call barring.
458  * @since_tizen 2.3
459  */
460 typedef struct {
461         TelSsClass_t Class; /**< Call type */
462         TelSsBarringMode_t Mode; /**< Barring mode */
463         TelSsBarringType_t Type; /**< Barring type */
464         char szPassword[TAPI_SS_GSM_BARR_PW_LEN_MAX]; /**< Password (3GPP(GSM/UMTS/LTE) Specific) */
465 } TelSsBarringInfo_t;
466
467 /**
468  * @brief The structure type for parameters related to call waiting.
469  * @since_tizen 2.3
470  */
471 typedef struct {
472         TelSsClass_t Class; /**< Call type */
473         TelSsCallWaitingMode_t Mode; /**< Waiting mode */
474 } TelSsWaitingInfo_t;
475
476 /**
477  * @brief The structure type for SUPS information message notification type.
478  * @since_tizen 2.3
479  * @see #TAPI_NOTI_SS_INFO
480  */
481 typedef struct {
482         TelSsCause_t Cause; /**< Cause */
483         TelSsInfoType_t SsType; /**< SUPS Information */
484 } TelSsInfo_t;
485
486 /**
487  * @brief The structure type for release complete message notification type.
488  * @since_tizen 2.3
489  * @see #TAPI_NOTI_SS_RELEASE_COMPLETE
490  */
491 typedef struct {
492         unsigned char RelCompMsgLen; /**< Specifies the Release complete msg length */
493         unsigned char szRelCompMsg[TAPI_MAX_RELEASE_COMPLETE_DATA_LEN]; /**< Specifies the Release complete msg */
494 } TelSsRelCompMsgInfo_t;
495
496 /**
497  * @brief The structure type defining values for SS call barring record. Applicable to 3GPP(GSM/UMTS/LTE) only.
498  * @since_tizen 2.3
499  * @see tel_set_ss_barring()
500  * @see tel_get_ss_barring_status()
501  */
502 typedef struct {
503         int record_num; /**< Record Number */
504         struct {
505                 TelSsClass_t Class;     /**< SS Class */
506                 TelSsStatus_t Status; /**< SS status */
507                 TelSsBarringType_t Flavour; /**< Call barring types providing various barring conditions on which calls are barred */
508         } record[TAPI_SS_RECORD_NUM_MAX]; /**< Specifies the Maximum of #TAPI_SS_RECORD_NUM_MAX records */
509 } TelSsBarringResp_t;
510
511 /**
512  * @brief The structure type defining values for SS call barring notification. Applicable to 3GPP(GSM/UMTS/LTE) only.
513  * @since_tizen 2.3
514  * @see #TAPI_NOTI_SS_BARRING_STATUS
515  */
516 typedef TelSsBarringResp_t TelSsBarringNoti_t;
517
518 /**
519  * @brief The structure type defining values for SS call forwarding record. Applicable to 3GPP(GSM/UMTS/LTE) only.
520  * @since_tizen 2.3
521  * @see tel_set_ss_forward()
522  * @see tel_get_ss_forward_status()
523  */
524 typedef struct {
525         int record_num; /**< Record Number */
526         struct {
527                 TelSsClass_t Class;     /**< SS Class */
528                 TelSsStatus_t Status; /**< Call forwarding SS status */
529                 TelSsForwardWhen_t ForwardCondition; /**< Call forward types providing various conditions when a call can be forwarded */
530                 int bCallForwardingNumberPresent; /**< Flag that indicates whether call forwarding number is present */
531                 TelSsNoReplyTime_t NoReplyWaitTime;     /**< No-Reply Time */
532                 TelSsForwardTypeOfNum_t Ton;    /**< TON */
533                 TelSsForwardNumberingPlanIdentity_t Npi;        /**< NPI */
534                 unsigned char szCallForwardingNumber[TAPI_CALL_DIALDIGIT_LEN_MAX + 1]; /**< Forwarded number [Null Terminated string] */
535         } record[TAPI_SS_RECORD_NUM_MAX]; /**< Specifies the maximum of #TAPI_SS_RECORD_NUM_MAX records */
536 } TelSsForwardResp_t;
537
538 /**
539  * @brief The structure type defining values for SS call forwarding notification. Applicable to 3GPP(GSM/UMTS/LTE) only.
540  * @since_tizen 2.3
541  * @see #TAPI_NOTI_SS_FORWARD_STATUS
542  */
543 typedef TelSsForwardResp_t TelSsForwardNoti_t;
544
545 /**
546  * @brief The structure type defining values for SS call waiting record. Applicable to 3GPP(GSM/UMTS/LTE) only.
547  * @since_tizen 2.3
548  * @see tel_set_ss_waiting()
549  * @see tel_get_ss_waiting_status()
550  */
551 typedef struct {
552         int record_num; /**< Record Number */
553         struct {
554                 TelSsClass_t Class;     /**< SS Class */
555                 TelSsStatus_t Status; /**< SS status */
556         } record[TAPI_SS_RECORD_NUM_MAX]; /**< Specifies the maximum of #TAPI_SS_RECORD_NUM_MAX records */
557 } TelSsWaitingResp_t;
558
559 /**
560  * @brief The structure type defining values for SS call waiting notification. Applicable to 3GPP(GSM/UMTS/LTE) only.
561  * @since_tizen 2.3
562  * @see #TAPI_NOTI_SS_WAITING_STATUS
563  */
564 typedef TelSsWaitingResp_t TelSsWaitingNoti_t;
565
566 /**
567  * @brief The structure type defining values for calling line identity service. Applicable to 3GPP(GSM/UMTS/LTE) only.
568  * @since_tizen 2.3
569  * @see tel_get_ss_cli_status()
570  */
571 typedef struct {
572         TelSsLineIdentificationType_t Type; /**< Various line identification types */
573         TelSsCliStatus_t Status; /**< Line identification status from the network */
574 } TelSsCliResp_t;
575
576 /**
577  * @brief The structure type defining USSD response data. Applicable to 3GPP(GSM/UMTS/LTE) only.
578  * @since_tizen 2.3
579  * @see tel_send_ss_ussd_request()
580  */
581 typedef struct {
582         TelSsUssdType_t Type;   /**< USSD Type */
583         TelSsUssdStatus_t Status;       /**< USSD Status */
584         unsigned char Dcs;      /**< DCS */
585         int Length; /**< USSD String Length */
586         char szString[TAPI_SS_USSD_DATA_SIZE_MAX]; /**< USSD String */
587 } TelSsUssdResp_t;
588
589 /**
590  * @brief The structure type defining USSD notification data. Applicable to 3GPP(GSM/UMTS/LTE) only.
591  * @since_tizen 2.3
592  */
593 typedef struct {
594         TelSsUssdStatus_t Status;       /**< USSD Status */
595         unsigned char Dcs;      /**< DCS */
596         int Length; /**< USSD String Length */
597         char szString[TAPI_SS_USSD_DATA_SIZE_MAX]; /**< USSD String */
598 } TelSsUssdNoti_t;
599
600 #ifdef __cplusplus
601 }
602 #endif
603
604 #endif /* _TEL_SS_H_ */
605
606 /**
607  * @}
608  */