blob: 58b6e41112bdbdb850811674d439acff6841a329 [file] [log] [blame]
liubin281ac462023-07-19 14:22:54 +08001#ifndef LYNQ_ECALL_H
2#define LYNQ_ECALL_H
3#include "mbtk_type.h"
4#include "mbtk_log.h"
5
6typedef uint32 ecall_handle_type;
7
8typedef enum{
9 LYNQ_ECALL_SET_NUMBER = 0, /* Set Number */
10 LYNQ_ECALL_SET_URI = 1, /* Set Uri */
11}LYNQ_ECall_Set_Type;
12
13typedef enum{
14 LYNQ_EMER_CAT_MANUAL_ECALL = 0, /* Manual Emergency eCall */
15 LYNQ_EMER_CAT_AUTO_ECALL = 1, /* Automatic Emergency eCall */
16}LYNQ_ECall_Category;
17
18typedef enum{
19 LYNQ_ECALL_TEST = 0, /* Test eCall */
20 LYNQ_ECALL_EMERGENCY = 1, /* Emergency eCall */
21 LYNQ_ECALL_RECONFIG = 2, /* Reconfiguration eCall */
22 LYNQ_ECALL_VAR_MAX,
23}LYNQ_ECall_Variant;
24
25typedef enum{
26 LYNQ_ECALL_SENDING_START = 1,
27 LYNQ_ECALL_SENDING_MSD = 2,
28 LYNQ_ECALL_LLACK_RECEIVED = 3,
29 LYNQ_ECALL_ALACK_POSITIVE_RECEIVED = 4,
30 LYNQ_ECALL_ALACK_CLEARDOWN_RECEIVED = 5,
31 LYNQ_ECALL_ACTIVE = 11,
32 LYNQ_ECALL_DISCONNECTED = 12,
33 LYNQ_ECALL_IMS_ACTIVE = 13,
34 LYNQ_ECALL_IMS_DISCONNECTED = 14,
35 LYNQ_ECALL_ABNORMAL_HANGUP=15,
36 LYNQ_ECALL_IMS_MSD_ACK = 20,
37 LYNQ_ECALL_IMS_UPDATE_MSD = 21,
38 LYNQ_ECALL_IMS_IN_BAND_TRANSFER = 22,
39 LYNQ_ECALL_IMS_MSD_NACK = 23,
40 LYNQ_ECALL_IMS_SRVCC = 24,
41 LYNQ_ECALL_ONLY_DEREGISTRATION = 31,
42 LYNQ_ECALL_MAY_DEREGISTER = 32,
43 LYNQ_ECALL_PSAP_CALLBACK_START = 40,
44 LYNQ_ECALL_PSAP_CALLBACK_IMS_UPDATE_MSD = 41,
45 LYNQ_ECALL_T2_TIMER_OUT = 9000,
46 LYNQ_ECALL_T5_TIMER_OUT = 9001,
47 LYNQ_ECALL_T6_TIMER_OUT = 9002,
48 LYNQ_ECALL_T7_TIMER_OUT = 9003,
49 LYNQ_ECALL_REDIAL_TIMER_OUT = 9004,
50 LYNQ_ECALL_AUTO_ANS_TIMER_OUT = 9005,
51 LYNQ_ECALL_AUTO_ANS_IMS_TIMER_OUT = 9006,
52 LYNQ_ECALL_UNSPECIFIED = 0xffff,
53}LYNQ_ECall_Indication;
54
55int lynq_ecall_init(ecall_handle_type *handle);
56int lynq_ecall_deinit(ecall_handle_type handle);
57int lynq_set_test_num(LYNQ_ECall_Set_Type type, const char *test_num, int test_num_length);
58int lynq_set_reconf_num(LYNQ_ECall_Set_Type type, const char *reconf_num, int reconf_num_length);
59int lynq_fast_ecall(int* handle,
60 LYNQ_ECall_Category lynq_ecall_cat,
61 LYNQ_ECall_Variant lynq_ecall_variant,
62 const char *addr, int addr_length,
63 const unsigned char *msd_data, int msd_length);
64int lynq_make_ecall(int* handle, LYNQ_ECall_Variant type);
65int lynq_set_msd(int* handle, const unsigned char *msd_data, int msd_length);
66int lynq_set_ivs(int enable);
67int lynq_ivs_push_msd();
68int lynq_wait_ecall_indication(int* handle, LYNQ_ECall_Indication *eCall_Indication);
69int lynq_ecall_hungup(int handle);
70
71#endif