blob: 58b6e41112bdbdb850811674d439acff6841a329 [file] [log] [blame]
#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