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