Add LTE network for neighbor cell information
[platform/core/telephony/libtapi.git] / include / TelCall.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 TelCall.h
23  */
24
25 /**
26  * @addtogroup CAPI_TELEPHONY_SERVICE_CALL
27  * @{
28  *
29  */
30
31 #ifndef _TEL_CALL_H_
32 #define _TEL_CALL_H_
33
34 #include <TelSs.h>
35
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39
40 /**
41  * @brief Definition for the maximum length of the string for the calling party name.
42  * @since_tizen 2.3
43  */
44 #define TAPI_CALLING_NAME_SIZE_MAX      97
45
46 /**
47  * @brief Definition for the maximum length of the user to user signalling data string.
48  * @since_tizen 2.3
49  */
50 #define TAPI_CALL_UUS_DATA_LEN_MAX      131
51
52 /**
53  * @brief Definition for the maximum length of the string for display record in CDMA.
54  * @since_tizen 2.3
55  */
56 #define TAPI_CALL_DISPLAY_RECORD_MAX    32
57
58 /**
59  * @brief Definition for the maximum number of calls possible at a time.
60  * @since_tizen 2.3
61  */
62 #define MAX_TAPI_CALL_COUNT     6
63
64 /**
65  * @brief Definition for the maximum number of calls possible in a conference call at a time.
66  * @since_tizen 2.3
67  */
68 #define MAX_TAPI_CONF_CALL_COUNT        5
69
70 /**
71  * @brief Definition for the invalid call handle.
72  * @details TS_UINT is used for the call handle.
73  * @since_tizen 2.3
74  */
75 #define INVALID_CALL_HANDLE     0
76
77 /**
78  * @brief Definition for the maximum dialling digit length.
79  * @since_tizen 2.3
80  */
81 #define TAPI_CALL_DIALDIGIT_LEN_MAX             82
82
83 /**
84  * @brief Definition for the maximum call subaddress length.
85  * @since_tizen 2.3
86  */
87 #define TAPI_CALL_SUBADDRESS_LEN_MAX    40
88
89 /**
90  * @brief Definition for the dialling number length.
91  * @since_tizen 2.3
92  */
93 #define TAPI_CALL_NUMBER_LEN_MAX                7
94
95 /**
96  * @brief Definition for the maximum call context size.
97  * @since_tizen 2.3
98  */
99 #define TAPI_CONTEXT_CALL_SIZE_MAX              6
100
101 /**
102  * @brief Definition for the maximum dialling number length.
103  * @since_tizen 2.3
104  */
105 #define TAPI_CALL_DIAL_NUMBER_LEN_MAX   82
106
107 /**
108  * @brief Definition for the maximum Burst DTMF string length.
109  * @since_tizen 2.3
110  */
111 #define TAPI_CALL_BURST_DTMF_STRING_MAX 32
112
113 /**
114  * @brief Enumeration for the call cause values.
115  * @since_tizen 2.3
116  */
117 typedef enum {
118         TAPI_CAUSE_SUCCESS,                     /**< Success */
119         TAPI_CAUSE_ACCESSDISCARD,               /**< Access discarded */
120         TAPI_CAUSE_BARR_BYOPERATOR,             /**< Barred by operator */
121         TAPI_CAUSE_BEARERMODE_NOTIMPL,          /**< Bearer mode not implemented */
122         TAPI_CAUSE_BEARERMODE_RESTRICTED,       /**< Bearer mode restricted */
123         TAPI_CAUSE_BEARERMODE_UNAUTH,           /**< Bearer mode unauthorized */
124         TAPI_CAUSE_BEARERMODE_UNAVAIL,          /**< Bearer mode not available */
125         TAPI_CAUSE_BUSY,                        /**< (Network/Server) busy */
126         TAPI_CAUSE_CALLMETER_EXPIRED,           /**< Call meter expired */
127         TAPI_CAUSE_CALLNO_ERROR,                /**< Call number error */
128         TAPI_CAUSE_CKTUNAVAIL,                  /**< Circuit channel unavailable */                     /* 10 */
129         TAPI_CAUSE_CONGESTION,                  /**< Congestion occurred */
130         TAPI_CAUSE_NO_CIRCUIT_AVAIL,            /**< Circuit not available */
131         TAPI_CAUSE_DESTIN_INCOMPAT,             /**< Destination incompatibility */
132         TAPI_CAUSE_DTMF_NOSPEECH,               /**< No speech in DTMF */
133         TAPI_CAUSE_DTMF_REJECTED,               /**< DTMF rejected */
134         TAPI_CAUSE_FACILITY_NOTIMPL,            /**< Facility not implemented */
135         TAPI_CAUSE_FACILITY_NOTSUBSCRIBED,      /**< Facility not subscribed */
136         TAPI_CAUSE_INCOMINGCUGCALLS_BARRED,     /**< Incoming CUG Calls barred */
137         TAPI_CAUSE_INVALNUM,                    /**< Invalid number */
138         TAPI_CAUSE_MPTY_ERROR,                  /**< Multiparty error */                                /* 20 */
139         TAPI_CAUSE_NOANSWER,                    /**< No answer */
140         TAPI_CAUSE_NONCUGMEMBER,                /**< Non CUG member */
141         TAPI_CAUSE_NUMBERCHANGED,               /**< Number changed */
142         TAPI_CAUSE_NUMBER_ERROR,                /**< Number error */
143         TAPI_CAUSE_NWFAILURE,                   /**< Network failure */
144         TAPI_CAUSE_OPERATIONUNAVAIL,            /**< Operation not available */
145         TAPI_CAUSE_OUTOFORDER,                  /**< Out of order */
146         TAPI_CAUSE_PROTOCOL_ERROR,              /**< Protocol error */
147         TAPI_CAUSE_QOSUNAVAIL,                  /**< QOS unavailable */
148         TAPI_CAUSE_REJECT,                      /**< Rejected */                                                /* 30 */
149         TAPI_CAUSE_REJ_FAIL,                    /**< Rejection failed */
150         TAPI_CAUSE_REJ_SRVC_NOT_AVL,            /**< Rejection service not available */
151         TAPI_CAUSE_REJ_SAT_CALL_CTRL,           /**< Rejection SAT Call Control */
152         TAPI_CAUSE_REMOTE_CKTUNAVAIL,           /**< Remote Circuit channel unavailable */
153         TAPI_CAUSE_RESOURCEUNAVAIL,             /**< Resource not available */
154         TAPI_CAUSE_SERVICEID_ERROR,             /**< Service ID error */
155         TAPI_CAUSE_SERVICE_NOTIMPL,             /**< Service not implemented */
156         TAPI_CAUSE_SERVICE_UNAVAIL,             /**< Service not available */
157         TAPI_CAUSE_MODIFY_SAME_BEARER,          /**< Modify same bearer */
158         TAPI_CAUSE_MODIFY_NOT_PERMITTED,        /**< Modification not permitted */                              /* 40 */
159         TAPI_CAUSE_HOLD_FAIL,                   /**< Call hold failure */
160         TAPI_CAUSE_TEMPFAILURE,                 /**< Temporary failure */
161         TAPI_CAUSE_WRONGNUM,                    /**< Wrong number */
162         TAPI_CAUSE_NORMAL_UNSPECIFIED,          /**< Normal but unspecified */
163         TAPI_CAUSE_SSERRINVALIDTIVALUE,         /**< SS invalid transaction ID value */
164         TAPI_CAUSE_SSERRINVALIDTI,              /**< SS Invalid transaction ID */
165         TAPI_CAUSE_SSINCOMPATIBLESTATE,         /**< SS incompatible state */
166         TAPI_CAUSE_SSERRSYNTAXERROR,            /**< SS syntax error */
167         TAPI_CAUSE_SSPROTOCOLERROR,             /**< Protocol error */
168         TAPI_CAUSE_SSNEGATIVEPASSWORDCHECK,     /**< Negative password check */                 /* 50 */
169         TAPI_CAUSE_SSSENTASPHASE1,              /**< SS sent as phase1 message */
170         TAPI_CAUSE_SSERROR,                     /**< Supplementary service error */
171         TAPI_CAUSE_SS_USSD_BUSY,                /**< Second USSD request will be rejected when a USSD transaction is already in progess */
172         TAPI_CAUSE_IDLE,                        /**< Idle */
173         TAPI_CAUSE_NETWORK_SPECIFIC,            /**< Network specific error */
174         TAPI_CAUSE_FADE,                        /**< Voice call is dropped e.g. because of a loss of signal */
175         TAPI_CAUSE_UNKNOWN,                     /**< Unknown and no details available */
176         TAPI_CAUSE_INCOM_CALL,                  /**< Terminated by an incoming call */
177         TAPI_CAUSE_ALERT_STOP,                  /**< Terminated by an alert stop */
178         TAPI_CAUSE_INTERCEPT,                   /**< Voice call is dropped by interception */                   /* 60 */
179         TAPI_CAUSE_REORDER,                     /**< Voice call is dropped by reordering */
180         TAPI_CAUSE_CLIENT_END,                  /**< Client ended the call */
181         TAPI_CAUSE_ACCESS_CLASS_BLOCKED,        /**< Access class blocked */
182         TAPI_CAUSE_MEMCAPEXCEEDED,              /**< Memory capacity exceeded */
183         TAPI_CAUSE_TYPENOTSUPPORTED,            /**< Type not supported */
184         TAPI_CAUSE_REPLACENOTSUPPORTED,         /**< Replace not supported */
185         TAPI_CAUSE_PROTOCOLID_ERROR,            /**< Protocol ID error */
186         TAPI_CAUSE_CLASSNOTSUPPORTED,           /**< Class not supported */
187         TAPI_CAUSE_DATACODING_ERROR,            /**< Data coding error */
188         TAPI_CAUSE_INVAL_MSG,                   /**< Invalid message */                                 /* 70 */
189         TAPI_CAUSE_CALL_BARRED,                 /**< Call barred */
190         TAPI_CAUSE_SIM_CALL_CONTROL_CHANGED_TO_SS,      /**< Sim call control changed to SS */
191         TAPI_CAUSE_SIM_CALL_CONTROL_CHANGED_TO_CALL,    /**< SIM Call control changed to call */
192         TAPI_CAUSE_SIM_ERROR,                           /**< SIM error */
193         TAPI_CAUSE_SIM_CALL_CONTROL_MODIFIED,           /**< SIM call control modified */
194         TAPI_CAUSE_RANDOM_ACCESS_FAILURE,               /**< Random access error */
195         TAPI_CAUSE_LOWER_LAYER_FAILURE,                 /**< Lower layer error */
196         TAPI_CAUSE_ACCESS_REJECTED,                     /**< Access rejected */
197         TAPI_CAUSE_RESET_NOT_ALLOWED,                   /**< Reset not allowed */
198         TAPI_CAUSE_EMERGENCY_CALL_NOT_ALLOWED,          /**< Emergency call not allowed */              /* 80 */
199         TAPI_CAUSE_ACCESS_NOT_ALLOWED,                  /**< Access not allowed */
200         TAPI_CAUSE_RADIO_LINK_FAILURE,                  /**< Radio link failure */
201         TAPI_CAUSE_INVALID_IDENTITY,                    /**< Invalid identity */
202         TAPI_CAUSE_UNKNOWN_IDENTITY,                    /**< Unknown identity */
203         TAPI_CAUSE_UNACCEPTABLE_IDENTITY,               /**< Unacceptable identity */
204         TAPI_CAUSE_NO_SERVICE_HERE,                     /**< No service here */
205         TAPI_CAUSE_SERVICE_NOT_ALLOWED,                 /**< Service not allowed */
206         TAPI_CAUSE_SERVICE_NOT_AVAIL,                   /**< Service not available */
207         TAPI_CAUSE_SERVICE_NOT_WORKING,                 /**< Service not working */
208         TAPI_CAUSE_CANNOT_IDENTIFY_CALL,                /**< Cannot identify the call */                        /* 90 */
209         TAPI_CAUSE_DEACTIVATION,                        /**< Deactivation */
210         TAPI_CAUSE_FATAL_ERROR,                         /**< Fatal error */
211         TAPI_CAUSE_SEND_DTMF_SUCCESS,                   /**< Sending DTMF succeeded */
212         TAPI_CAUSE_SEND_DTMF_FAIL,                      /**< Sending DTMF failed */
213         TAPI_CAUSE_FIXED_DIALING_NUMBER_ONLY,           /**< Fixed Dialing Number Only */
214         TAPI_CAUSE_TIMER_EXPIRED,                       /**< Call Timer Expired */
215         TAPI_CAUSE_MAX_CONFERENCE_PARTICIPANTS_REACHED,         /**< Max Conference Partcipants Reached(VoLTE specific) */
216 } TelCallCause_t;
217
218 /**
219  * @brief Enumeration when a call is ended, this end cause is given with the CALL END notification to the application.
220  * @details This end cause can be originated from different elements in the communication path or different modules in the same element.
221  * @since_tizen 2.3
222  */
223 typedef enum {
224         TAPI_CALL_END_NO_CAUSE = 0x00,                  /**< No Cause */
225
226         TAPI_CC_CAUSE_UNASSIGNED_NUMBER,                /**< Unassigned Number */
227         TAPI_CC_CAUSE_NO_ROUTE_TO_DEST,                 /**< No Route to Destination */
228         TAPI_CC_CAUSE_CHANNEL_UNACCEPTABLE,             /**< Channel Unacceptable */
229         TAPI_CC_CAUSE_OPERATOR_DETERMINED_BARRING,      /**< Operator Determined Barring */
230         TAPI_CC_CAUSE_NORMAL_CALL_CLEARING,             /**< Normal Call Clearing */
231
232         TAPI_CC_CAUSE_USER_BUSY,                        /**< User Busy */
233         TAPI_CC_CAUSE_NO_USER_RESPONDING,               /**< No user responding */
234         TAPI_CC_CAUSE_USER_ALERTING_NO_ANSWER,          /**< User Alerting no Answer */
235         TAPI_CC_CAUSE_CALL_REJECTED,                    /**< Call Rejected */
236         TAPI_CC_CAUSE_NUMBER_CHANGED,                   /**< Number Changed */
237
238         TAPI_CC_CAUSE_NON_SELECTED_USER_CLEARING,       /**< Non Selected User Clearing */
239         TAPI_CC_CAUSE_DESTINATION_OUT_OF_ORDER,         /**< Destination out of Order */
240         TAPI_CC_CAUSE_INVALID_NUMBER_FORMAT,            /**< Invalid Number Format */
241         TAPI_CC_CAUSE_FACILITY_REJECTED,                /**< Facility Rejected */
242         TAPI_CC_CAUSE_RESPONSE_TO_STATUS_ENQUIRY,       /**< Response to Status Enquiry */
243
244         TAPI_CC_CAUSE_NORMAL_UNSPECIFIED,               /**< Normal Unspecified */
245         TAPI_CC_CAUSE_NO_CIRCUIT_CHANNEL_AVAILABLE,     /**< No Circuit Channel Available */
246         TAPI_CC_CAUSE_NETWORK_OUT_OF_ORDER,             /**< Network out of Order */
247         TAPI_CC_CAUSE_TEMPORARY_FAILURE,                /**< Temporary Failure */
248         TAPI_CC_CAUSE_SWITCHING_EQUIPMENT_CONGESTION,   /**< Switching Equipment Congestion */
249
250         TAPI_CC_CAUSE_ACCESS_INFORMATION_DISCARDED,             /**< Access Information Discarded */
251         TAPI_CC_CAUSE_REQUESTED_CIRCUIT_CHANNEL_NOT_AVAILABLE,  /**< Requested Circuit channel not available */
252         TAPI_CC_CAUSE_RESOURCES_UNAVAILABLE_UNSPECIFIED,        /**< Resources unavailable and unspecified */
253         TAPI_CC_CAUSE_QUALITY_OF_SERVICE_UNAVAILABLE,           /**< Quality of service unavailable */
254         TAPI_CC_CAUSE_REQUESTED_FACILITY_NOT_SUBSCRIBED,        /**< Requested facility not subscribed */
255
256         TAPI_CC_CAUSE_INCOMING_CALL_BARRED_WITHIN_CUG,          /**< Incoming call barred within CUG */
257         TAPI_CC_CAUSE_BEARER_CAPABILITY_NOT_AUTHORISED,         /**< Bearer capability not Authorised */
258         TAPI_CC_CAUSE_BEARER_CAPABILITY_NOT_PRESENTLY_AVAILABLE,/**< Bearer capability not presently Available */
259         TAPI_CC_CAUSE_SERVICE_OR_OPTION_NOT_AVAILABLE,          /**< Service or Option not available */
260         TAPI_CC_CAUSE_BEARER_SERVICE_NOT_IMPLEMENTED,           /**< Service not implemented */
261
262         TAPI_CC_CAUSE_ACM_GEQ_ACMMAX,                           /**< ACM GEQ ACMAX */
263         TAPI_CC_CAUSE_REQUESTED_FACILITY_NOT_IMPLEMENTED,       /**< Requested facility not implemented */
264         TAPI_CC_CAUSE_ONLY_RESTRICTED_DIGITAL_INFO_BC_AVAILABLE,/**< Restricted digital info BC not available */
265         TAPI_CC_CAUSE_SERVICE_OR_OPTION_NOT_IMPLEMENTED,        /**< Service or Option not Implemented */
266         TAPI_CC_CAUSE_INVALID_TRANSACTION_ID_VALUE,             /**< Transaction ID value */
267
268         TAPI_CC_CAUSE_USER_NOT_MEMBER_OF_CUG,                   /**< Not a member of CUG */
269         TAPI_CC_CAUSE_INCOMPATIBLE_DESTINATION,                 /**< Incompatible Destination */
270         TAPI_CC_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION,        /**< Transit Network selection */
271         TAPI_CC_CAUSE_SEMANTICALLY_INCORRECT_MESSAGE,           /**< Semantically Incorrect message */
272         TAPI_CC_CAUSE_INVALID_MANDATORY_INFORMATION,            /**< Invalid Mandatory Message */
273
274         TAPI_CC_CAUSE_MESSAGE_TYPE_NON_EXISTENT,                        /**< Message Type Non Existent */
275         TAPI_CC_CAUSE_MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROT_STATE,      /**< Message type not compatible with Prot state */
276         TAPI_CC_CAUSE_IE_NON_EXISTENT_OR_NOT_IMPLEMENTED,               /**< IE non exitent or not implemented */
277         TAPI_CC_CAUSE_CONDITIONAL_IE_ERROR,                             /**< Conditional IE error */
278         TAPI_CC_CAUSE_MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE,       /**< Not Compatible with protocol state */
279
280         TAPI_CC_CAUSE_RECOVERY_ON_TIMER_EXPIRY, /**< Recovery on timer expiry */
281         TAPI_CC_CAUSE_PROTOCOL_ERROR_UNSPECIFIED,       /**< Protocol error unspecified */
282         TAPI_CC_CAUSE_INTERWORKING_UNSPECIFIED, /**< Interworking unspecified */
283         TAPI_CC_CAUSE_REORDER,  /**< Reorder */
284
285         TAPI_CC_CAUSE_END = 128,        /**< End unspecified */
286
287         /* Reject causes*/
288         TAPI_REJECT_CAUSE_IMSI_UNKNOWN_IN_HLR,  /**< IMSI unknown in HLR */
289         TAPI_REJECT_CAUSE_ILLEGAL_MS,           /**< Illegal MS */
290         TAPI_REJECT_CAUSE_IMSI_UNKNOWN_IN_VLR,  /**< IMSI unknown in VLR */
291         TAPI_REJECT_CAUSE_IMEI_NOT_ACCEPTED,    /**< IMEI not accepted */
292         TAPI_REJECT_CAUSE_ILLEGAL_ME,           /**< Illegal ME */
293
294         TAPI_REJECT_CAUSE_GPRS_SERVICES_NOT_ALLOWED,                            /**< GPRS service not allowed */
295         TAPI_REJECT_CAUSE_GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED,      /**< GPRS services and Non-GPRS services not allowed */
296         TAPI_REJECT_CAUSE_MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK, /**< MS device cannot be derived by the network */
297         TAPI_REJECT_CAUSE_IMPLICITLY_DETACHED,                          /**< Implicitly detached */
298         TAPI_REJECT_CAUSE_PLMN_NOT_ALLOWED,                             /**< PLMN not allowed */
299
300         TAPI_REJECT_CAUSE_LA_NOT_ALLOWED,                               /**< LA not allowed */
301         TAPI_REJECT_CAUSE_NATIONAL_ROAMING_NOT_ALLOWED,                 /**< National roaming not allowed */
302         TAPI_REJECT_CAUSE_GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN,       /**< GPRS services not allowed in this PLMN */
303         TAPI_REJECT_CAUSE_NO_SUITABLE_CELLS_IN_LA,                      /**< No suitable cells in the LA */
304         TAPI_REJECT_CAUSE_MSC_TEMPORARILY_NOT_REACHABLE,                /**< MSC temporarily not reachable */
305
306         TAPI_REJECT_CAUSE_NETWORK_FAILURE,      /**< Network unavailable */
307         TAPI_REJECT_CAUSE_MAC_FAILURE,          /**< MAC failure */
308         TAPI_REJECT_CAUSE_SYNCH_FAILURE,        /**< SYNCH failure */
309         TAPI_REJECT_CAUSE_CONGESTTION,          /**< Congestion */
310         TAPI_REJECT_CAUSE_GSM_AUTH_UNACCEPTED,  /**< GSM Auth unaccepted */
311
312         TAPI_REJECT_CAUSE_SERVICE_OPTION_NOT_SUPPORTED, /**< Service option not supported */
313         TAPI_REJECT_CAUSE_REQ_SERV_OPT_NOT_SUBSCRIBED,  /**< REQ_SERV option not suscribed */
314         TAPI_REJECT_CAUSE_SERVICE_OPT__OUT_OF_ORDER,    /**< Service OPT out of order */
315         TAPI_REJECT_CAUSE_CALL_CANNOT_BE_IDENTIFIED,    /**< Call cannot be identified */
316         TAPI_REJECT_CAUSE_NO_PDP_CONTEXT_ACTIVATED,     /**< No PDP context Activated */
317
318         TAPI_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_A_NEW_CELL_MIN_VALUE,   /**< Retry upon entry into a new call min value */
319         TAPI_REJECT_CAUSE_RETRY_UPON_ENTRY_INTO_A_NEW_CELL_MAX_VALUE,   /**< Retry upon entry into a new call max value */
320         TAPI_REJECT_CAUSE_SEMANTICALLY_INCORRECT_MSG,                   /**< Semantically incorret message */
321         TAPI_REJECT_CAUSE_INVALID_MANDATORY_INFO,                       /**< Invalid mandatory information */
322         TAPI_REJECT_CAUSE_MESSAGE_TYPE_NON_EXISTANT,                    /**< Message type non-existant */
323
324         TAPI_REJECT_CAUSE_MESSAGE_TYPE_NOT_COMP_PRT_ST,         /**< Message type not COMP PRT ST */
325         TAPI_REJECT_CAUSE_IE_NON_EXISTANT,                      /**< IE non existent */
326         TAPI_REJECT_CAUSE_MSG_NOT_COMPATIBLE_PROTOCOL_STATE,    /**< MSG not compatible protocol state */
327
328         /* Connection Management establishment rejection cause */
329         TAPI_REJECT_CAUSE_REJ_UNSPECIFIED,      /**< REJ unspecified */
330
331         /* AS reject causes */
332         TAPI_REJECT_CAUSE_AS_REJ_RR_REL_IND,                    /**< RR release indication */
333         TAPI_REJECT_CAUSE_AS_REJ_RR_RANDOM_ACCESS_FAILURE,      /**< Random Access Failure */
334         TAPI_REJECT_CAUSE_AS_REJ_RRC_REL_IND,                   /**< RRC release indication */
335         TAPI_REJECT_CAUSE_AS_REJ_RRC_CLOSE_SESSION_IND,         /**< RRC close session indication */
336         TAPI_REJECT_CAUSE_AS_REJ_RRC_OPEN_SESSION_FAILURE,      /**< RRC open session failure */
337         TAPI_REJECT_CAUSE_AS_REJ_LOW_LEVEL_FAIL,                /**< Low level failure */
338         TAPI_REJECT_CAUSE_AS_REJ_LOW_LEVEL_FAIL_REDIAL_NOT_ALLOWED, /**< Low level failure redial not alowed */
339         TAPI_REJECT_CAUSE_AS_REJ_LOW_LEVEL_IMMED_RETRY,         /**< Low level immediate retry */
340
341         /* MM reject causes */
342         TAPI_REJECT_CAUSE_MM_REJ_INVALID_SIM,           /**< Invalid SIM */
343         TAPI_REJECT_CAUSE_MM_REJ_NO_SERVICE,            /**< No service */
344         TAPI_REJECT_CAUSE_MM_REJ_TIMER_T3230_EXP,       /**< Timer T3230 expiry */
345         TAPI_REJECT_CAUSE_MM_REJ_NO_CELL_AVAILABLE,     /**< No call available */
346         TAPI_REJECT_CAUSE_MM_REJ_WRONG_STATE,           /**< Wrong state */
347         TAPI_REJECT_CAUSE_MM_REJ_ACCESS_CLASS_BLOCKED,  /**< Access class blocked */
348
349         /* Definitions for release ind causes between MM and CNM */
350         TAPI_REJECT_CAUSE_ABORT_MSG_RECEIVED,   /**< Abort Message received */
351         TAPI_REJECT_CAUSE_OTHER_CAUSE,          /**< Other cause */
352
353         /* CNM reject causes */
354         TAPI_REJECT_CAUSE_CNM_REJ_TIMER_T303_EXP,       /**< Timer T303 expiry */
355         TAPI_REJECT_CAUSE_CNM_REJ_NO_RESOURCES,         /**< Rejected due to unavailibilty of resources */
356         TAPI_REJECT_CAUSE_CNM_MM_REL_PENDING,           /**< MM release pending */
357         TAPI_REJECT_CAUSE_CNM_INVALID_USER_DATA,        /**< Invalid user data */
358         TAPI_CALL_END_CAUSE_MAX = 255,                  /**< Maximum End Cause limit for GSM/WCDMA */
359
360         /* CDMA CALL END CAUSE */
361         TAPI_CDMA_END_CAUSE_REL_BY_USER = 0x1001,       /**< Call Released by User */
362         TAPI_CDMA_END_CAUSE_REL_BY_NET,                 /**< Call Released by Network */
363         TAPI_CDMA_END_CAUSE_REL_NET_BUSY,               /**< Call Released because the network is busy */
364         TAPI_CDMA_END_CAUSE_NO_SVC,                     /**< Call Released because of No Service area */
365         TAPI_CDMA_END_CAUSE_FADING,                     /**< Call Released because of Fading */
366         TAPI_CDMA_END_CAUSE_RELEASE_BY_REORDER,         /**< Call Released because of reorder */
367         TAPI_CDMA_END_CAUSE_RELEASE_BY_INTERCEPT,       /**< Call Released because of intercept */
368         TAPI_CDMA_END_CAUSE_SILENT_ZONE_RETRY,          /**< Call Released because of silent zone retry */
369         TAPI_CDMA_END_CAUSE_OTA_CALL_FAIL,              /**< Call Released because of OTA call failure */
370         TAPI_CDMA_END_CAUSE_PHONE_OFFLINE,              /**< Call Released because phone is offline */
371         TAPI_CDMA_END_CAUSE_PHONE_IS_CDMA_LOCKED,       /**< Call Released because CDMA is locked */
372         TAPI_CDMA_END_CAUSE_FLASH_IS_IN_PROGRESS_ERR,   /**< Call Released because of the flash-is-in-progress error */
373         TAPI_CDMA_END_CAUSE_E911_MODE_ERR,              /**< Call Released because of the e911 mode */
374         TAPI_CDMA_END_CAUSE_OTHERS,                     /**< Call Released by Others */
375         TAPI_CDMA_END_CAUSE_MAX                         /**< Maximum End Cause limit for CDMA */
376 } TelTapiEndCause_t;
377
378 /**
379  * @brief Enumeration for application usable states. Applications can have their own states as well.
380  * @since_tizen 2.3
381  */
382 typedef enum {
383         TAPI_CALL_STATE_IDLE,           /**< Call is in the idle state - i.e. no call */
384         TAPI_CALL_STATE_ACTIVE,         /**< Call is in the connected and conversation state */
385         TAPI_CALL_STATE_HELD,           /**< Call is in the held state */
386         TAPI_CALL_STATE_DIALING,        /**< Call is in the dialing state */
387         TAPI_CALL_STATE_ALERT,          /**< Call is in the alerting state */
388         TAPI_CALL_STATE_INCOMING,       /**< Call is in the incoming state */
389         TAPI_CALL_STATE_WAITING,        /**< Call is in the answered state, and waiting for connected indication event */
390         TAPI_CALL_STATE_MAX             /**< Call state unknown */
391 } TelCallStates_t;
392
393 /**
394  * @brief Enumeration for call active line(IN GSM ONLY: call identification number).
395  * @since_tizen 2.3
396  */
397 typedef enum {
398         TAPI_CALL_ACTIVE_LINE1, /**< Line 1 */
399         TAPI_CALL_ACTIVE_LINE2  /**< Line 2 */
400 } TelCallActiveLine_t;
401
402 /**
403  * @brief Enumeration for the answer type used as a parameter in the answer call API.
404  * @since_tizen 2.3
405  */
406 typedef enum {
407         TAPI_CALL_ANSWER_ACCEPT = 0,            /**< Used to answer an incoming call when there are no current active calls */
408         TAPI_CALL_ANSWER_REJECT,                /**< Used to reject the incoming call */
409         TAPI_CALL_ANSWER_REPLACE,               /**< Release current active call and accept the waiting call */
410         TAPI_CALL_ANSWER_HOLD_AND_ACCEPT,       /**< Hold the current active call, and accept the waiting call */
411 } TelCallAnswerType_t;
412
413 /**
414  * @brief Enumeration for the end type used as a parameter in the end call API.
415  * @since_tizen 2.3
416  */
417 typedef enum {
418         TAPI_CALL_END = 0,      /**< End Specific Call */
419         TAPI_CALL_END_ALL,      /**< End All Calls */
420         TAPI_CALL_END_ACTIVE_ALL,       /**< End All Active Calls */
421         TAPI_CALL_END_HOLD_ALL, /**< End All Held Calls */
422 } TelCallEndType_t;
423
424 /**
425  * @brief Enumeration for call type to be used by applications while using the setup call API. Like the requested call is a voice call or video call.
426  * @since_tizen 2.3
427  */
428 typedef enum {
429         TAPI_CALL_TYPE_VOICE,   /**< Voice call type */
430         TAPI_CALL_TYPE_DATA,    /**< Data call type - (for modem, fax, packet, and other such calls) */
431         TAPI_CALL_TYPE_E911     /**< Emergency call type */
432 } TelCallType_t;
433
434 /**
435  * @brief Enumeration for call type to be used by applications while using the setup call API. Like the requested call is a voice call or video call.
436  * @since_tizen 2.3
437  */
438 typedef enum {
439         TAPI_CALL_ACCEPT_TYPE_VOICE, /**< Accept as Voice call */
440         TAPI_CALL_ACCEPT_TYPE_VIDEO, /**< Accept as Video call */
441 } TelCallAcceptType_t;
442
443 /**
444  * @brief Enumeration for the call name mode.
445  * @since_tizen 2.3
446  */
447 typedef enum {
448         TAPI_CALL_NAME_AVAIL = 0,       /**< This identifier refers to presenting the calling party's name identity to the called party */
449         TAPI_CALL_NAME_RESTRICTED = 1,  /**< This identifier refers to restricting the name identity of the calling party from being presented to the called party */
450         TAPI_CALL_NAME_UNAVAIL = 2,     /**< This identifier refers to the unavailability of the calling party's name identity from being offered to the called party */
451         TAPI_CALL_NAME_AVAIL_RESTRICTED = 3     /**< This identifier refers to offering the calling party's name identity to the called party with which the presentation restriction is overridden */
452 } TelCallNameMode_t;
453
454 /**
455  * @brief Enumeration for the "No Cli cause" value.
456  * @since_tizen 2.3
457  */
458 typedef enum {
459         TAPI_CALL_NO_CLI_CAUSE_NONE = -1,               /**< None */
460         TAPI_CALL_NO_CLI_CAUSE_UNAVAILABLE = 0x00,      /**< Unavailable */
461         TAPI_CALL_NO_CLI_CAUSE_REJECTBY_USER = 0x01,    /**< Rejected by User */
462         TAPI_CALL_NO_CLI_CAUSE_INTERACTION_OTHERSERVICES = 0x02,        /**< Other services */
463         TAPI_CALL_NO_CLI_CAUSE_COINLINE_PAYPHONE = 0x03,                /**< Coin line phone */
464 } TelCallNoCliCause_t;
465
466 /**
467  * @brief Enumeration for the "Cli mode" value.
468  * @since_tizen 2.3
469  */
470 typedef enum {
471         TAPI_CALL_PRES_AVAIL,           /**< Presentation Allowed */
472         TAPI_CALL_PRES_RESTRICTED,      /**< Presentation Restricted */
473         TAPI_CALL_NUM_UNAVAIL,          /**< Number Not Available */
474         TAPI_CALL_PRES_DEFAULT,         /**< Presentation Default */
475 } TelCallCliMode_t;
476
477 /**
478  * @brief Enumeration for the the fwded ind type used for MO and Mt from SS Noti Info.
479  * @since_tizen 2.3
480  */
481 typedef enum {
482         TAPI_CALL_OUTGOING_FWDED = 0x00,        /**< Outgoing call forwarded */
483         TAPI_CALL_INCOMMING_FWDED = 0x01,       /**< Incoming call forwarded */
484 } TelCallForwardType_t;
485
486 /**
487  * @brief Enumeration for the voice privacy option mode. (CDMA only)
488  * @since_tizen 2.3
489  */
490 typedef enum {
491         TAPI_CALL_PRIVACY_MODE_STANDARD = 0x00, /**< Standard mode */
492         TAPI_CALL_PRIVACY_MODE_ENHANCED         /**< Enhanced mode */
493 } TelCallPrivacyMode_t;
494
495 /**
496  * @brief Enumeration for the OTASP Status. (CDMA only)
497  * @since_tizen 2.3
498  */
499 typedef enum {
500         TAPI_CALL_OTASP_OK_SPL_UNLOCKED = 0x01, /**< OTASP : SPL unlocked ok */
501         TAPI_CALL_OTASP_OK_AKEY_EXCESS,         /**< OTASP : A-Key excess ok */
502         TAPI_CALL_OTASP_OK_SSD_UPDATE,          /**< OTASP : SSD update ok */
503         TAPI_CALL_OTASP_OK_NAM_DWNLD,           /**< OTASP : NAM download ok */
504         TAPI_CALL_OTASP_OK_MDN_DWNLD,           /**< OTASP : MDN download ok */
505         TAPI_CALL_OTASP_OK_IMSI_DWNLD,          /**< OTASP : IMSI download ok */
506         TAPI_CALL_OTASP_OK_PRL_DWNLD,           /**< OTASP : PRL download ok */
507         TAPI_CALL_OTASP_OK_COMMIT,              /**< OTASP : commit ok */
508         TAPI_CALL_OTASP_OK_PROGRAMMING,         /**< OTASP : programming ok */
509         TAPI_CALL_OTASP_SUCCESS,                /**< OTASP : success */
510         TAPI_CALL_OTASP_UNSUCCESS,              /**< OTASP : unsuccess */
511         TAPI_CALL_OTASP_OK_OTAPA_VERIFY,        /**< OTASP : verify ok */
512         TAPI_CALL_OTASP_PROGRESS,               /**< OTASP : progress */
513         TAPI_CALL_OTASP_FAILURES_EXCESS_SPC,    /**< OTASP : SPC excess failure */
514         TAPI_CALL_OTASP_LOCK_CODE_PW_SET,       /**< OTASP : lock code password set */
515 } TelCallOtaspStatus_t;
516
517 /**
518  * @brief Enumeration for the OTAPA Status. (CDMA only)
519  * @since_tizen 2.3
520  */
521 typedef enum {
522         TAPI_CALL_OTAPA_STOP = 0x00,    /**< OTAPA : stop */
523         TAPI_CALL_OTAPA_START,          /**< OTAPA : start */
524 } TelCallOtapaStatus_t;
525
526 /**
527  * @brief Enumeration for the Alert Signal Type. (CDMA only)
528  * @since_tizen 2.3
529  */
530 typedef enum {
531         TAPI_CALL_SIGNAL_TYPE_TONE = 0x00, /**< Tone */
532         TAPI_CALL_SIGNAL_TYPE_ISDN_ALERTING, /**< ISDN Alerting */
533         TAPI_CALL_SIGNAL_TYPE_IS54B_ALERTING, /**< IS54B Alerting */
534         TAPI_CALL_SIGNAL_TYPE_RESERVED /** Reserved */
535 } TelCallAlertSignalType_t;
536
537 /**
538  * @brief Enumeration for the Alert Pitch Type. (CDMA only)
539  * @since_tizen 2.3
540  */
541 typedef enum {
542         TAPI_CALL_ALERT_PITCH_MED = 0x00, /**< Alert Pitch Med */
543         TAPI_CALL_ALERT_PITCH_HIGH, /**< Alert Pitch High */
544         TAPI_CALL_ALERT_PITCH_LOW, /**< Alert Pitch Low */
545         TAPI_CALL_ALERT_PITCH_RESERVED /**< Reserved */
546 } TelCallAlertPitchType_t;
547
548 /**
549  * @brief Enumeration for the signals specific to the alert signal type TAPI_CALL_SIGNAL_TYPE_TONE. (CDMA only)
550  * @since_tizen 2.3
551  */
552 typedef enum {
553         TAPI_CALL_SIGNAL_TONE_DIAL = 0x00, /**< Dial */
554         TAPI_CALL_SIGNAL_TONE_RINGBACK_TONE_ON, /**< Ringback Tone ON */
555         TAPI_CALL_SIGNAL_TONE_INTERCEPT_TONE_ON, /**< Intercept Tone ON */
556         TAPI_CALL_SIGNAL_TONE_ABBREV_TONE, /**< Abbreviation Tone */
557         TAPI_CALL_SIGNAL_TONE_NETWORK_CONGESTION_TONE_ON, /**< Network Congestion Tone ON */
558         TAPI_CALL_SIGNAL_TONE_ABBREV_NETWORK_CONGESTION, /**< Abbreviation Network Congestion */
559         TAPI_CALL_SIGNAL_TONE_BUSY_TONE_ON, /**< Busy Tone ON */
560         TAPI_CALL_SIGNAL_TONE_CFRM_TONE_ON, /**< CFRM Tone ON */
561         TAPI_CALL_SIGNAL_TONE_ANSWER_TONE_ON, /**< Answer Tone ON */
562         TAPI_CALL_SIGNAL_TONE_CALL_WAITING_TONE_ON, /**< Call Waiting Tone ON */
563         TAPI_CALL_SINGNAL_TONE_PIPE_TONE_ON, /**< Pipe Tone ON */
564         TAPI_CALL_SIGNAL_TONE_OFF /**< Tone OFF */
565 } TelCallToneSignal_t;
566
567 /**
568  * @brief Enumeration for the signals specific to the alert signal type TAPI_CALL_SIGNAL_TYPE_ISDN_ALERTING. (CDMA only)
569  * @since_tizen 2.3
570  */
571 typedef enum {
572         TAPI_CALL_SIGNAL_ISDN_ALERT_NORMAL = 0x00, /**< Normal */
573         TAPI_CALL_SIGNAL_ISDN_ALERT_INTER_GROUP, /**< Inter group */
574         TAPI_CALL_SIGNAL_ISDN_ALERT_SPECIAL_PRIORITY, /**< Special Priority */
575         TAPI_CALL_SIGNAL_ISDN_ALERT_ISDN_RESERVED1, /**< ISDN Reserved1 */
576         TAPI_CALL_SIGNAL_ISDN_ALERT_PING_RING, /**< Ping Ring */
577         TAPI_CALL_SIGNAL_ISDN_ALERT_ISDN_RESERVED2, /**< ISDN Reserved2 */
578         TAPI_CALL_SIGNAL_ISDN_ALERT_ISDN_RESERVED3, /**< ISDN Reserved3 */
579         TAPI_CALL_SIGNAL_ISDN_ALERT_ISDN_RESERVED4, /**< ISDN Reserved4 */
580         TAPI_CALL_SIGNAL_ISDN_ALERT_OFF /**< Alert OFF */
581 } TelCallIsdnAlertSignal_t;
582
583 /**
584  * @brief Enumeration for the signals specific to the alert signal type TAPI_CALL_SIGNAL_TYPE_IS54B_ALERTING. (CDMA only)
585  * @since_tizen 2.3
586  */
587 typedef enum {
588         TAPI_CALL_SIGNAL_IS54B_ALERT_NOTONE = 0x00, /**< No Tone */
589         TAPI_CALL_SIGNAL_IS54B_ALERT_LONG, /**< Long */
590         TAPI_CALL_SIGNAL_IS54B_ALERT_SHORT_SHORT, /**< Short Short */
591         TAPI_CALL_SIGNAL_IS54B_ALERT_SHORT_SHORT_LONG, /**< Short Short Long */
592         TAPI_CALL_SIGNAL_IS54B_ALERT_SHORT_SHORT_2, /**< Short Short 2*/
593         TAPI_CALL_SIGNAL_IS54B_ALERT_SHORT_LONG_SHORT, /**< Short Long Short */
594         TAPI_CALL_SIGNAL_IS54B_ALERT_SHORT_SHORT_SHORT_SHORT, /**< Short Short Short Short */
595         TAPI_CALL_SIGNAL_IS54B_ALERT_PBX_LONG, /**< PBX Long */
596         TAPI_CALL_SIGNAL_IS54B_ALERT_PBX_SHORT_SHORT, /**< PBX(Private Branch Exchange) Short Short */
597         TAPI_CALL_SIGNAL_IS54B_ALERT_PBX_SHORT_SHORT_LONG, /**< PBX Short Short Long */
598         TAPI_CALL_SIGNAL_IS54B_ALERT_PBX_SHORT_LONG_SHORT, /**< PBX Short Long Short */
599         TAPI_CALL_SIGNAL_IS54B_ALERT_PBX_SHORT_SHORT_SHORT_SHORT, /**< PBX Short Short Short Short */
600         TAPI_CALL_SIGNAL_IS54B_ALERT_PIP_PIP_PIP_PIP /**< PIP PIP PIP PIP */
601 } TelCallIs54bAlertSignal_t;
602
603 /**
604  * @brief Enumeration for the emergency category type.
605  * @since_tizen 2.3
606  */
607 typedef enum {
608         TAPI_CALL_ECC_DEFAULT = 0x00,           /**< Default case */
609         TAPI_CALL_ECC_POLICE = 0x01,            /**< Police emergency */
610         TAPI_CALL_ECC_AMBULANCE = 0x02,         /**< Ambulance emergency */
611         TAPI_CALL_ECC_FIREBRIGADE = 0x04,       /**< Firebrigade emergency */
612         TAPI_CALL_ECC_MARINEGUARD = 0x08,       /**< Marineguard emergency */
613         TAPI_CALL_ECC_MOUNTAINRESCUE = 0x10,    /**< Mountain rescue emergency */
614         TAPI_CALL_ECC_MANUAL_ECALL = 0x20,      /**< Manual emergency call */
615         TAPI_CALL_ECC_AUTO_ECALL = 0x40,        /**< Automatic emergency call */
616         TAPI_CALL_ECC_NONE = 0xff,              /**< Unspecified emergency */
617 } TelCallEmergencyCategory_t;
618
619 /**
620  * @brief Enumeration for the offlength to send DTMF.
621  * @since_tizen 2.3
622  */
623 typedef enum {
624         TAPI_CALL_DTMF_OFFLENGTH_60MS, /**< 60 ms */
625         TAPI_CALL_DTMF_OFFLENGTH_100MS, /**< 100 ms */
626         TAPI_CALL_DTMF_OFFLENGTH_150MS, /**< 150 ms */
627         TAPI_CALL_DTMF_OFFLENGTH_200MS, /**< 200 ms */
628 } TelCallDtmfInterDigitInterval_t;
629
630 /**
631  * @brief Enumeration for the onlength to send DTMF.
632  * @since_tizen 2.3
633  */
634 typedef enum {
635         TAPI_CALL_DTMF_ONLENGTH_95MS, /**< 95 ms */
636         TAPI_CALL_DTMF_ONLENGTH_150MS, /**< 150 ms */
637         TAPI_CALL_DTMF_ONLENGTH_200MS, /**< 200 ms */
638         TAPI_CALL_DTMF_ONLENGTH_250MS, /**< 250 ms */
639         TAPI_CALL_DTMF_ONLENGTH_300MS, /**< 300 ms */
640         TAPI_CALL_DTMF_ONLENGTH_350MS, /**< 350 ms */
641         TAPI_CALL_DTMF_ONLENGTH_SMS /**< SMS */
642 } TelCallDtmfPulseWidth_t;
643
644 /**
645  * @brief Enumeration for the Call Record Info Type
646  * @since_tizen 2.3
647  */
648 typedef enum {
649         TAPI_CALL_REC_INFO_TYPE_NAME, /**< Name Type */
650         TAPI_CALL_REC_INFO_TYPE_NUMBER, /**< Number Type */
651         TAPI_CALL_REC_INFO_TYPE_LINE_CTRL,
652 } TelCallRecordInfoType_t;
653
654 /**
655  * @brief Enumeration for call preferred voice subscription.
656  * @since_tizen 2.3
657  */
658 typedef enum {
659         TAPI_CALL_PREFERRED_VOICE_SUBS_UNKNOWN = -1, /**< Unknown status **/
660         TAPI_CALL_PREFERRED_VOICE_SUBS_CURRENT_NETWORK = 0, /**< Current network **/
661         TAPI_CALL_PREFERRED_VOICE_SUBS_ASK_ALWAYS, /**< ASK Always **/
662         TAPI_CALL_PREFERRED_VOICE_SUBS_SIM1, /**< SIM 1 **/
663         TAPI_CALL_PREFERRED_VOICE_SUBS_SIM2 /**< SIM 2 **/
664 } TelCallPreferredVoiceSubs_t;
665
666 /**
667  * @brief The structure type to redirect destination information.
668  * @since_tizen 2.3
669  */
670 typedef struct {
671         unsigned char number[TAPI_CALL_DIAL_NUMBER_LEN_MAX + 1]; /**< Redirect destination number */
672 } TelCallDeflectDstInfo_t;
673
674 /**
675  * @brief The structure type for calling name information.
676  * @since_tizen 2.3
677  */
678 typedef struct {
679         TelCallNameMode_t NameMode;     /**< Display mode of @a szNameData */
680         char szNameData[TAPI_CALLING_NAME_SIZE_MAX];    /**< Calling party name string */
681 } TelCallingNameInfo_t;
682
683 /**
684  * @brief The structure type for information about an outgoing call.
685  * @since_tizen 2.3
686  */
687 typedef struct {
688         TelCallType_t CallType;         /**< Sets type of call (voice, data, video, emergency) */
689         TelCallEmergencyCategory_t Ecc; /**< Emergency Category */
690         char szNumber[TAPI_CALL_DIALDIGIT_LEN_MAX + 1]; /**< A string containing the destination phone number. This follows the dial number format */
691 } TelCallDial_t;
692
693 /**
694  * @brief The structure type for information about call status.
695  * @since_tizen 2.3
696  */
697 typedef struct {
698         int CallHandle; /**< Call Handle */
699         int bMoCall;    /**< Status will be yes for MO Calls. If MT call, then FALSE */
700         char pNumber[TAPI_CALL_DIALDIGIT_LEN_MAX + 1];  /**< Mobile Number */
701         TelCallType_t CallType; /**< Type of call (voice, data, emergency) */
702         TelCallStates_t CallState;      /**< Current Call state */
703         int bConferenceState;   /**< Whether Call is in Conference */
704         int bVolteCall;                                                 /**< Whether Call is volte call */
705 } TelCallStatus_t;
706
707 /**
708  * @brief Called to get the call status.
709  * @since_tizen 2.3
710  */
711 typedef void (*TelCallStatusCallback)(TelCallStatus_t *out, void *user_data);
712
713 /**
714  * @brief The structure type for incoming call information.
715  * @since_tizen 2.3
716  */
717 typedef struct {
718         unsigned int CallHandle; /**< At the Foundation API Level, call handle indicates the handle of the call for the application. At the Framework API Level, call handle indicates the call identifier used for a call by the OEM Adaptation Layer Plug-in */
719         TelCallType_t CallType; /**< Call type */
720         char szCallingPartyNumber[TAPI_CALL_DIALDIGIT_LEN_MAX + 1]; /**< Caller number, null terminated ASCII */
721         TelCallingNameInfo_t CallingNameInfo; /**< Call name info. If there is no information from the network, this information will be @c NULL */
722         TelCallCliMode_t CliMode; /**< CLI mode */
723         TelCallNoCliCause_t CliCause; /**< No CLI cause */
724         int fwded; /**< True or false. If the incoming call is a forwarded call, then @c true else @c false */
725         TelCallActiveLine_t ActiveLine; /**< Current Active Line */
726 } TelCallIncomingCallInfo_t;
727
728 /**
729  * @brief The structure type for the connected number information.
730  * @since_tizen 2.3
731  */
732 typedef struct {
733         TelCallCliMode_t CliMode;       /**< CLI mode */
734         TelCallNoCliCause_t no_cli_cause;       /**< Cause when no CLI number */
735         unsigned char dcs;              /**< DCS */
736         unsigned char number_type;      /**< Number type */
737         TelCallNameMode_t name_mode;    /**< Display mode of the name */
738         char number[TAPI_CALL_DIALDIGIT_LEN_MAX + 1];           /**< Caller number, null terminated ASCII */
739         char sub_address[TAPI_CALL_SUBADDRESS_LEN_MAX + 1];     /**< Called sub-address, null terminated ASCII */
740 } TelCallConnectedNumberInfo_t;
741
742 /**
743  * @brief The structure type for information about display record in CDMA.
744  * @since_tizen 2.3
745  */
746 typedef struct {
747         unsigned char Record[TAPI_CALL_DISPLAY_RECORD_MAX + 1]; /**< Display record */
748 } TelCallDisplayRecordInfo_t;
749
750 /**
751  * @brief The structure type for information about burst DTMF in CDMA.
752  * @since_tizen 2.3
753  */
754 typedef struct {
755         char dtmf_string[TAPI_CALL_BURST_DTMF_STRING_MAX + 1]; /** Burst DTMF string NULL terminated */
756         TelCallDtmfPulseWidth_t pulse_width; /**< DTMF Pulse Width */
757         TelCallDtmfInterDigitInterval_t inter_digit_interval; /**< DTMF Inter Digit Interval */
758 } TelCallBurstDtmf_t;
759
760 /**
761  * @brief Structure type for the information about records in CDMA.
762  * @since_tizen 2.4
763  */
764
765 typedef struct {
766         unsigned char polarity_included;
767         unsigned char toggle_mode;
768         unsigned char reverse_polarity;
769         unsigned char power_denial_time;
770 }TelCallRecordLineCtrlInfo_t;
771
772 /**
773  * @brief Structure type for the information about records in CDMA.
774  * @since_tizen 2.3
775  */
776 typedef struct {
777         unsigned int id;        /**< Call id */
778         TelCallRecordInfoType_t type;
779         union {
780                 char name[TAPI_CALLING_NAME_SIZE_MAX + 1]; /**< name record */
781                 char number[TAPI_CALL_DIAL_NUMBER_LEN_MAX + 1]; /**< number record */
782                 TelCallRecordLineCtrlInfo_t line_ctrl_info;
783         } data;
784 } TelCallRecordInfo_t;
785
786 /**
787  * @brief Enumeration for call sound volume level.
788  * @since_tizen 2.3
789  */
790 typedef enum {
791         TAPI_SOUND_MUTE = 0x00,         /**< Sound is mute */
792         TAPI_SOUND_VOLUME_LEVEL_1 = 0x01,       /**< Volume level is 1 */
793         TAPI_SOUND_VOLUME_LEVEL_2 = 0x02,       /**< Volume level is 2 */
794         TAPI_SOUND_VOLUME_LEVEL_3 = 0x03,       /**< Volume level is 3 */
795         TAPI_SOUND_VOLUME_LEVEL_4 = 0x04,       /**< Volume level is 4 */
796         TAPI_SOUND_VOLUME_LEVEL_5 = 0x05,       /**< Volume level is 5 */
797         TAPI_SOUND_VOLUME_LEVEL_6 = 0x06,       /**< Volume level is 6 */
798         TAPI_SOUND_VOLUME_LEVEL_7 = 0x07,       /**< Volume level is 7 */
799         TAPI_SOUND_VOLUME_LEVEL_8 = 0x08,       /**< Volume level is 8 */
800         TAPI_SOUND_VOLUME_LEVEL_9 = 0x09        /**< Volume level is 9 */
801 } TelSoundVolume_t;
802
803 /**
804  * @brief Enumeration for call sound device type.
805  * @since_tizen 2.3
806  */
807 typedef enum {
808         TAPI_SOUND_DEVICE_RECEIVER = 0x00,      /**< Device type Receiver */
809         TAPI_SOUND_DEVICE_SPEAKER_PHONE = 0x10, /**< Device type Speaker */
810         TAPI_SOUND_DEVICE_HFK = 0x20,           /**< Device type Handsfree */
811         TAPI_SOUND_DEVICE_HEADSET = 0x30,       /**< Device type HeadSet */
812         TAPI_SOUND_DEVICE_BLUETOOTH = 0x40,     /**< Device type Bluetooth */
813         TAPI_SOUND_DEVICE_EC = 0xA0,            /**< Device type external*/
814 } TelSoundDevice_t;
815
816 /**
817  * @brief Enumeration for call sound type.
818  * @since_tizen 2.3
819  */
820 typedef enum {
821         TAPI_SOUND_TYPE_VOICE = 0x01,   /**< Call Sound type voice */
822         TAPI_SOUND_TYPE_KEYTONE = 0x02, /**< Call Sound type keytone */
823         TAPI_SOUND_TYPE_BELL = 0x03,    /**< Call Sound type bell */
824         TAPI_SOUND_TYPE_MESSAGE = 0x04, /**< Call Sound type message */
825         TAPI_SOUND_TYPE_ALARM = 0x05,   /**< Call Sound type alarm */
826         TAPI_SOUND_TYPE_PDA_MISC = 0x06, /**< Call Sound type PDA miscellaneous */
827 } TelSoundType_t;
828
829 /**
830  * @brief The structure type for call volume info.
831  * @since_tizen 2.3
832  */
833 typedef struct {
834         TelSoundDevice_t device;        /**< Call Sound device info structure */
835         TelSoundType_t type;            /**< Call Sound type info structure */
836         TelSoundVolume_t volume;        /**< Call Sound volume info structure */
837 } TelCallVolumeInfo_t;
838
839 /**
840  * @brief Enumeration for call sound path.
841  * @since_tizen 2.3
842  */
843 typedef enum {
844         TAPI_SOUND_PATH_HANDSET = 0x01, /**< Audio path is handset */
845         TAPI_SOUND_PATH_HEADSET = 0x02, /**< Audio path is handset */
846         TAPI_SOUND_PATH_HANDSFREE = 0x03, /**< Audio path is Handsfree */
847         TAPI_SOUND_PATH_BLUETOOTH = 0x04, /**< Audio path is bluetooth */
848         TAPI_SOUND_PATH_STEREO_BLUETOOTH = 0x05, /**< Audio path is stereo bluetooth */
849         TAPI_SOUND_PATH_SPK_PHONE = 0x06, /**< Audio path is speaker phone */
850         TAPI_SOUND_PATH_HEADSET_3_5PI = 0x07, /**< Audio path is headset_3_5PI */
851         TAPI_SOUND_PATH_BT_NSEC_OFF = 0x08, /**< Audio path Bluetooth NSEC is off */
852         TAPI_SOUND_PATH_MIC1 = 0x09, /**< Audio path Mic one */
853         TAPI_SOUND_PATH_MIC2 = 0x0A, /**< Audio path Bluetooth Mic two */
854         TAPI_SOUND_PATH_BLUETOOTH_WB = 0x0B, /**< Audio path is Bluetooth WB */
855         TAPI_SOUND_PATH_BLUETOOTH_WB_NO_NR = 0x0C, /**< Audio path is BT nsec off WB */
856         TAPI_SOUND_PATH_HEADSET_HAC = 0x0D, /**< Audio path is headset HAC */
857         TAPI_SOUND_PATH_BIKEMODE_NEAR = 0x17, /**< Audio path is Bikemode Near*/
858         TAPI_SOUND_PATH_BIKEMODE_FAR = 0x18, /**< Audio path is Bikemode Far*/
859         TAPI_SOUND_PATH_VOLTE_HANDSET = 0x1F, /**< Audio path is VoLTE handset*/
860         TAPI_SOUND_PATH_VOLTE_HEADSET = 0x20, /**< Audio path is VoLTE headset*/
861         TAPI_SOUND_PATH_VOLTE_SPEAKER = 0x21, /**< Audio path is VoLTE Handsfree*/
862         TAPI_SOUND_PATH_VOLTE_BLUETOOTH = 0x22, /**< Audio path is VoLTE bluetooth */
863         TAPI_SOUND_PATH_VOLTE_STEREO_BT = 0x23, /**< Audio path is VoLTE stereo bluetooth*/
864         TAPI_SOUND_PATH_VOLTE_HEADPHONE = 0x24, /**< Audio path is VoLTE speaker phone*/
865         TAPI_SOUND_PATH_VOLTE_HEADSET_3_5PI = 0x25, /**< Audio path is VoLTE headset_3_5PI */
866         TAPI_SOUND_PATH_VOLTE_BT_NSEC_OFF = 0x26, /**< Audio path VoLTE Bluetooth NSEC is off */
867         TAPI_SOUND_PATH_VOLTE_BLUETOOTH_WB = 0x27, /**< Audio path is VoLTE Bluetooth WB */
868         TAPI_SOUND_PATH_VOLTE_BLUETOOTH_WB_NO_NR = 0x28, /**< Audio path is VoLTE BT nsec off WB */
869         TAPI_SOUND_PATH_VOLTE_HANDSET_HAC = 0x29, /**< Audio path is VoLTE handset HAC */
870         TAPI_SOUND_PATH_CALL_FWD = 0x32, /**< Audio path is call forwarding */
871         TAPI_SOUND_PATH_HEADSET_MIC1 = 0x33, /**< Audio path is Loopback Mic1+Ear */
872         TAPI_SOUND_PATH_HEADSET_MIC2 = 0x34, /**< Audio path is Loopback Mic2+Ear */
873         TAPI_SOUND_PATH_HEADSET_MIC3 = 0x35, /**< Audio path is Loopback Mic3+Ear */
874 } TelSoundPath_t;
875
876 /**
877  * @brief The structure type for call sound path.
878  * @since_tizen 2.3
879  */
880 typedef struct {
881         TelSoundPath_t path;    /**< Sound Path */
882         enum ExtraVolumeStatus {
883                 TAPI_SOUND_EX_VOLUME_OFF,       /**< Extra Volume OFF */
884                 TAPI_SOUND_EX_VOLUME_ON,        /**< Extra volume ON */
885         } ex_volume;
886 } TelCallSoundPathInfo_t;
887
888 /**
889  * @brief Enumeration for call sound mute path.
890  * @since_tizen 2.3
891  */
892 typedef enum {
893         TAPI_SOUND_MUTE_PATH_TX = 0x00, /**< Sound mute path transmit */
894         TAPI_SOUND_MUTE_PATH_RX = 0x02, /**< Sound mute path receiver */
895         TAPI_SOUND_MUTE_PATH_ALL = 0x04, /**< Sound mute path all */
896 } TelSoundMutePath_t;
897
898 /**
899  * @brief Enumeration for call sound mute status.
900  * @since_tizen 2.3
901  */
902 typedef enum {
903         TAPI_SOUND_MUTE_STATUS_OFF = 0x00, /**< Sound mute status off */
904         TAPI_SOUND_MUTE_STATUS_ON = 0x01, /**< Sound mute status on */
905 } TelSoundMuteStatus_t;
906
907 /**
908  * @brief Enumeration for call sound noise reduction.
909  * @since_tizen 2.3
910  */
911 typedef enum {
912         TAPI_SOUND_NOISE_REDUCTION_OFF, /**< Sound noise reduction off */
913         TAPI_SOUND_NOISE_REDUCTION_ON, /**< Sound noise reduction on */
914 } TelSoundNoiseReduction_t;
915
916 /**
917  * @brief The structure type for call answer response data.
918  * @since_tizen 2.3
919  * @see tel_answer_call()
920  */
921 typedef struct {
922         unsigned int id;        /**< ID */
923 } TelCallAnswerCnf_t;
924
925 /**
926  * @brief The structure type for call end response data.
927  * @since_tizen 2.3
928  * @see tel_end_call()
929  */
930 typedef struct {
931         TelCallEndType_t type;  /**< End Type */
932         unsigned int id;        /**< ID */
933 } TelCallEndCnf_t;
934
935 /**
936  * @brief The structure type for call hold response data.
937  * @since_tizen 2.3
938  * @see tel_hold_call()
939  */
940 typedef struct {
941         unsigned int id;        /**< ID */
942 } TelCallHoldCnf_t;
943
944 /**
945  * @brief The structure type for call active response data.
946  * @since_tizen 2.3
947  * @see tel_active_call()
948  */
949 typedef struct {
950         unsigned int id;        /**< ID */
951 } TelCallActiveCnf_t;
952
953 /**
954  * @brief The structure type for call swap response data.
955  * @since_tizen 2.3
956  * @see tel_swap_call()
957  */
958 typedef struct {
959         unsigned int id;        /**< ID */
960 } TelCallSwapCnf_t;
961
962 /**
963  * @brief The structure type for call join response data.
964  * @since_tizen 2.3
965  * @see tel_join_call()
966  */
967 typedef struct {
968         unsigned int id;        /**< ID */
969 } TelCallJoinCnf_t;
970
971 /**
972  * @brief The structure type for call split response data.
973  * @since_tizen 2.3
974  * @see tel_split_call()
975  */
976 typedef struct {
977         unsigned int id;        /**< ID */
978 } TelCallSplitCnf_t;
979
980 /**
981  * @brief The structure type for call transfer response data.
982  * @since_tizen 2.3
983  * @see tel_transfer_call()
984  */
985 typedef struct {
986         unsigned int id;        /**< ID */
987 } TelCallTransferCnf_t;
988
989 /**
990  * @brief The structure type for call volume info response data.
991  * @since_tizen 2.3
992  * @see tel_get_call_volume_info()
993  */
994 typedef struct {
995         unsigned int record_num;        /**< Record Number */
996         TelCallVolumeInfo_t record[20]; /**< Volume Info Record */
997 } TelCallGetVolumeInfoResp_t;
998
999 /**
1000  * @brief The structure type for call mute status response data.
1001  * @since_tizen 2.3
1002  * @see tel_get_call_mute_status()
1003  */
1004 typedef struct {
1005         TelSoundMutePath_t path;        /**< Mute Path */
1006         TelSoundMuteStatus_t status;    /**< Mute Status */
1007 } TelCallGetMuteStatusResp_t;
1008
1009 /**
1010  * @brief The structure type for call privacy mode response data.
1011  * @since_tizen 2.3
1012  * @see tel_get_call_privacy_mode()
1013  */
1014 typedef struct {
1015         TelCallPrivacyMode_t mode; /**< Privacy Mode */
1016 } TelCallGetPrivacyModeResp_t;
1017
1018 /**
1019  * @brief The structure type for call idle status notification data.
1020  * @since_tizen 2.3
1021  */
1022 typedef struct {
1023         unsigned int id;        /**< ID */
1024         TelTapiEndCause_t cause; /**< End cause for the call indicates whether the call is released normally or due to some other cause */
1025 } TelCallStatusIdleNoti_t;
1026
1027 /**
1028  * @brief The structure type for call active status notification data.
1029  * @since_tizen 2.3
1030  */
1031 typedef struct {
1032         unsigned int id;        /**< ID */
1033 } TelCallStatusActiveNoti_t;
1034
1035 /**
1036  * @brief The structure type for call held status notification data.
1037  * @since_tizen 2.3
1038  */
1039 typedef struct {
1040         unsigned int id;        /**< ID */
1041 } TelCallStatusHeldNoti_t;
1042
1043 /**
1044  * @brief The structure type for call dialing status notification data.
1045  * @since_tizen 2.3
1046  */
1047 typedef struct {
1048         unsigned int id;        /**< ID */
1049 } TelCallStatusDialingNoti_t;
1050
1051 /**
1052  * @brief The structure type for call alert status notification data.
1053  * @since_tizen 2.3
1054  */
1055 typedef struct {
1056         unsigned int id;        /**< ID */
1057 } TelCallStatusAlertNoti_t;
1058
1059 /**
1060  * @brief The structure type for call incoming status notification data.
1061  * @since_tizen 2.3
1062  */
1063 typedef struct {
1064         unsigned int id;        /**< ID */
1065 } TelCallStatusIncomingNoti_t;
1066
1067 /**
1068  * @brief The structure type for call waiting status notification data.
1069  * @since_tizen 2.3
1070  */
1071 typedef struct {
1072         unsigned int id;        /**< ID */
1073 } TelCallStatusWaitingNoti_t;
1074
1075 /**
1076  * @brief The structure type for call waiting info notification data.
1077  * @since_tizen 2.3
1078  * @see #TAPI_NOTI_CALL_INFO_WAITING
1079  */
1080 typedef struct {
1081         unsigned int id;        /**< ID */
1082 } TelCallInfoWaitingNoti_t;
1083
1084 /**
1085  * @brief The structure type for call forward info notification data.
1086  * @since_tizen 2.3
1087  * @see #TAPI_NOTI_CALL_INFO_FORWARDED
1088  */
1089 typedef struct {
1090         unsigned int id;        /**< ID */
1091 } TelCallInfoForwardedNoti_t;
1092
1093 /**
1094  * @brief The structure type for call forwarded info notification data.
1095  * @since_tizen 2.3
1096  * @see #TAPI_NOTI_CALL_INFO_FORWARDED_CALL
1097  */
1098 typedef struct {
1099         unsigned int id;        /**< ID */
1100 } TelCallInfoForwardedCallNoti_t;
1101
1102 /**
1103  * @brief The structure type for call barred incoming notification data.
1104  * @since_tizen 2.3
1105  * @see #TAPI_NOTI_CALL_INFO_BARRED_INCOMING
1106  */
1107 typedef struct {
1108         unsigned int id;        /**< ID */
1109 } TelCallInfoBarredIncomingNoti_t;
1110
1111 /**
1112  * @brief The structure type for call barred outgoing notification data.
1113  * @since_tizen 2.3
1114  * @see #TAPI_NOTI_CALL_INFO_BARRED_OUTGOING
1115  */
1116 typedef struct {
1117         unsigned int id;        /**< ID */
1118 } TelCallInfoBarredOutgoingNoti_t;
1119
1120 /**
1121  * @brief The structure type for call forward conditional notification data.
1122  * @since_tizen 2.3
1123  * @see #TAPI_NOTI_CALL_INFO_FORWARD_CONDITIONAL
1124  */
1125 typedef struct {
1126         unsigned int id;        /**< ID */
1127 } TelCallInfoForwardConditionalNoti_t;
1128
1129 /**
1130  * @brief The structure type for call forward unconditional notification data.
1131  * @since_tizen 2.3
1132  * @see #TAPI_NOTI_CALL_INFO_FORWARD_UNCONDITIONAL
1133  */
1134 typedef struct {
1135         unsigned int id;        /**< ID */
1136 } TelCallInfoForwardUnconditionalNoti_t;
1137
1138 /**
1139  * @brief The structure type for call active info notification data.
1140  * @since_tizen 2.3
1141  * @see #TAPI_NOTI_CALL_INFO_ACTIVE
1142  */
1143 typedef struct {
1144         unsigned int id;        /**< ID */
1145 } TelCallInfoActiveNoti_t;
1146
1147 /**
1148  * @brief The structure type for call held info notification data.
1149  * @since_tizen 2.3
1150  * @see #TAPI_NOTI_CALL_INFO_HELD
1151  */
1152 typedef struct {
1153         unsigned int id;        /**< ID */
1154 } TelCallInfoHeldNoti_t;
1155
1156 /**
1157  * @brief The structure type for call joined info notification data.
1158  * @since_tizen 2.3
1159  * @see #TAPI_NOTI_CALL_INFO_JOINED
1160  */
1161 typedef struct {
1162         unsigned int id;        /**< ID */
1163 } TelCallInfoJoinedNoti_t;
1164
1165 /**
1166  * @brief The structure type for OTASP status notification data. (CDMA only)
1167  * @since_tizen 2.3
1168  * @see #TAPI_NOTI_CALL_OTASP_STATUS
1169  */
1170 typedef struct {
1171         TelCallOtaspStatus_t otasp_status; /**< OTASP Status */
1172 } TelCallOtaspStatusNoti_t;
1173
1174 /**
1175  * @brief The structure type for OTAPA status notification data. (CDMA only)
1176  * @since_tizen 2.3
1177  * @see #TAPI_NOTI_CALL_OTAPA_STATUS
1178  */
1179 typedef struct {
1180         TelCallOtapaStatus_t otapa_status; /**< OTAPA Status */
1181 } TelCallOtapaStatusNoti_t;
1182
1183 /**
1184  * @brief The structure type for voice privacy notification data. (CDMA only)
1185  * @since_tizen 2.3
1186  * @see #TAPI_NOTI_CALL_PRIVACY_MODE
1187  */
1188 typedef struct {
1189         TelCallPrivacyMode_t privacy_mode; /**< Voice Privacy Mode */
1190 } TelCallVoicePrivacyNoti_t;
1191
1192 /**
1193  * @brief The structure type for call record info notification data. (CDMA only)
1194  * @since_tizen 2.3
1195  * @see #TAPI_NOTI_CALL_INFO_REC
1196  */
1197 typedef struct {
1198         TelCallRecordInfo_t info; /**< Record Info */
1199 } TelCallRecordInfoNoti_t;
1200
1201 /**
1202  * @brief The structure type for signal info notification data. (CDMA only)
1203  * @since_tizen 2.3
1204  * @see #TAPI_NOTI_CALL_SIGNAL_INFO
1205  */
1206 typedef struct {
1207         TelCallAlertSignalType_t signal_type; /**< Signal Type */
1208         TelCallAlertPitchType_t pitch_type; /**< Pitch Type */
1209         union {
1210                 TelCallToneSignal_t sig_tone_type; /**< Signal Tone Type */
1211                 TelCallIsdnAlertSignal_t sig_isdn_alert_type; /**< Signal ISDN Alert Type */
1212                 TelCallIs54bAlertSignal_t sig_is54b_alert_type; /**< Signal IS54B Alert Type */
1213         } signal;
1214 } TelCallSignalInfoNoti_t;
1215
1216 /**
1217  * @brief The structure type for call sound path notification data.
1218  * @since_tizen 2.3
1219  * @see #TAPI_NOTI_CALL_SOUND_PATH
1220  */
1221 typedef struct {
1222         TelSoundPath_t path;    /**< Sound Path */
1223 } TelCallSoundPathNoti_t;
1224
1225 /**
1226  * @brief Enumeration for call sound ringback tone notification data.
1227  * @since_tizen 2.3
1228  * @see #TAPI_NOTI_CALL_SOUND_RINGBACK_TONE
1229  */
1230 typedef enum {
1231         TAPI_CALL_SOUND_RINGBACK_TONE_END,      /**< Ringback Tone End */
1232         TAPI_CALL_SOUND_RINGBACK_TONE_START,    /**< Ringback Tone Start */
1233 } TelCallSoundRingbackToneNoti_t;
1234
1235 /**
1236  * @brief Enumeration for call sound WBAMR notification data.
1237  * @since_tizen 2.3
1238  * @see #TAPI_NOTI_CALL_SOUND_WBAMR
1239  */
1240 typedef enum {
1241         TAPI_CALL_SOUND_WBAMR_STATUS_OFF,       /**< Status OFF */
1242         TAPI_CALL_SOUND_WBAMR_STATUS_ON,        /**< Status ON */
1243         TAPI_CALL_SOUND_WBAMR_STATUS_OFF_16K,   /**< Status OFF 16k */
1244         TAPI_CALL_SOUND_WBAMR_STATUS_ON_8K,     /**< Status ON 8k */
1245 } TelCallSoundWbamrNoti_t;
1246
1247 /**
1248  * @brief Enumeration for specifying type for call upgrade/downgrade.
1249  * @since_tizen 2.4.0.3
1250  */
1251 enum TelCallConfigType {
1252         TAPI_CALL_CONFIG_TYPE_INVALID = -1, /**< Call type is Invalid */
1253
1254         /** AUDIO */
1255         TAPI_CALL_CONFIG_TYPE_AUDIO = 2, /**< Call type is Audio */
1256
1257         /** VIDEO */
1258         TAPI_CALL_CONFIG_TYPE_VIDEO_SHARE_TX = 3, /**< Call type is Video Share TX */
1259         TAPI_CALL_CONFIG_TYPE_VIDEO_SHARE_RX = 4, /**< Call type is Video Share RX */
1260         TAPI_CALL_CONFIG_TYPE_INBOUND_ONLY_VIDEO_CALL  = 5, /**< Call type is Inbound Video Call */
1261         TAPI_CALL_CONFIG_TYPE_HDVIDEO = 6, /**< Call type is HD Video */
1262         TAPI_CALL_CONFIG_TYPE_VIDEO_CONFERENCE = 7, /**< Call type is Video Conference */
1263         TAPI_CALL_CONFIG_TYPE_QCIFVIDEO_CONFERENCE = 8, /**< Call type is QCIF Video Conference */
1264         TAPI_CALL_CONFIG_TYPE_QVGAVIDEO = 9, /**< Call type is QVGA */
1265         TAPI_CALL_CONFIG_TYPE_QCIFVIDEO = 10, /**< Call type is QCIF Video */
1266
1267         /** TTY   */
1268         TAPI_CALL_CONFIG_TYPE_TTY_FULL = 11, /**< Call type is tty Full */
1269         TAPI_CALL_CONFIG_TYPE_TTY_HCO = 12, /**< Call type is tty HCO */
1270         TAPI_CALL_CONFIG_TYPE_TTY_VCO = 13, /**< Call type is tty VCO */
1271         TAPI_CALL_CONFIG_TYPE_USSD = 14, /**< Call type USSD */
1272
1273         /** for Korea Market */
1274         TAPI_CALL_CONFIG_TYPE_HDVIDEO_LAND = 15, /**< Call type is HDVideo Land */
1275
1276         /** E911  */
1277         TAPI_CALL_CONFIG_TYPE_E911 = 20, /**< Call type is E911 - Emergency Call */
1278
1279         /* AUDIO conference */
1280         TAPI_CALL_CONFIG_TYPE_AUDIO_CONFERENCE = 21, /**< Call type is Audio conference */
1281
1282         /** E911 Video */
1283         TAPI_CALL_CONFIG_TYPE_E911_VIDEO = 22, /**< Call type is E911 Emergency video call */
1284         TAPI_CALL_CONFIG_TYPE_E911_VIDEO_HD = 23, /**< Call type is E911 Emergency video call HD */
1285         TAPI_CALL_CONFIG_TYPE_E911_VIDEO_HD_LAND = 24, /**< Call type is E911 Emergency video call HD Land */
1286         TAPI_CALL_CONFIG_TYPE_E911_VIDEO_LAND = 25, /**< Call type is E911 Emergency video call Land */
1287         TAPI_CALL_CONFIG_TYPE_E911_VIDEO_HD_QVGA_LAND = 26, /**< Call type is E911 Emergency video call HD QVGA Land */
1288
1289         /** VIDEO */
1290         TAPI_CALL_CONFIG_TYPE_CIFVIDEO = 27, /**< Call type is CIF Video Call */
1291         TAPI_CALL_CONFIG_TYPE_HD720VIDEO = 28, /**< Call type is HD 720 video call */
1292         TAPI_CALL_CONFIG_TYPE_VIDEO_HOLD = 29, /**< Call type is E911 video hold call */
1293         TAPI_CALL_CONFIG_TYPE_SWITCH_VOIP_TO_VT_INPROGRESS = 30 /**< Call type is switch VOIP to VT call */
1294 };
1295
1296 /**
1297  * @brief Enumeration type for call upgrade.
1298  * @since_tizen 2.4.0.3
1299  */
1300 typedef enum TelCallConfigType TelCallUpgradeType_t;
1301
1302 /**
1303  * @brief Enumeration type for call downgrade.
1304  * @since_tizen 2.4.0.3
1305  */
1306 typedef enum TelCallConfigType TelCallDowngradeType_t;
1307
1308 /**
1309  * @brief The structure type for call sound noise reduction notification data.
1310  * @since_tizen 2.3
1311  * @see #TAPI_NOTI_CALL_SOUND_NOISE_REDUCTION
1312  */
1313 typedef struct {
1314         TelSoundNoiseReduction_t status;        /**< Noise Reduction Status */
1315 } TelCallSoundNoiseReductionNoti_t;
1316
1317 /**
1318  * @brief The structure type for preferred voice subscription.
1319  * @since_tizen 2.3
1320  * @see #TAPI_NOTI_CALL_PREFERRED_VOICE_SUBSCRIPTION
1321  */
1322 typedef struct {
1323         TelCallPreferredVoiceSubs_t preferred_subs; /**< Preferred Voice Subscription */
1324 } TelCallPreferredVoiceSubsNoti_t;
1325
1326 /**
1327  * @brief The structure type for call modification(upgrade/downgrade) of VoLTE call
1328  * @since_tizen 2.4
1329  * @see #TAPI_NOTI_CALL_INFO_MODIFIABLE
1330  */
1331 typedef struct {
1332         int call_handle; /**< call handle*/
1333         int modifiable; /*can modify this call*/
1334 } TelCallInfoModifiableNoti_t;
1335
1336 /**
1337  * @brief The structure type for call upgrade request of VoLTE call
1338  * @since_tizen 2.4
1339  * @see #TAPI_NOTI_CALL_REQUEST_UPGRADE
1340  */
1341 typedef struct {
1342         int call_handle; /**< call handle*/
1343         TelCallUpgradeType_t upgrade_type; /**<  Upgrade config */
1344 } TelCallUpgradeRequestNoti_t;
1345
1346 /**
1347  * @brief The structure type for call downgrade request of VoLTE call
1348  * @since_tizen 2.4
1349  * @see #TAPI_NOTI_CALL_REQUEST_DOWNGRADE
1350  */
1351 typedef struct {
1352         int call_handle; /**< call handle*/
1353         TelCallDowngradeType_t downgrade_type; /**<  Downgrade config */
1354 } TelCallDowngradedNoti_t;
1355
1356
1357 #ifdef __cplusplus
1358 }
1359 #endif
1360
1361 #endif /* _TEL_CALL_H_ */
1362
1363 /**
1364  * @}
1365  */