| #ifndef LYNQ_ECALL_H |
| #define LYNQ_ECALL_H |
| #include "mbtk_type.h" |
| #include "mbtk_log.h" |
| |
| typedef uint32 ecall_handle_type; |
| |
| typedef enum{ |
| LYNQ_ECALL_SET_NUMBER = 0, /* Set Number */ |
| LYNQ_ECALL_SET_URI = 1, /* Set Uri */ |
| }LYNQ_ECall_Set_Type; |
| |
| typedef enum{ |
| LYNQ_EMER_CAT_MANUAL_ECALL = 0, /* Manual Emergency eCall */ |
| LYNQ_EMER_CAT_AUTO_ECALL = 1, /* Automatic Emergency eCall */ |
| }LYNQ_ECall_Category; |
| |
| typedef enum{ |
| LYNQ_ECALL_TEST = 0, /* Test eCall */ |
| LYNQ_ECALL_EMERGENCY = 1, /* Emergency eCall */ |
| LYNQ_ECALL_RECONFIG = 2, /* Reconfiguration eCall */ |
| LYNQ_ECALL_VAR_MAX, |
| }LYNQ_ECall_Variant; |
| |
| typedef enum{ |
| LYNQ_ECALL_SENDING_START = 1, |
| LYNQ_ECALL_SENDING_MSD = 2, |
| LYNQ_ECALL_LLACK_RECEIVED = 3, |
| LYNQ_ECALL_ALACK_POSITIVE_RECEIVED = 4, |
| LYNQ_ECALL_ALACK_CLEARDOWN_RECEIVED = 5, |
| LYNQ_ECALL_ACTIVE = 11, |
| LYNQ_ECALL_DISCONNECTED = 12, |
| LYNQ_ECALL_IMS_ACTIVE = 13, |
| LYNQ_ECALL_IMS_DISCONNECTED = 14, |
| LYNQ_ECALL_ABNORMAL_HANGUP=15, |
| LYNQ_ECALL_IMS_MSD_ACK = 20, |
| LYNQ_ECALL_IMS_UPDATE_MSD = 21, |
| LYNQ_ECALL_IMS_IN_BAND_TRANSFER = 22, |
| LYNQ_ECALL_IMS_MSD_NACK = 23, |
| LYNQ_ECALL_IMS_SRVCC = 24, |
| LYNQ_ECALL_ONLY_DEREGISTRATION = 31, |
| LYNQ_ECALL_MAY_DEREGISTER = 32, |
| LYNQ_ECALL_PSAP_CALLBACK_START = 40, |
| LYNQ_ECALL_PSAP_CALLBACK_IMS_UPDATE_MSD = 41, |
| LYNQ_ECALL_T2_TIMER_OUT = 9000, |
| LYNQ_ECALL_T5_TIMER_OUT = 9001, |
| LYNQ_ECALL_T6_TIMER_OUT = 9002, |
| LYNQ_ECALL_T7_TIMER_OUT = 9003, |
| LYNQ_ECALL_REDIAL_TIMER_OUT = 9004, |
| LYNQ_ECALL_AUTO_ANS_TIMER_OUT = 9005, |
| LYNQ_ECALL_AUTO_ANS_IMS_TIMER_OUT = 9006, |
| LYNQ_ECALL_UNSPECIFIED = 0xffff, |
| }LYNQ_ECall_Indication; |
| |
| int lynq_ecall_init(ecall_handle_type *handle); |
| int lynq_ecall_deinit(ecall_handle_type handle); |
| int lynq_set_test_num(LYNQ_ECall_Set_Type type, const char *test_num, int test_num_length); |
| int lynq_set_reconf_num(LYNQ_ECall_Set_Type type, const char *reconf_num, int reconf_num_length); |
| 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); |
| int lynq_make_ecall(int* handle, LYNQ_ECall_Variant type); |
| int lynq_set_msd(int* handle, const unsigned char *msd_data, int msd_length); |
| int lynq_set_ivs(int enable); |
| int lynq_ivs_push_msd(); |
| int lynq_wait_ecall_indication(int* handle, LYNQ_ECall_Indication *eCall_Indication); |
| int lynq_ecall_hungup(int handle); |
| |
| #endif |