Initial refactoring merge
[platform/core/telephony/libtapi.git] / include / common / tel_call.h
1 /*
2  * tel-headers
3  *
4  * Copyright (c) 2013 Samsung Electronics Co. Ltd. All rights reserved.
5  * Copyright (c) 2013 Intel Corporation. All rights reserved.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19
20 #ifndef __TEL_CALL_H__
21 #define __TEL_CALL_H__
22
23 #include <glib.h>
24 #include <tel_if.h>
25
26 /**
27 *  @addtogroup TAPI_CALL
28 *  @{
29 *
30 *  @file tel_call.h
31 *  @brief TAPI Call Interface
32 */
33
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37
38 #define TELEPHONY_CALL_INTERFACE TELEPHONY_SERVICE".Call"
39
40 #define TEL_CALL_CALLING_NAME_LEN_MAX           82      /**< The maximum length of the string for calling party name.   */
41 #define TEL_CALL_CALLING_NUMBER_LEN_MAX         82      /**< Maximum Dialling Digit Length  */
42 #define TEL_CALL_MAX_CALLS_COUNT                6                       /**< Maximum number of call can be possible at a time */
43 #define TEL_CALL_MAX_SOUND_EQ_PARAMETER_SIZE    6       /**< Maximum number of sound equalization parameter size */
44 #define TEL_CALL_MAX_VOLUME_INFO_RECORD         20      /**< Maximum number of record for volume information */
45
46 /**
47  * @enum TelCallResult
48  * Response (Return) values.
49  */
50 typedef enum {
51         TEL_CALL_RESULT_SUCCESS,                                                /**< Operation completed successfully */
52         TEL_CALL_RESULT_FAILURE,                                                /**< Operation Failed */
53         TEL_CALL_RESULT_INVALID_PARAMETER,                      /**< Invalid input parameters */
54         TEL_CALL_RESULT_MEMORY_FAILURE,                         /**< Memory allocation failed */
55         TEL_CALL_RESULT_OPERATION_NOT_SUPPORTED,        /**< Operation not supported */
56         TEL_CALL_RESULT_FDN_RESTRICTED,                         /**< FDN calls only */
57         TEL_CALL_RESULT_NETWORK_BUSY,                           /**< Network busy */
58         TEL_CALL_RESULT_SERVICE_NOT_ALLOWED,            /**< Service is not allowed */
59         TEL_CALL_RESULT_OPERATION_NOT_PERMITTED /**< Operation not permitted */
60 } TelCallResult;
61
62 /**
63  * @enum TelCallEndCause
64  * Call End Cause.
65  */
66 typedef enum {
67         TEL_CALL_END_CAUSE_NONE,                                                        /**< No Cause */
68         TEL_CALL_END_CAUSE_FAILED,                                              /**< Call failed */
69         TEL_CALL_END_CAUSE_UNASSIGNED_NUMBER,                   /**< Unassigned Number */
70         TEL_CALL_END_CAUSE_NO_ROUTE_TO_DEST,                    /**< No Route to Destination */
71         TEL_CALL_END_CAUSE_OPERATOR_DETERMINED_BARRING, /**< Operator Determined Barring */
72         TEL_CALL_END_CAUSE_NORMAL_CALL_CLEARING,                /**< Normal Call Clearing */
73         TEL_CALL_END_CAUSE_USER_BUSY,                                   /**< User Busy */
74         TEL_CALL_END_CAUSE_NO_USER_RESPONDING,          /**< No user Responding */
75         TEL_CALL_END_CAUSE_USER_ALERTING_NO_ANSWER,             /**< User Alerting no Answer */
76         TEL_CALL_END_CAUSE_CALL_REJECTED,                               /**< Call Rejected */
77         TEL_CALL_END_CAUSE_NUMBER_CHANGED,                              /**< Number Changed */
78         TEL_CALL_END_CAUSE_DESTINATION_OUT_OF_ORDER,    /**< Destination out of Order */
79         TEL_CALL_END_CAUSE_INVALID_NUMBER_FORMAT,               /**< Invalid Number Format */
80         TEL_CALL_END_CAUSE_FACILITY_REJECTED,                   /**< Facility Rejected */
81         TEL_CALL_END_CAUSE_NO_CIRCUIT_CHANNEL_AVAILABLE,        /**< No Circuit Channel Available */
82         TEL_CALL_END_CAUSE_NETWORK_OUT_OF_ORDER,                        /**< Network out of Order */
83         TEL_CALL_END_CAUSE_TEMPORARY_FAILURE,                           /**< Temporary Failure */
84         TEL_CALL_END_CAUSE_SWITCHING_EQUIPMENT_CONGESTION,      /**< Switching Equipment Congestion */
85         TEL_CALL_END_CAUSE_REQUESTED_CIRCUIT_CHANNEL_NOT_AVAILABLE,     /**< Requested Circuit channel not available */
86         TEL_CALL_END_CAUSE_REQUESTED_FACILITY_NOT_SUBSCRIBED,           /**< Requested facility not subscribed */
87         TEL_CALL_END_CAUSE_ACM_GEQ_ACMMAX,                      /**< ACM equal to greater than ACMAX */
88         TEL_CALL_END_CAUSE_IMEI_NOT_ACCEPTED,                   /**< IMEI not accepted */
89         TEL_CALL_END_CAUSE_NETWORK_FAILURE,             /**< Network unavailable */
90         TEL_CALL_END_CAUSE_CONGESTION,                  /**< Congestion */
91         TEL_CALL_END_CAUSE_SERVICE_OPTION_OUT_OF_ORDER, /**< Service option temporarily out of order */
92         TEL_CALL_END_CAUSE_ACCESS_CLASS_BLOCKED,                /**< Access class blocked */
93 } TelCallEndCause;
94
95 /**
96  * @enum TelCallState
97  * Call States.
98  */
99 typedef enum {
100         TEL_CALL_STATE_IDLE,            /**< Call is in idle state - i.e. no call */
101         TEL_CALL_STATE_ACTIVE,          /**< Call is in connected and conversation state */
102         TEL_CALL_STATE_HELD,            /**< Call is in held state */
103         TEL_CALL_STATE_DIALING,         /**< Call is in dialing state */
104         TEL_CALL_STATE_ALERT,           /**< Call is in alerting state */
105         TEL_CALL_STATE_INCOMING,        /**< Call is in incoming state */
106         TEL_CALL_STATE_WAITING,         /**< Call is in waiting state */
107 } TelCallState;
108
109 /**
110  * @enum TelCallActiveLine
111  * IN GSM ONLY: Call Active Line.
112  */
113 typedef enum {
114         TEL_CALL_ACTIVE_LINE1,          /**< Line 1 */
115         TEL_CALL_ACTIVE_LINE2           /**< Line 2 */
116 } TelCallActiveLine;
117
118 /**
119  * @enum TelCallAnswerType
120  * Call Answer Types.
121  */
122 typedef enum {
123         TEL_CALL_ANSWER_ACCEPT,                 /**< Used to answer an incoming call when there are no current active calls. */
124         TEL_CALL_ANSWER_REJECT,                 /**< Used to reject the incoming call */
125         TEL_CALL_ANSWER_REPLACE,                /**< Release current active call and accept the incoming call */
126         TEL_CALL_ANSWER_HOLD_AND_ACCEPT,        /**< Hold the current active call, and accept the wating call */
127 } TelCallAnswerType;
128
129 /**
130  * @enum TelCallEndType
131  * Call End Types.
132  */
133 typedef enum {
134         TEL_CALL_END,                           /**< Used to end single call with call handle */
135         TEL_CALL_END_ALL,                       /**< Used to end all calls */
136         TEL_CALL_END_ACTIVE_ALL,                /**< Used to end all active calls */
137         TEL_CALL_END_HOLD_ALL,                  /**< Used to end all hold calls */
138 } TelCallEndType;
139
140 /**
141  * @enum TelCallType
142  * Call Type.
143  */
144 typedef enum {
145         TEL_CALL_TYPE_VOICE,    /**< Voice call type. */
146         TEL_CALL_TYPE_VIDEO,    /**< Video call type  */
147         TEL_CALL_TYPE_E911      /**< Emergency call type. */
148 } TelCallType;
149
150 /**
151  * @enum TelCallActiveState
152  * Current Call State.
153  */
154 typedef enum {
155         TEL_CALL_CONNECT_IDLE,          /**< Call is in Idle state. */
156         TEL_CALL_CONNECT_ACTIVE,        /**< Call is in Active state.*/
157         TEL_CALL_CONNECT_HELD           /**< Call is in Held state. */
158 } TelCallActiveState;
159
160 /**
161  * @enum TelCallCliValidity
162  * CLI(Calling Line Identification) Validity.
163  */
164 typedef enum {
165         TEL_CALL_CLI_VALIDITY_VALID,                            /**< CLI is valid */
166         TEL_CALL_CLI_VALIDITY_WITHHELD,                 /**< CLI is withheld ("Rejected by user")*/
167         TEL_CALL_CLI_VALIDITY_NOT_AVAILABLE,            /**< CLI is not available ("Interaction with other service" or "Unavailable")*/
168         TEL_CALL_CLI_VALIDITY_NOT_AVAILABLE_PAYPHONE,   /**< CLI is not available ("Coin line/payphone")*/
169 } TelCallCliValidity;
170
171 /**
172  * @enum TelCallCniValidity
173  * CNI(Calling Name Identification) Validity.
174  */
175 typedef enum {
176         TEL_CALL_CNI_VALIDITY_VALID,                            /**< CLI is valid */
177         TEL_CALL_CNI_VALIDITY_WITHHELD,                 /**< CLI is withheld */
178         TEL_CALL_CNI_VALIDITY_NOT_AVAILABLE,            /**< CLI is not available */
179 } TelCallCniValidity;
180
181 /**
182  * @enum TelCallEmergencyCategory
183  * Emergency Call Category.
184  */
185 typedef enum {
186         TEL_CALL_ECC_DEFAULT = 0x00,            /**< ECC is default */
187         TEL_CALL_ECC_POLICE = 0x01,             /**< ECC is police */
188         TEL_CALL_ECC_AMBULANCE = 0x02,  /**< ECC is ambulance */
189         TEL_CALL_ECC_FIREBRIGADE = 0x04,        /**< ECC is fire station */
190         TEL_CALL_ECC_MARINEGUARD = 0x08,        /**< ECC is marine gaurd */
191         TEL_CALL_ECC_MOUNTAINRESCUE = 0x10,     /**< ECC is mountaion rescue */
192         TEL_CALL_ECC_MANUAL_ECALL = 0x20,       /**< ECC is manual Ecall */
193         TEL_CALL_ECC_AUTO_ECALL = 0x40  /**< ECC is Auto Ecall */
194 } TelCallEmergencyCategory;
195
196 /**
197  * Call Dial Info.
198  */
199 typedef struct {
200         TelCallType call_type;                                  /**< Sets type of call (voice, data, video, emergency) */
201         TelCallEmergencyCategory ecc;                   /**< In case of emergency call, may provide category instead of number */
202         char number[TEL_CALL_CALLING_NUMBER_LEN_MAX + 1];       /**< A string containing the destination phone number. This follows the dial number format.*/
203 } TelCallDial;
204
205 /**
206  * Call End Info.
207  */
208 typedef struct {
209         unsigned int call_id;                   /**< Unique id for referring the call to release */
210         TelCallEndType end_type;                /**< End type used */
211 } TelCallEnd;
212
213 /**
214  * Call Status Info.
215  */
216 typedef struct {
217         unsigned int call_id;                                   /**< Unique id for referring the call */
218
219         TelCallType call_type;                                  /**< Specifies type of call (voice, data, emergency) */
220         TelCallState call_state;                                        /**< Current Call state */
221
222         gboolean mo_call;                                       /**< TRUE for MO Call; FALSE if MT call*/
223         gboolean mpty;                                          /**< TRUE for Multi-party Call; FALSE if not Multi-party Call*/
224
225         TelCallCliValidity cli_validity;                                /**< Calling Line Identificatoin (only if mobile terminated call) */
226         char number[TEL_CALL_CALLING_NUMBER_LEN_MAX + 1];       /**< Mobile Number */
227
228         TelCallCniValidity cni_validity;                                /**< Calling Name Identification (only if mobile terminated call) */
229         char name[TEL_CALL_CALLING_NAME_LEN_MAX + 1];           /**< Caller name */
230
231         gboolean forward;                                       /**< TRUE if call is forwared (only if mobile terminated call) */
232
233         TelCallActiveLine active_line;                          /**< Active line */
234 } TelCallStatus;
235
236 /**
237  * All Call Status Info.
238  */
239 typedef struct {
240         unsigned int count;     /**< Number of calls */
241         TelCallStatus status[TEL_CALL_MAX_CALLS_COUNT]; /**< Call Status Info */
242 } TelCallStatusList;
243
244 /**
245  * Incoming Call Info.
246  */
247 typedef struct {
248         unsigned int call_id;                                   /**< Unique id for referring the call */
249
250         TelCallCliValidity cli_validity;                                /**< Calling Line Identificatoin (only if mobile terminated call) */
251         char number[TEL_CALL_CALLING_NUMBER_LEN_MAX + 1];       /**< Mobile Number */
252
253         TelCallCniValidity cni_validity;                                /**< Calling Name Identification (only if mobile terminated call) */
254         char name[TEL_CALL_CALLING_NAME_LEN_MAX + 1];           /**< Caller name */
255
256         gboolean forward;                                       /**< TRUE if call is forwared (only if mobile terminated call) */
257
258         TelCallActiveLine active_line;                          /**< Active line */
259 }TelCallIncomingInfo;
260
261 /**
262  * All Call Status idle notification.
263  */
264 typedef struct {
265         unsigned int call_id;   /**< Unique id for referring the call */
266         TelCallEndCause cause;  /**< End cause for the call indicates whether the call is released normally or due to other cause*/
267 } TelCallStatusIdleNoti;
268
269 /**
270  * @enum TelCallSoundRecording
271  * Call Sound Recording status.
272  */
273 typedef enum {
274         TEL_SOUND_RECORDING_STOP,       /**< Stop call recording */
275         TEL_SOUND_RECORDING_START,      /**< Start call recording */
276         TEL_SOUND_RECORDING_PAUSE       /**< Pause call recording */
277 } TelCallSoundRecording;
278
279 /**
280  * @enum TelCallSoundDevice
281  * Call Sound Device type.
282  */
283 typedef enum {
284         TEL_SOUND_DEVICE_RECEIVER = 0x00,                       /**< Receiving the sound on receiver */
285         TEL_SOUND_DEVICE_SPEAKER_PHONE = 0x10,  /**< Receiving the sound on speaker phone */
286         TEL_SOUND_DEVICE_HFK = 0x20,                            /**< Receiving the sound on HFK */
287         TEL_SOUND_DEVICE_HEADSET = 0x30,                        /**< Receiving the sound on Headset */
288         TEL_SOUND_DEVICE_BLUETOOTH = 0x40,              /**< Receiving the sound on Bluetooth */
289         TEL_SOUND_DEVICE_EC = 0xA0,                             /**< Receiving the sound on Echo Cancellation device */
290 } TelCallSoundDevice;
291
292 /**
293  * Call Sound Volume Info.
294  */
295 typedef struct {
296         TelCallSoundDevice device;              /**< Sound device */
297         unsigned int volume;            /**<Volume level(0 ~ 100)*/
298 } TelCallVolumeInfo;
299
300 /**
301  * @enum TelCallSoundPath
302  * Call Sound Path.
303  */
304 typedef enum {
305         TEL_SOUND_PATH_HANDSET  ,               /**<Audio path is handset*/
306         TEL_SOUND_PATH_HEADSET,                 /**<Audio path is headset*/
307         TEL_SOUND_PATH_HANDSFREE,               /**<Audio path is Handsfree*/
308         TEL_SOUND_PATH_BLUETOOTH,               /**<Audio path is bluetooth*/
309         TEL_SOUND_PATH_STEREO_BLUETOOTH,        /**<Audio path is stereo bluetooth*/
310         TEL_SOUND_PATH_SPK_PHONE,               /**<Audio path is speaker phone*/
311         TEL_SOUND_PATH_HEADSET_3_5PI,           /**<Audio path is headset_3_5PI*/
312         TEL_SOUND_PATH_BT_NSEC_OFF,             /**<Audio path is bluetooth NSEC off*/
313         TEL_SOUND_PATH_MIC2,                            /**<Audio path is Mic 1*/
314         TEL_SOUND_PATH_MIC1,                            /**<Audio path is Mic 2*/
315         TEL_SOUND_PATH_HEADSET_HAC,             /**<Audio path is Hearing aid*/
316 } TelCallSoundPath;
317
318 /**
319  * Call Sound Path Info
320  */
321 typedef struct {
322         TelCallSoundPath path;  /**< Sound path */
323         gboolean ex_volume;     /**< TEL_SOUND_EX_VOLUME_ OFF/ON*/
324 } TelCallSoundPathInfo;
325
326 /**
327  * @enum TelCallSoundEqualizationMode
328  * Call Sound Equalization Mode.
329  */
330 typedef enum {
331         TEL_SOUND_EQUALIZATION_MODE_OFF,                /**< Sound Equalization is off */
332         TEL_SOUND_EQUALIZATION_MODE_ON,         /**< Sound Equalization is on */
333         TEL_SOUND_EQUALIZATION_MODE_FLAG_OFF,   /**< Sound Equalization mode flag is off */
334         TEL_SOUND_EQUALIZATION_MODE_FLAG_ON,    /**< Sound Equalization mode flag is on */
335         TEL_SOUND_EQUALIZATION_MODE_SOFT1,              /**< Sound Equalization is in soft1 mode */
336         TEL_SOUND_EQUALIZATION_MODE_SOFT2,              /**< Sound Equalization is in soft2 mode */
337 } TelCallSoundEqualizationMode;
338
339 /**
340  * @enum TelCallSoundDirection
341  * Call Sound Direction.
342  */
343 typedef enum {
344         TEL_SOUND_DIRECTION_LEFT,       /**< Sound direction is left */
345         TEL_SOUND_DIRECTION_RIGHT,      /**< Sound direction is right */
346 } TelCallSoundDirection;
347
348 /**
349  * Call Sound Equalization Info
350  */
351 typedef struct {
352         TelCallSoundEqualizationMode mode;      /**< Sound equalization mode */
353         TelCallSoundDirection direction;                /**< Sound direction */
354         unsigned short parameter[TEL_CALL_MAX_SOUND_EQ_PARAMETER_SIZE]; /**< Sound equalization parameter */
355 } TelCallSoundEqualization;
356
357 /**
358  * Call Volume Info
359  */
360 typedef struct {
361         unsigned int record_num;        /**< Number of call records */
362         TelCallVolumeInfo record[TEL_CALL_MAX_VOLUME_INFO_RECORD];      /**< Call volume info records */
363 } TelCallGetVolumeInfo;
364
365 /**
366  * @enum TelCallSoundRingbackToneNoti
367  * Call Sound ring back tone.
368  */
369 typedef enum {
370         TEL_CALL_SOUND_RINGBACK_TONE_START,     /**< Sound ringback tone start */
371         TEL_CALL_SOUND_RINGBACK_TONE_END,               /**< Sound ringback tone end */
372 } TelCallSoundRingbackToneNoti;
373
374 /**
375  * @enum TelCallSoundWbamrNoti
376  * Call AMR-WB Status
377  */
378 typedef enum {
379         TEL_CALL_SOUND_WBAMR_STATUS_OFF,        /**< Call sound WBAMR is off */
380         TEL_CALL_SOUND_WBAMR_STATUS_ON, /**< Call sound WBAMR is on */
381 } TelCallSoundWbamrNoti;
382
383 /**
384  * Call Sound Equilization Notification Info.
385  */
386 typedef struct {
387         TelCallSoundEqualizationMode mode;      /**< Call sound equalization mode */
388         TelCallSoundDirection direction;                /**< Call sound direction */
389 } TelCallSoundEqualizationNoti;
390
391 /**
392  *  \defgroup TAPI_EVENT TAPI Event IDs
393  *  @{
394  */
395
396 /**
397  *  \defgroup TEL_EVENT_CALL Call Event IDs
398  *  @{
399  */
400
401 /**
402  *  @hideinitializer
403  *  @brief Voice Call status idle
404  *  @section subscription Event Subscription
405  *  @details Event can be subscribed with event id TEL_NOTI_VOICE_CALL_STATUS_IDLE
406  *  @sa tapi_register_event_id
407  *  @section handling Event Handling
408  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
409  *  @retval handle #TelHandle used for registering the event
410  *  @retval evt_id TEL_NOTI_VOICE_CALL_STATUS_IDLE
411  *  @retval data \ref TelCallStatusIdleNoti
412  *  @retval user_data user data passed while registering the event
413  */
414 #define TEL_NOTI_VOICE_CALL_STATUS_IDLE         TELEPHONY_CALL_INTERFACE":VoiceCallStatusIdle"
415
416  /**
417  *  @hideinitializer
418  *  @brief Voice Call status active
419  *  @section subscription Event Subscription
420  *  @details Event can be subscribed with event id TEL_NOTI_VOICE_CALL_STATUS_ACTIVE
421  *  @sa tapi_register_event_id
422  *  @section handling Event Handling
423  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
424  *  @retval handle #TelHandle used for registering the event
425  *  @retval evt_id TEL_NOTI_VOICE_CALL_STATUS_ACTIVE
426  *  @retval data \ref unsigned int call_id
427  *  @retval user_data user data passed while registering the event
428  */
429 #define TEL_NOTI_VOICE_CALL_STATUS_ACTIVE               TELEPHONY_CALL_INTERFACE":VoiceCallStatusActive"
430
431  /**
432  *  @hideinitializer
433  *  @brief Voice Call status held
434  *  @section subscription Event Subscription
435  *  @details Event can be subscribed with event id TEL_NOTI_VOICE_CALL_STATUS_HELD
436  *  @sa tapi_register_event_id
437  *  @section handling Event Handling
438  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
439  *  @retval handle #TelHandle used for registering the event
440  *  @retval evt_id TEL_NOTI_VOICE_CALL_STATUS_HELD
441  *  @retval data \ref unsigned int call_id
442  *  @retval user_data user data passed while registering the event
443  */
444 #define TEL_NOTI_VOICE_CALL_STATUS_HELD         TELEPHONY_CALL_INTERFACE":VoiceCallStatusHeld"
445
446  /**
447  *  @hideinitializer
448  *  @brief Voice Call status dialing
449  *  @section subscription Event Subscription
450  *  @details Event can be subscribed with event id TEL_NOTI_VOICE_CALL_STATUS_DIALING
451  *  @sa tapi_register_event_id
452  *  @section handling Event Handling
453  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
454  *  @retval handle #TelHandle used for registering the event
455  *  @retval evt_id TEL_NOTI_VOICE_CALL_STATUS_DIALING
456  *  @retval data \ref unsigned int call_id
457  *  @retval user_data user data passed while registering the event
458  */
459 #define TEL_NOTI_VOICE_CALL_STATUS_DIALING              TELEPHONY_CALL_INTERFACE":VoiceCallStatusDialing"
460
461 /**
462  *  @hideinitializer
463  *  @brief Voice Call status alert
464  *  @section subscription Event Subscription
465  *  @details Event can be subscribed with event id TEL_NOTI_VOICE_CALL_STATUS_ALERT
466  *  @sa tapi_register_event_id
467  *  @section handling Event Handling
468  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
469  *  @retval handle #TelHandle used for registering the event
470  *  @retval evt_id TEL_NOTI_VOICE_CALL_STATUS_ALERT
471  *  @retval data \ref unsigned int call_id
472  *  @retval user_data user data passed while registering the event
473  */
474 #define TEL_NOTI_VOICE_CALL_STATUS_ALERT                TELEPHONY_CALL_INTERFACE":VoiceCallStatusAlert"
475
476 /**
477  *  @hideinitializer
478  *  @brief Voice Call status incoming
479  *  @section subscription Event Subscription
480  *  @details Event can be subscribed with event id TEL_NOTI_VOICE_CALL_STATUS_INCOMING
481  *  @sa tapi_register_event_id
482  *  @section handling Event Handling
483  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
484  *  @retval handle #TelHandle used for registering the event
485  *  @retval evt_id TEL_NOTI_VOICE_CALL_STATUS_INCOMING
486  *  @retval data \ref unsigned int call_id
487  *  @retval user_data user data passed while registering the event
488  */
489 #define TEL_NOTI_VOICE_CALL_STATUS_INCOMING     TELEPHONY_CALL_INTERFACE":VoiceCallStatusIncoming"
490
491 /**
492  *  @hideinitializer
493  *  @brief Video Call status idle
494  *  @section subscription Event Subscription
495  *  @details Event can be subscribed with event id TEL_NOTI_VIDEO_CALL_STATUS_IDLE
496  *  @sa tapi_register_event_id
497  *  @section handling Event Handling
498  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
499  *  @retval handle #TelHandle used for registering the event
500  *  @retval evt_id TEL_NOTI_VIDEO_CALL_STATUS_IDLE
501  *  @retval data reference to \ref TelCallStatusIdleNoti structure
502  *  @retval user_data user data passed while registering the event
503  */
504 #define TEL_NOTI_VIDEO_CALL_STATUS_IDLE         TELEPHONY_CALL_INTERFACE":VideoCallStatusIdle"
505
506 /**
507  *  @hideinitializer
508  *  @brief Video Call status active
509  *  @section subscription Event Subscription
510  *  @details Event can be subscribed with event id TEL_NOTI_VIDEO_CALL_STATUS_ACTIVE
511  *  @sa tapi_register_event_id
512  *  @section handling Event Handling
513  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
514  *  @retval handle #TelHandle used for registering the event
515  *  @retval evt_id TEL_NOTI_VIDEO_CALL_STATUS_ACTIVE
516  *  @retval data \ref unsigned int call_id
517  *  @retval user_data user data passed while registering the event
518  */
519 #define TEL_NOTI_VIDEO_CALL_STATUS_ACTIVE               TELEPHONY_CALL_INTERFACE":VideoCallStatusActive"
520
521  /**
522  *  @hideinitializer
523  *  @brief Video Call status dialing
524  *  @section subscription Event Subscription
525  *  @details Event can be subscribed with event id TEL_NOTI_VIDEO_CALL_STATUS_DIALING
526  *  @sa tapi_register_event_id
527  *  @section handling Event Handling
528  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
529  *  @retval handle #TelHandle used for registering the event
530  *  @retval evt_id TEL_NOTI_VIDEO_CALL_STATUS_DIALING
531  *  @retval data \ref unsigned int call_id
532  *  @retval user_data user data passed while registering the event
533  */
534 #define TEL_NOTI_VIDEO_CALL_STATUS_DIALING              TELEPHONY_CALL_INTERFACE":VideoCallStatusDialing"
535
536  /**
537  *  @hideinitializer
538  *  @brief Video Call status alert
539  *  @section subscription Event Subscription
540  *  @details Event can be subscribed with event id TEL_NOTI_VIDEO_CALL_STATUS_ALERT
541  *  @sa tapi_register_event_id
542  *  @section handling Event Handling
543  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
544  *  @retval handle #TelHandle used for registering the event
545  *  @retval evt_id TEL_NOTI_VIDEO_CALL_STATUS_ALERT
546  *  @retval data \ref unsigned int call_id
547  *  @retval user_data user data passed while registering the event
548  */
549 #define TEL_NOTI_VIDEO_CALL_STATUS_ALERT                TELEPHONY_CALL_INTERFACE":VideoCallStatusAlert"
550
551  /**
552  *  @hideinitializer
553  *  @brief Video Call status incoming
554  *  @section subscription Event Subscription
555  *  @details Event can be subscribed with event id TEL_NOTI_VIDEO_CALL_STATUS_INCOMING
556  *  @sa tapi_register_event_id
557  *  @section handling Event Handling
558  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
559  *  @retval handle #TelHandle used for registering the event
560  *  @retval evt_id TEL_NOTI_VIDEO_CALL_STATUS_INCOMING
561  *  @retval data \ref unsigned int call_id
562  *  @retval user_data user data passed while registering the event
563  */
564 #define TEL_NOTI_VIDEO_CALL_STATUS_INCOMING     TELEPHONY_CALL_INTERFACE":VideoCallStatusIncoming"
565
566  /**
567  *  @hideinitializer
568  *  @brief MO Call wating
569  *  @section subscription Event Subscription
570  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_MO_WAITING
571  *  @sa tapi_register_event_id
572  *  @section handling Event Handling
573  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
574  *  @retval handle #TelHandle used for registering the event
575  *  @retval evt_id TEL_NOTI_CALL_INFO_MO_WAITING
576  *  @retval data none
577  *  @retval user_data user data passed while registering the event
578  */
579 #define TEL_NOTI_CALL_INFO_MO_WAITING                   TELEPHONY_CALL_INTERFACE":MoWaiting"
580
581  /**
582  *  @hideinitializer
583  *  @brief MO Call forwarded
584  *  @section subscription Event Subscription
585  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_MO_FORWARDED
586  *  @sa tapi_register_event_id
587  *  @section handling Event Handling
588  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
589  *  @retval handle #TelHandle used for registering the event
590  *  @retval evt_id TEL_NOTI_CALL_INFO_MO_FORWARDED
591  *  @retval data none
592  *  @retval user_data user data passed while registering the event
593  */
594 #define TEL_NOTI_CALL_INFO_MO_FORWARDED         TELEPHONY_CALL_INTERFACE":MoForwarded"
595
596  /**
597  *  @hideinitializer
598  *  @brief MO Incoming call barred
599  *  @section subscription Event Subscription
600  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_MO_BARRED_INCOMING
601  *  @sa tapi_register_event_id
602  *  @section handling Event Handling
603  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
604  *  @retval handle #TelHandle used for registering the event
605  *  @retval evt_id TEL_NOTI_CALL_INFO_MO_BARRED_INCOMING
606  *  @retval data none
607  *  @retval user_data user data passed while registering the event
608  */
609 #define TEL_NOTI_CALL_INFO_MO_BARRED_INCOMING           TELEPHONY_CALL_INTERFACE":MoBarredIncoming"
610
611  /**
612  *  @hideinitializer
613  *  @brief MO Outgoing call barred
614  *  @section subscription Event Subscription
615  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_MO_BARRED_OUTGOING
616  *  @sa tapi_register_event_id
617  *  @section handling Event Handling
618  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
619  *  @retval handle #TelHandle used for registering the event
620  *  @retval evt_id TEL_NOTI_CALL_INFO_MO_BARRED_OUTGOING
621  *  @retval data none
622  *  @retval user_data user data passed while registering the event
623  */
624 #define TEL_NOTI_CALL_INFO_MO_BARRED_OUTGOING           TELEPHONY_CALL_INTERFACE":MoBarredOutgoing"
625
626  /**
627  *  @hideinitializer
628  *  @brief MO Call forward unconditional
629  *  @section subscription Event Subscription
630  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_MO_FORWARD_UNCONDITIONAL
631  *  @sa tapi_register_event_id
632  *  @section handling Event Handling
633  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
634  *  @retval handle #TelHandle used for registering the event
635  *  @retval evt_id TEL_NOTI_CALL_INFO_MO_FORWARD_UNCONDITIONAL
636  *  @retval data none
637  *  @retval user_data user data passed while registering the event
638  */
639 #define TEL_NOTI_CALL_INFO_MO_FORWARD_UNCONDITIONAL     TELEPHONY_CALL_INTERFACE":MoForwardUnconditional"
640
641  /**
642  *  @hideinitializer
643  *  @brief MO Call forward conditional
644  *  @section subscription Event Subscription
645  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_MO_FORWARD_CONDITIONAL
646  *  @sa tapi_register_event_id
647  *  @section handling Event Handling
648  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
649  *  @retval handle #TelHandle used for registering the event
650  *  @retval evt_id TEL_NOTI_CALL_INFO_MO_FORWARD_CONDITIONAL
651  *  @retval data none
652  *  @retval user_data user data passed while registering the event
653  */
654 #define TEL_NOTI_CALL_INFO_MO_FORWARD_CONDITIONAL       TELEPHONY_CALL_INTERFACE":MoForwardConditional"
655
656  /**
657  *  @hideinitializer
658  *  @brief MO Call deflected
659  *  @section subscription Event Subscription
660  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_MO_DEFLECTED
661  *  @sa tapi_register_event_id
662  *  @section handling Event Handling
663  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
664  *  @retval handle #TelHandle used for registering the event
665  *  @retval evt_id TEL_NOTI_CALL_INFO_MO_DEFLECTED
666  *  @retval data none
667  *  @retval user_data user data passed while registering the event
668  */
669 #define TEL_NOTI_CALL_INFO_MO_DEFLECTED                 TELEPHONY_CALL_INTERFACE":MoDeflected"
670
671  /**
672  *  @hideinitializer
673  *  @brief MT Call forwarded
674  *  @section subscription Event Subscription
675  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_MT_FORWARDED
676  *  @sa tapi_register_event_id
677  *  @section handling Event Handling
678  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
679  *  @retval handle #TelHandle used for registering the event
680  *  @retval evt_id TEL_NOTI_CALL_INFO_MT_FORWARDED
681  *  @retval data none
682  *  @retval user_data user data passed while registering the event
683  */
684 #define TEL_NOTI_CALL_INFO_MT_FORWARDED                 TELEPHONY_CALL_INTERFACE":MtForwarded"
685
686  /**
687  *  @hideinitializer
688  *  @brief MT Call deflected
689  *  @section subscription Event Subscription
690  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_MT_DEFLECTED
691  *  @sa tapi_register_event_id
692  *  @section handling Event Handling
693  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
694  *  @retval handle #TelHandle used for registering the event
695  *  @retval evt_id TEL_NOTI_CALL_INFO_MT_DEFLECTED
696  *  @retval data none
697  *  @retval user_data user data passed while registering the event
698  */
699 #define TEL_NOTI_CALL_INFO_MT_DEFLECTED                 TELEPHONY_CALL_INTERFACE":MtDeflected"
700
701  /**
702  *  @hideinitializer
703  *  @brief Call Transfered
704  *  @section subscription Event Subscription
705  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_TRANSFERED
706  *  @sa tapi_register_event_id
707  *  @section handling Event Handling
708  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
709  *  @retval handle #TelHandle used for registering the event
710  *  @retval evt_id TEL_NOTI_CALL_INFO_TRANSFERED
711  *  @retval data none
712  *  @retval user_data user data passed while registering the event
713  */
714 #define TEL_NOTI_CALL_INFO_TRANSFERED           TELEPHONY_CALL_INTERFACE":Transfered"
715
716  /**
717  *  @hideinitializer
718  *  @brief Call held
719  *  @section subscription Event Subscription
720  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_HELD
721  *  @sa tapi_register_event_id
722  *  @section handling Event Handling
723  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
724  *  @retval handle #TelHandle used for registering the event
725  *  @retval evt_id TEL_NOTI_CALL_INFO_HELD
726  *  @retval data none
727  *  @retval user_data user data passed while registering the event
728  */
729 #define TEL_NOTI_CALL_INFO_HELD                 TELEPHONY_CALL_INTERFACE":CallHeld"
730
731  /**
732  *  @hideinitializer
733  *  @brief Call active
734  *  @section subscription Event Subscription
735  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_ACTIVE
736  *  @sa tapi_register_event_id
737  *  @section handling Event Handling
738  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
739  *  @retval handle #TelHandle used for registering the event
740  *  @retval evt_id TEL_NOTI_CALL_INFO_ACTIVE
741  *  @retval data none
742  *  @retval user_data user data passed while registering the event
743  */
744 #define TEL_NOTI_CALL_INFO_ACTIVE                       TELEPHONY_CALL_INTERFACE":CallActive"
745
746  /**
747  *  @hideinitializer
748  *  @brief Call joined
749  *  @section subscription Event Subscription
750  *  @details Event can be subscribed with event id TEL_NOTI_CALL_INFO_JOINED
751  *  @sa tapi_register_event_id
752  *  @section handling Event Handling
753  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
754  *  @retval handle #TelHandle used for registering the event
755  *  @retval evt_id TEL_NOTI_CALL_INFO_JOINED
756  *  @retval data none
757  *  @retval user_data user data passed while registering the event
758  */
759 #define TEL_NOTI_CALL_INFO_JOINED                       TELEPHONY_CALL_INTERFACE":CallJoined"
760
761  /**
762  *  @hideinitializer
763  *  @brief Call Sound Ringback Tone
764  *  @section subscription Event Subscription
765  *  @details Event can be subscribed with event id TEL_NOTI_CALL_SOUND_RINGBACK_TONE
766  *  @sa tapi_register_event_id
767  *  @section handling Event Handling
768  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
769  *  @retval handle #TelHandle used for registering the event
770  *  @retval evt_id TEL_NOTI_CALL_SOUND_RINGBACK_TONE
771  *  @retval data \ref TelCallSoundRingbackToneNoti
772  *  @retval user_data user data passed while registering the event
773  */
774 #define TEL_NOTI_CALL_SOUND_RINGBACK_TONE               TELEPHONY_CALL_INTERFACE":CallSoundRingbackToneControl"
775
776  /**
777  *  @hideinitializer
778  *  @brief Call Sound WBAMR
779  *  @section subscription Event Subscription
780  *  @details Event can be subscribed with event id TEL_NOTI_CALL_SOUND_WBAMR
781  *  @sa tapi_register_event_id
782  *  @section handling Event Handling
783  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
784  *  @retval handle #TelHandle used for registering the event
785  *  @retval evt_id TEL_NOTI_CALL_SOUND_WBAMR
786  *  @retval data \ref TelCallSoundWbamrNoti
787  *  @retval user_data user data passed while registering the event
788  */
789 #define TEL_NOTI_CALL_SOUND_WBAMR                       TELEPHONY_CALL_INTERFACE":CallSoundWbamr"
790
791  /**
792  *  @hideinitializer
793  *  @brief Call Sound Equalization
794  *  @section subscription Event Subscription
795  *  @details Event can be subscribed with event id TEL_NOTI_CALL_SOUND_EQUALIZATION
796  *  @sa tapi_register_event_id
797  *  @section handling Event Handling
798  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
799  *  @retval handle #TelHandle used for registering the event
800  *  @retval evt_id TEL_NOTI_CALL_SOUND_EQUALIZATION
801  *  @retval data \ref TelCallSoundEqualizationNoti
802  *  @retval user_data user data passed while registering the event
803  */
804 #define TEL_NOTI_CALL_SOUND_EQUALIZATION                TELEPHONY_CALL_INTERFACE":CallSoundEqualiztion"
805
806  /**
807  *  @hideinitializer
808  *  @brief Call Sound Clock Status
809  *  @section subscription Event Subscription
810  *  @details Event can be subscribed with event id TEL_NOTI_CALL_SOUND_CLOCK_STATUS
811  *  @sa tapi_register_event_id
812  *  @section handling Event Handling
813  *  @details TAPI will invoke the registered callback (\ref TapiEvtCb) and return the following data:
814  *  @retval handle #TelHandle used for registering the event
815  *  @retval evt_id TEL_NOTI_CALL_SOUND_CLOCK_STATUS
816  *  @retval data <b>TRUE</b>: Sound clock is ON\n <b>FALSE</b>: Sound clock is OFF
817  *  @retval user_data user data passed while registering the event
818  */
819 #define TEL_NOTI_CALL_SOUND_CLOCK_STATUS                TELEPHONY_CALL_INTERFACE":CallSoundClockStatus"
820
821 /** @}*/
822 /** @}*/
823
824 #ifdef __cplusplus
825 }
826 #endif
827
828 /**
829  * @}
830  */
831  #endif  /* __TEL_CALL_H__ */