lh | 2582795 | 2022-01-10 00:34:35 -0800 | [diff] [blame] | 1 | #ifndef LYNQ_CALL_H
|
| 2 | #define LYNQ_CALL_H 1
|
| 3 | #ifdef __cplusplus
|
| 4 | extern "C" {
|
| 5 | #endif
|
| 6 | #define LYNQ_PHONE_NUMBER_MAX 32
|
| 7 | #define INDEX_IS_NUMBER( alpha_char ) \
|
| 8 | ( ( (alpha_char >= '0') && (alpha_char <= '9') ) ? 1 : 0 )
|
| 9 | #define LYNQ_CALL_MAX 10
|
| 10 | #define LYNQ_CALL_FAIL_VENDOR_CAUSE 64
|
| 11 | typedef enum {
|
q.huang | fe1b405 | 2022-04-18 00:09:50 -0400 | [diff] [blame] | 12 | LYNQ_CALL_FAIL_UNOBTAINABLE_NUMBER = 1,
|
| 13 | LYNQ_CALL_FAIL_NORMAL = 16,
|
| 14 | LYNQ_CALL_FAIL_BUSY = 17,
|
| 15 | LYNQ_CALL_FAIL_CONGESTION = 34,
|
| 16 | LYNQ_CALL_FAIL_ACM_LIMIT_EXCEEDED = 68,
|
| 17 | LYNQ_CALL_FAIL_CALL_BARRED = 240,
|
| 18 | LYNQ_CALL_FAIL_FDN_BLOCKED = 241,
|
| 19 | LYNQ_CALL_FAIL_IMSI_UNKNOWN_IN_VLR = 242,
|
| 20 | LYNQ_CALL_FAIL_IMEI_NOT_ACCEPTED = 243,
|
| 21 | LYNQ_CALL_FAIL_DIAL_MODIFIED_TO_USSD = 244, /* STK Call Control */
|
| 22 | LYNQ_CALL_FAIL_DIAL_MODIFIED_TO_SS = 245,
|
| 23 | LYNQ_CALL_FAIL_DIAL_MODIFIED_TO_DIAL = 246,
|
| 24 | LYNQ_CALL_FAIL_CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000,
|
| 25 | LYNQ_CALL_FAIL_CDMA_DROP = 1001,
|
| 26 | LYNQ_CALL_FAIL_CDMA_INTERCEPT = 1002,
|
| 27 | LYNQ_CALL_FAIL_CDMA_REORDER = 1003,
|
| 28 | LYNQ_CALL_FAIL_CDMA_SO_REJECT = 1004,
|
| 29 | LYNQ_CALL_FAIL_CDMA_RETRY_ORDER = 1005,
|
| 30 | LYNQ_CALL_FAIL_CDMA_ACCESS_FAILURE = 1006,
|
| 31 | LYNQ_CALL_FAIL_CDMA_PREEMPTED = 1007,
|
| 32 | LYNQ_CALL_FAIL_CDMA_NOT_EMERGENCY = 1008, /* For non-emergency number dialed
|
lh | 2582795 | 2022-01-10 00:34:35 -0800 | [diff] [blame] | 33 | during emergency callback mode */
|
q.huang | fe1b405 | 2022-04-18 00:09:50 -0400 | [diff] [blame] | 34 | LYNQ_CALL_FAIL_CDMA_ACCESS_BLOCKED = 1009, /* CDMA network access probes blocked */
|
| 35 | LYNQ_CALL_FAIL_ERROR_UNSPECIFIED = 0xffff
|
lh | 2582795 | 2022-01-10 00:34:35 -0800 | [diff] [blame] | 36 | } lynq_last_call_fail_cause_t;
|
| 37 | typedef struct
|
| 38 | {
|
| 39 | lynq_last_call_fail_cause_t cause_code;
|
| 40 | char vendor_cause[LYNQ_CALL_FAIL_VENDOR_CAUSE];
|
| 41 | }lynqLastCallFailCause;
|
| 42 | int lynq_init_call(int uToken);
|
| 43 | int lynq_deinit_call();
|
| 44 | int lynq_call(int *handle,char addr[]);
|
| 45 | int lynq_call_answer();
|
| 46 | int lynq_call_hungup(int*handle);
|
| 47 | int lynq_call_hungup_all();
|
| 48 | int lynq_wait_incoming_call(int *handle);
|
| 49 | int lynq_set_auto_answercall(const int mode);
|
q.huang | b0eb7b0 | 2022-03-29 04:17:32 -0400 | [diff] [blame] | 50 | int lynq_get_mute_mic(int *status);
|
lh | 2582795 | 2022-01-10 00:34:35 -0800 | [diff] [blame] | 51 | int lynq_set_mute_mic(const int enable);
|
q.huang | 9ee6d5b | 2022-04-05 23:11:02 -0400 | [diff] [blame] | 52 | int lynq_get_speech_volume(int *volume);
|
| 53 | int lynq_set_speech_volume(const int volume);
|
| 54 | int lynq_incall_record_start(const char* file_path);
|
q.huang | b0eb7b0 | 2022-03-29 04:17:32 -0400 | [diff] [blame] | 55 | int lynq_incall_record_stop();
|
lh | 2582795 | 2022-01-10 00:34:35 -0800 | [diff] [blame] | 56 | int lynq_set_DTMF(const char callnum);
|
| 57 | int lynq_set_DTMF_volume(const int volume);
|
| 58 | int lynq_get_current_call_state(int *handle, int *call_state,int *toa,int *direction,char addr[]);
|
q.huang | fe1b405 | 2022-04-18 00:09:50 -0400 | [diff] [blame] | 59 |
|
| 60 | #ifdef ECALL_SUPPORT
|
| 61 | typedef enum{
|
| 62 | LYNQ_ECALL_SET_NUMBER = 0, /* Set Number */
|
| 63 | LYNQ_ECALL_SET_URI = 1, /* Set Uri */
|
| 64 | }LYNQ_ECall_Set_Type;
|
| 65 |
|
| 66 | typedef enum{
|
| 67 | LYNQ_EMER_CAT_MANUAL_ECALL = 0, /* Manual Emergency eCall */
|
| 68 | LYNQ_EMER_CAT_AUTO_ECALL = 1, /* Automatic Emergency eCall */
|
| 69 | }LYNQ_ECall_Category;
|
| 70 |
|
| 71 | typedef enum{
|
| 72 | LYNQ_ECALL_TEST = 0, /* Test eCall */
|
| 73 | LYNQ_ECALL_EMERGENCY = 1, /* Emergency eCall */
|
| 74 | LYNQ_ECALL_RECONFIG = 2, /* Reconfiguration eCall */
|
| 75 | LYNQ_ECALL_VAR_MAX,
|
| 76 | }LYNQ_ECall_Variant;
|
| 77 |
|
q.huang | 18d08bf | 2022-04-19 20:27:44 -0400 | [diff] [blame] | 78 | typedef enum{
|
| 79 | LYNQ_ECALL_SENDING_START = 1,
|
| 80 | LYNQ_ECALL_SENDING_MSD = 2,
|
| 81 | LYNQ_ECALL_LLACK_RECEIVED = 3,
|
| 82 | LYNQ_ECALL_ALACK_POSITIVE_RECEIVED = 4,
|
| 83 | LYNQ_ECALL_ALACK_CLEARDOWN_RECEIVED = 5,
|
| 84 | LYNQ_ECALL_ACTIVE = 11,
|
| 85 | LYNQ_ECALL_DISCONNECTED = 12,
|
| 86 | LYNQ_ECALL_IMS_ACTIVE = 13,
|
| 87 | LYNQ_ECALL_IMS_DISCONNECTED = 14,
|
| 88 | LYNQ_ECALL_ABNORMAL_HANGUP=15,
|
| 89 | LYNQ_ECALL_IMS_MSD_ACK = 20,
|
| 90 | LYNQ_ECALL_IMS_UPDATE_MSD = 21,
|
| 91 | LYNQ_ECALL_IMS_IN_BAND_TRANSFER = 22,
|
| 92 | LYNQ_ECALL_IMS_MSD_NACK = 23,
|
| 93 | LYNQ_ECALL_IMS_SRVCC = 24,
|
| 94 | LYNQ_ECALL_ONLY_DEREGISTRATION = 31,
|
| 95 | LYNQ_ECALL_MAY_DEREGISTER = 32,
|
| 96 | LYNQ_ECALL_PSAP_CALLBACK_START = 40,
|
| 97 | LYNQ_ECALL_PSAP_CALLBACK_IMS_UPDATE_MSD = 41,
|
q.huang | 783ed5d | 2022-06-02 14:49:02 +0800 | [diff] [blame^] | 98 | LYNQ_ECALL_T2_TIMER_OUT = 9000,
|
| 99 | LYNQ_ECALL_T5_TIMER_OUT = 9001,
|
| 100 | LYNQ_ECALL_T6_TIMER_OUT = 9002,
|
| 101 | LYNQ_ECALL_T7_TIMER_OUT = 9003,
|
| 102 | LYNQ_ECALL_REDIAL_TIMER_OUT = 9004,
|
q.huang | 18d08bf | 2022-04-19 20:27:44 -0400 | [diff] [blame] | 103 | LYNQ_ECALL_UNSPECIFIED = 0xffff,
|
| 104 | }LYNQ_ECall_Indication;
|
| 105 |
|
q.huang | fe1b405 | 2022-04-18 00:09:50 -0400 | [diff] [blame] | 106 | int lynq_set_test_num(LYNQ_ECall_Set_Type type, const char *test_num, int test_num_length);
|
q.huang | 892722f | 2022-05-10 20:37:21 +0800 | [diff] [blame] | 107 | int lynq_fast_ecall(int* handle, LYNQ_ECall_Category lynq_ecall_cat, LYNQ_ECall_Variant lynq_ecall_variant, const char *addr, int addr_length, const unsigned char *msd_data, int msd_length);
|
| 108 | int lynq_set_msd(int* handle, const unsigned char *msd_data, int msd_length);
|
q.huang | fe1b405 | 2022-04-18 00:09:50 -0400 | [diff] [blame] | 109 | int lynq_set_ivs(int enable);
|
| 110 | int lynq_ivs_push_msd();
|
q.huang | 18d08bf | 2022-04-19 20:27:44 -0400 | [diff] [blame] | 111 | int lynq_wait_ecall_indication(LYNQ_ECall_Indication *Endication);
|
q.huang | fe1b405 | 2022-04-18 00:09:50 -0400 | [diff] [blame] | 112 | #endif
|
| 113 | /*E-CALL interface end*/
|
| 114 |
|
lh | 2582795 | 2022-01-10 00:34:35 -0800 | [diff] [blame] | 115 | #ifdef __cplusplus
|
| 116 | }
|
| 117 | #endif
|
| 118 | #endif
|