blob: 4f2621b07a041686126588485cdc44dde6a4fa0b [file] [log] [blame]
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2013
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
* Filename:
* ------------
* vdm_imc_struct.h
*
* Project:
* ------------
* MOLY
*
* Description:
* ------------
* This file defines the interface messages between VDM and IMC.
*
* Author:
* -----------
* -------
*
*===========================================================
* $Log$
*
* 01 10 2022 ot_hitesh.c
* [MOLY00774161] [mt2735][CS eCall][NG eCall][patch back] ecall patch back from NR15.R3.MD700.MP.ECAll.DEV
* .
*
* 12 16 2021 ot_hitesh.c
* [MOLY00774161] [mt2735][CS eCall][NG eCall][patch back] ecall patch back from NR15.R3.MD700.MP.ECAll.DEV
* .
*
* 09 18 2020 chen-wei.lan
* [MOLY00570287] [Gen97] VzW T_VzW and T_eps_fallback timer Implementation
*
* .
*
* 09 15 2020 chen-wei.lan
* [MOLY00570287] [Gen97] VzW T_VzW and T_eps_fallback timer Implementation
* [MPD]tepsfb
*
* 08 28 2020 tong.li
* [MOLY00562709] [5GHP][feature][Data&Call]game space mode
* .
*
* 01 20 2020 chen-wei.lan
* [MOLY00469609] [gen97][VDM/SDM/L4] changes for 97
* [Huawei 380]10279893 & active mspm
*
* 09 23 2019 ssu-hsien.wu
* [MOLY00438070] [Gen97][IMS] STKCALL and STKUSSD over IMS
*
* .
*
* 08 26 2019 jani.manninen
* [MOLY00433041] [Gen97][EPSFB] IT related issues
*
* VMOLY.APOLLO.SQC - IMS 5G Voice Support Changes
*
* 08 21 2019 jani.manninen
* [MOLY00432937] [VONR] LTECSR Changes for 5G Voice Support - LTECSR
*
* Interface clean up for 5G Voice Support
*
* 07 24 2019 yung-liang.tsou
* [MOLY00421171] [VMOLY] patch back imc em related patches
* .
*
* 07 03 2019 olli.kettunen
* [MOLY00401775] [Submarine] Improve UA to VDM mo call cnf/rsp SAP trace output
*
* - Improve tracing of UA-IMCB SAP mo_call_cnf by using enum type
* - Improve tracing of IMCB-IMC SAP mo_call_rsp by using enum instead of imcf_uint8 in SAP message struct definitions.
* - Improve IMC-VDM SAP mo_call_cnf tracing by using enum definitions in message structure.
* .
*
* 05 07 2019 savvas.chou
* [MOLY00403400] [Submarine] M1 to VMOLY
* .
*
* 01 30 2019 kuan-wei.chen
* [MOLY00346647] [MT6297][VDM/L4] changes for 97
* [VMOLY.EVB.SEPT.DEV][MPD] sync VDM CL: 6995175~7345261
*
* 11 01 2018 kuan-wei.chen
* [MOLY00346647] [MT6297][VDM/L4] changes for 97
* [VMOLY][VDM][MPD]
*
* 08 17 2018 kuan-wei.chen
* [MOLY00346647] [MT6297][VDM/L4] changes for 97
* [VMOLY] vdm related others
*
* 11 22 2017 yulong.chang
* [MOLY00291144] [VDM][Verizon][WiFi] UE will not select CS domain when T_ePDG_CS is ongoing (VDM part)
* VzW_2017June_VZ_REQ_WIFI_2990111 T_ePDG_CS (VDM part)
*
* 11 22 2017 yulong.chang
* [MOLY00290314] [VDM][Hugeland Tool] Enhanced the delay release CS semaphore mechanism (VDM part)
*
* Enhanced delay release CS semaphore (VDM part)
*
* 11 22 2017 yulong.chang
* [MOLY00290314] [VDM][Hugeland Tool] Enhanced the delay release CS semaphore mechanism (VDM part)
* Enhanced delay release CS semaphore (VDM part)
*
* 08 28 2017 yulong.chang
* [MOLY00274096] [VzW] addl call_domain_cause - IMSP/VDM/IMC part
* [LR11.MP5->UMOLYA sync] MOLY00254610 [VzW] addl call_domain_cause - IMSP/VDM/IMC part
*
* 12 14 2016 jerry.cheng
* [MOLY00210061] [93][VDM] UMOLY sync to UMOLYA
* .sync [MOLY00204150] TK vzw hVoLTE/E911 implementation
*
* TK hVoLTE.
*
* 06 28 2016 kuan-wei.chen
* [MOLY00186867] L4/CM/SIM code sync
* .
*
* 10 13 2015 ben.chiu
* [MOLY00144959] [UMOLY][LR11][TMO][WFC] Revert to cellular for emergency call
* ALFMS00685674, WFC emergency call, 3.5.1.2.3 Cellular Fallback
* 3.5.1.2.3 Cellular Fallback ID: GID-FLD-5009 When the emergency call preference is set to cellular, the device shall check for cellular coverage. If found, the device shall deregister from the IMS domain, revert back to cellular and place the 911 call. the handset shall remain on cellular for a duration of time specified by the guard timer to allow for potential PSAP call back. Once the guard timer expires, the device shall re-register on IMS if the Wi-Fi conditions are met. The guard timer shall be at least 3 minutes.
*
* 09 17 2015 ben.chiu
* [MOLY00141935] [IMS interface][version#0x39]IMS interface v1.2 check-in
* (v1.2)ims interface re-org
*
* 08 26 2015 ben.chiu
* [MOLY00138217] [ViLTE] M0 migration ViLTE feature Interface
* ViLTE interface patch back
*
* 07 09 2015 nick.wang
* [MOLY00127009] WFC Patch back to UMOLY- interface part
* .moly wfc interface patch
*
* 07 09 2015 nick.wang
* [MOLY00127009] WFC Patch back to UMOLY- interface part
* .jade interface sync
*
* 06 17 2015 nick.wang
* [MOLY00118763] [WFC] feature patch back IMS interface for MD (MP7)
* .IMS interface
*
* 06 09 2015 benjamin.kuo
* [MOLY00119265] [WFC] feature patch back for VDM/SDM/IMSP - interface/SAP parts
* interface - SAP part.
*
* 04 02 2015 benjamin.kuo
* [MOLY00105813] [WFC] migrate VDM from WFC.FPB to CMCCVOLTE.WFC.FPB
* .interface part
*
* 02 04 2015 allan.ke
* [MOLY00092209] [CMCC VoLTE] ?@???o?_Conference call
*
* 02 04 2015 allan.ke
* [MOLY00092209] [CMCC VoLTE] ?@???o?_Conference call
* .
*
* 04 02 2015 benjamin.kuo
* [MOLY00105813] [WFC] migrate VDM from WFC.FPB to CMCCVOLTE.WFC.FPB
* .interface part
*
* 02 04 2015 allan.ke
* [MOLY00092209] [CMCC VoLTE] ?@???o?_Conference call
*
* 02 04 2015 allan.ke
* [MOLY00092209] [CMCC VoLTE] ?@???o?_Conference call
* .
* 04 27 2015 ben.chiu
* [MOLY00109234] [VoLTE][Volunteer Patch] MP7.CMCCVOLTE.FPB merge back to MP7/MP7.CMCC
* MP7.CMCCVOLTE.FPB merge back to MP7
*
*
* 04 27 2015 ben.chiu
* [MOLY00109234] [VoLTE][Volunteer Patch] MP7.CMCCVOLTE.FPB merge back to MP7/MP7.CMCC
* MP7.CMCCVOLTE.FPB merge back to MP7
*
* 02 20 2014 ben.chiu
* [MOLY00056441] Use string instead enum for call type in CRING
* generate string:VOICE or VIDEO in peer_buffer to VDM for CRING
*
* 02 17 2014 ben.chiu
* [MOLY00055885] [6290E2][VoLTE][MWC] incorrect URC oder of VDM and IMSP
* Merge from MWC_CBr for MWC issue, CRING and ECPI:0
*
* 02 17 2014 ben.chiu
* [MOLY00056189] [6290E2][VoLTE][SRVCC] New feature for SRVCC R10 - IMC part
* check-in SRVCC R10 feature for IMC and /modem_interface/ims
*
* 01 13 2014 ben.chiu
* [MOLY00053410] [VoLTE][IMC] merge IMC to MOLY TRUNK
* Add ads_ctrl message to VDM for Test Mode
*****************************************************************************/
#ifndef _VDM_IMC_STRUCT_H_
#define _VDM_IMC_STRUCT_H_
#include "kal_general_types.h"
#include "kal_public_defs.h"
#include "ims_common_def.h"
#include "l3_inc_enums.h"
#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
#ifndef MAX_MSD_LENGTH
#define MAX_MSD_LENGTH 140
#endif
#endif
/******************************************************************************
* Call Control and Supplementary Service
*****************************************************************************/
// DTMF tone generation related
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 digit;
} vdm_imc_ims_cc_send_digit_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ims_cc_result_enum result;
ims_cc_cause_enum cause;
} vdm_imc_ims_cc_send_digit_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 digit;
} vdm_imc_ims_cc_start_send_digit_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ims_cc_result_enum result;
ims_cc_cause_enum cause;
} vdm_imc_ims_cc_start_send_digit_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
} vdm_imc_ims_cc_stop_send_digit_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ims_cc_result_enum result;
ims_cc_cause_enum cause;
} vdm_imc_ims_cc_stop_send_digit_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
hvolte_call_domain_enum call_domain;
kal_bool is_for_silent_redial;
hvolte_mode_change_cause_enum cause;
} vdm_imc_ims_cc_set_hvolte_call_domain_req_struct;
typedef struct
{
LOCAL_PARA_HDR
timer_epdg_cs_status_enum status;
} vdm_imc_timer_epdg_cs_status_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
vdm_call_domain_enum ecbm_domain;
} vdm_imc_ecbm_start_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
exit_ecbm_reason_enum exit_ecbm_cause;
}vdm_imc_ecbm_end_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
} vdm_imc_ecbm_start_rsp_struct,
vdm_imc_ecbm_end_rsp_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 call_id;
ims_call_category_enum call_category;
} vdm_imc_is_cs_allowed_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 call_id;
ims_call_category_enum call_category;
kal_bool is_allowed;
} vdm_imc_is_cs_allowed_cnf_struct;
// SRVCC
typedef struct
{
LOCAL_PARA_HDR
kal_uint32 num_of_calls;
ims_srvcc_call_ctxt_struct srvcc_call_ctxt_from_ims[IMS_MAX_CALL_NUM];
kal_uint8 conf_call_number_list[IMS_MAX_CALL_NUM_IN_CONF][IMC_P_ASSERT_URI_LEN];
} vdm_imc_srvcc_context_transfer_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
srvcc_status_enum srvcc_ho_status;
} vdm_imc_srvcc_status_update_req_struct;
// Call Control and Supplementary Service
// MO call establishment related
typedef enum {
IMS_CALL_SERVICE_NORMAL = 0,
IMS_CALL_SERVICE_CALL_PULL = 1,
#if defined(__NG_ECALL_SUPPORT__) /*ECALL*/
IMS_CALL_SERVICE_ECALL_TEST = 100,
IMS_CALL_SERVICE_ECALL_RECONFIGURE = 101,
#endif
//add here
IMS_CALL_SERVICE_END
} ims_call_service_enum;
typedef enum {
IMS_CALL_380_XML_TYPE_NOT_SET = 0,
IMS_CALL_380_XML_TYPE_EMERGENCY,
IMS_CALL_380_XML_TYPE_RESTORATION,
IMS_CALL_380_XML_TYPE_UNKNOWN,
/*add here*/
IMS_CALL_380_XML_TYPE_MAX,
} ims_call_380_xml_type_enum;
typedef enum {
IMS_CALL_380_XML_ACTION_NOT_SET = 0,
IMS_CALL_380_XML_ACTION_EMERGENCY_REGISTRATION,
IMS_CALL_380_XML_ACTION_INITIAL_REGISTRATION,
IMS_CALL_380_XML_ACTION_ANONYMOUS_EMERGECYCALL,
IMS_CALL_380_XML_ACTION_UNKNOWN,
/*add here*/
IMS_CALL_380_XML_ACTION_MAX,
} ims_call_380_xml_action_enum;
typedef enum {
IMS_CALL_CAUSE_380_CONTACT_NOT_SET = 0,
IMS_CALL_CAUSE_380_CONTACT_SOS_AND_CATEGORY_KNOWN,
IMS_CALL_CAUSE_380_CONTACT_SOS_AND_CATEGORY_UNKNOWN,
IMS_CALL_CAUSE_380_CONTACT_NOT_SOS,
IMS_CALL_CAUSE_380_CONTACT_NO_CONTACT,
/*add here*/
IMS_CALL_CAUSE_380_CONTACT_MAX,
} ims_call_cause_380_contact_enum;
typedef enum {
IMS_CALL_CAUSE_380_XML_NOT_SET = 0,
IMS_CALL_CAUSE_380_XML_ACTION_EMERGECY_REG,
IMS_CALL_CAUSE_380_XML_ACTION_UNKNOWN_CATEGORY_MAPPED,
IMS_CALL_CAUSE_380_XML_ACTION_UNKNOWN_CATEGORY_NOT_MAPPED,
IMS_CALL_CAUSE_380_XML_ACTION_UNKNOWN_NO_CONTACT,
/*add here*/
IMS_CALL_CAUSE_380_XML_MAX,
} ims_call_cause_380_xml_enum;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_call_category_enum call_category;
ims_call_mode_enum call_mode;
kal_uint8 number[MAX_CC_ATD_NUM_LEN];
ims_call_type_enum call_type;
ims_access_rat_enum rat;
ims_ecc_category_enum emergency_service_category;
ims_call_service_enum service;
kal_uint8 clir;
kal_uint8 digit_from_line_number[IMC_MAX_URI_LENGTH];
kal_uint8 rtt_setting;
#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
kal_uint8 msd_data_len;
kal_uint8 msd_data[MAX_MSD_LENGTH];
#endif
} vdm_imc_ims_cc_mo_call_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_cc_result_enum result;
ims_cc_cause_enum cause;
ims_access_rat_enum rat;
ims_ecc_category_enum emergency_service_category;
ims_call_service_enum service;
kal_int32 q850_cause; // ims_q850_cause_enum in ims_common_def.h
kal_uint8 country_specific_urn[IMC_MAX_URI_LENGTH];
ims_call_cause_380_contact_enum cause_380_contact;
ims_call_cause_380_xml_enum cause_380_xml;
ims_call_380_xml_type_enum xml_type_380;
ims_call_380_xml_action_enum xml_action_380;
} vdm_imc_ims_cc_mo_call_cnf_struct;
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
kal_uint8 redial_setting; //ims_stk_setup_call_enum
kal_uint8 stk_type; //vdm_stk_type_enum
ims_call_category_enum call_category;
ims_call_mode_enum call_mode;
kal_uint8 number[MAX_CC_ATD_NUM_LEN];
ims_call_type_enum call_type;
ims_access_rat_enum rat;
} vdm_imc_ims_cc_stk_call_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_cc_result_enum result;
ims_cc_cause_enum cause;
ims_access_rat_enum rat;
kal_int32 q850_cause; // ims_q850_cause_enum in ims_common_def.h
} vdm_imc_ims_cc_stk_call_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id; //380 received on this call
} vdm_imc_ims_cc_mo_call_domain_conflict_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool result;
} vdm_imc_ims_cc_mo_call_domain_conflict_rsp_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_call_category_enum call_category;
ims_call_mode_enum call_mode;
kal_uint8 conf_call_participants;
kal_uint8 conf_call_number_list[IMS_MAX_CALL_NUM_IN_CONF][MAX_CC_ATD_NUM_LEN];
} vdm_imc_ims_cc_mo_conf_call_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_cc_result_enum result;
ims_cc_cause_enum cause;
kal_int32 q850_cause; // ims_q850_cause_enum in ims_common_def.h
} vdm_imc_ims_cc_mo_conf_call_cnf_struct;
// MT call establishment related
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 seq_no;
ims_cc_eaic_info_struct eaic_info;
} vdm_imc_ims_cc_mt_call_present_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
kal_uint8 seq_no;
ims_cc_eaic_result_enum eaic_result;
ims_cc_mt_reason_enum mt_reason;
kal_uint8 rtt_setting;
} vdm_imc_ims_cc_mt_call_present_rsp_struct;
typedef struct
{
LOCAL_PARA_HDR
} vdm_imc_ims_cc_mt_call_accept_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_cc_evta_mode_enum mode;
} vdm_imc_ims_cc_mt_vt_special_accept_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_cc_result_enum result;
ims_cc_cause_enum cause;
} vdm_imc_ims_cc_mt_call_accept_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_cc_result_enum result;
ims_cc_cause_enum cause;
} vdm_imc_ims_cc_mt_vt_special_accept_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_ecpi_info_struct ecpi_info;
} vdm_imc_ims_cc_mt_call_setup_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 seq_no;
ims_ecpi_info_struct ecpi_info;
} vdm_imc_ims_cc_mt_call_abort_ind_struct;
// Hangup call related
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_ecpi_info_struct ecpi_info;
} vdm_imc_ims_cc_call_disconnect_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
} vdm_imc_ims_cc_mt_call_ring_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
} vdm_imc_ims_cc_hangup_all_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ims_cc_result_enum result;
ims_cc_cause_enum cause;
} vdm_imc_ims_cc_hangup_all_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
} vdm_imc_ims_cc_force_hangup_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_cc_result_enum result;
ims_cc_cause_enum cause;
} vdm_imc_ims_cc_force_hangup_cnf_struct;
// Supplementary service related
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
ims_call_related_ss_type_enum opcode;
ims_cc_mo_disconnect_cause_enum cause;
} vdm_imc_ims_cc_call_related_ss_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ims_cc_result_enum result;
ims_cc_cause_enum cause;
} vdm_imc_ims_cc_call_related_ss_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
} vdm_imc_ims_cc_ext_error_report_req_struct;
typedef struct
{
LOCAL_PARA_HDR
ims_ext_error_report_enum ceer_cause;
ims_cc_result_enum result;
ims_cc_cause_enum cause;
} vdm_imc_ims_cc_ext_error_report_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
} vdm_imc_ims_cc_list_current_calls_req_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 total_call;
ims_call_list_struct call_list[IMS_MAX_CALL_NUM];
} vdm_imc_ims_cc_list_current_calls_cnf_struct;
typedef struct
{
LOCAL_PARA_HDR
} vdm_imc_ims_cc_alloc_conf_call_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_bool is_success;
kal_uint8 conf_call_id;
} vdm_imc_ims_cc_alloc_conf_call_rsp_struct;
typedef struct
{
LOCAL_PARA_HDR
voice_ads_ctrl_enum ads_ctrl;
} vdm_imc_ads_ctrl_ind_struct;
typedef struct {
LOCAL_PARA_HDR
} vdm_imc_c2k_1x_call_status_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
kal_uint8 msg_type;
ims_ecpi_info_struct ecpi_info;
} vdm_imc_ims_cc_call_progress_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
rat_enum available_rat;
rat_enum prefer_rat;
} vdm_imc_normal_service_scan_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
proc_status_enum status;
} vdm_imc_normal_service_scan_rsp_struct;
typedef struct
{
LOCAL_PARA_HDR
imcf_uint32 call_id;
ims_enh_volte_si_call_status_enum call_status;
} vdm_imc_enh_volte_si_call_status_ind_struct;
#if defined(__NG_ECALL_SUPPORT__)
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
kal_uint8 msd_data_len;
kal_uint8 msd_data[MAX_MSD_LENGTH];
} vdm_imc_update_msd_rsp_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 call_id;
} vdm_imc_in_band_msd_transfer_rsp_struct;
#endif
#endif /* _VDM_IMC_STRUCT_H_ */