blob: b88527a33a496241026f2eba5fef45674fc5973a [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2013
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*****************************************************************************
37 * Filename:
38 * ------------
39 * vdm_imc_struct.h
40 *
41 * Project:
42 * ------------
43 * MOLY
44 *
45 * Description:
46 * ------------
47 * This file defines the interface messages between VDM and IMC.
48 *
49 * Author:
50 * -----------
51 * -------
52 *
53 *===========================================================
54 * $Log$
55 *
56 * 01 10 2022 ot_hitesh.c
57 * [MOLY00774161] [mt2735][CS eCall][NG eCall][patch back] ecall patch back from NR15.R3.MD700.MP.ECAll.DEV
58 * .
59 *
60 * 12 16 2021 ot_hitesh.c
61 * [MOLY00774161] [mt2735][CS eCall][NG eCall][patch back] ecall patch back from NR15.R3.MD700.MP.ECAll.DEV
62 * .
63 *
64 * 09 18 2020 chen-wei.lan
65 * [MOLY00570287] [Gen97] VzW T_VzW and T_eps_fallback timer Implementation
66 *
67 * .
68 *
69 * 09 15 2020 chen-wei.lan
70 * [MOLY00570287] [Gen97] VzW T_VzW and T_eps_fallback timer Implementation
71 * [MPD]tepsfb
72 *
73 * 08 28 2020 tong.li
74 * [MOLY00562709] [5GHP][feature][Data&Call]game space mode
75 * .
76 *
77 * 01 20 2020 chen-wei.lan
78 * [MOLY00469609] [gen97][VDM/SDM/L4] changes for 97
79 * [Huawei 380]10279893 & active mspm
80 *
81 * 09 23 2019 ssu-hsien.wu
82 * [MOLY00438070] [Gen97][IMS] STKCALL and STKUSSD over IMS
83 *
84 * .
85 *
86 * 08 26 2019 jani.manninen
87 * [MOLY00433041] [Gen97][EPSFB] IT related issues
88 *
89 * VMOLY.APOLLO.SQC - IMS 5G Voice Support Changes
90 *
91 * 08 21 2019 jani.manninen
92 * [MOLY00432937] [VONR] LTECSR Changes for 5G Voice Support - LTECSR
93 *
94 * Interface clean up for 5G Voice Support
95 *
96 * 07 24 2019 yung-liang.tsou
97 * [MOLY00421171] [VMOLY] patch back imc em related patches
98 * .
99 *
100 * 07 03 2019 olli.kettunen
101 * [MOLY00401775] [Submarine] Improve UA to VDM mo call cnf/rsp SAP trace output
102 *
103 * - Improve tracing of UA-IMCB SAP mo_call_cnf by using enum type
104 * - Improve tracing of IMCB-IMC SAP mo_call_rsp by using enum instead of imcf_uint8 in SAP message struct definitions.
105 * - Improve IMC-VDM SAP mo_call_cnf tracing by using enum definitions in message structure.
106 * .
107 *
108 * 05 07 2019 savvas.chou
109 * [MOLY00403400] [Submarine] M1 to VMOLY
110 * .
111 *
112 * 01 30 2019 kuan-wei.chen
113 * [MOLY00346647] [MT6297][VDM/L4] changes for 97
114 * [VMOLY.EVB.SEPT.DEV][MPD] sync VDM CL: 6995175~7345261
115 *
116 * 11 01 2018 kuan-wei.chen
117 * [MOLY00346647] [MT6297][VDM/L4] changes for 97
118 * [VMOLY][VDM][MPD]
119 *
120 * 08 17 2018 kuan-wei.chen
121 * [MOLY00346647] [MT6297][VDM/L4] changes for 97
122 * [VMOLY] vdm related others
123 *
124 * 11 22 2017 yulong.chang
125 * [MOLY00291144] [VDM][Verizon][WiFi] UE will not select CS domain when T_ePDG_CS is ongoing (VDM part)
126 * VzW_2017June_VZ_REQ_WIFI_2990111 T_ePDG_CS (VDM part)
127 *
128 * 11 22 2017 yulong.chang
129 * [MOLY00290314] [VDM][Hugeland Tool] Enhanced the delay release CS semaphore mechanism (VDM part)
130 *
131 * Enhanced delay release CS semaphore (VDM part)
132 *
133 * 11 22 2017 yulong.chang
134 * [MOLY00290314] [VDM][Hugeland Tool] Enhanced the delay release CS semaphore mechanism (VDM part)
135 * Enhanced delay release CS semaphore (VDM part)
136 *
137 * 08 28 2017 yulong.chang
138 * [MOLY00274096] [VzW] addl call_domain_cause - IMSP/VDM/IMC part
139 * [LR11.MP5->UMOLYA sync] MOLY00254610 [VzW] addl call_domain_cause - IMSP/VDM/IMC part
140 *
141 * 12 14 2016 jerry.cheng
142 * [MOLY00210061] [93][VDM] UMOLY sync to UMOLYA
143 * .sync [MOLY00204150] TK vzw hVoLTE/E911 implementation
144 *
145 * TK hVoLTE.
146 *
147 * 06 28 2016 kuan-wei.chen
148 * [MOLY00186867] L4/CM/SIM code sync
149 * .
150 *
151 * 10 13 2015 ben.chiu
152 * [MOLY00144959] [UMOLY][LR11][TMO][WFC] Revert to cellular for emergency call
153 * ALFMS00685674, WFC emergency call, 3.5.1.2.3 Cellular Fallback
154 * 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.
155 *
156 * 09 17 2015 ben.chiu
157 * [MOLY00141935] [IMS interface][version#0x39]IMS interface v1.2 check-in
158 * (v1.2)ims interface re-org
159 *
160 * 08 26 2015 ben.chiu
161 * [MOLY00138217] [ViLTE] M0 migration ViLTE feature Interface
162 * ViLTE interface patch back
163 *
164 * 07 09 2015 nick.wang
165 * [MOLY00127009] WFC Patch back to UMOLY- interface part
166 * .moly wfc interface patch
167 *
168 * 07 09 2015 nick.wang
169 * [MOLY00127009] WFC Patch back to UMOLY- interface part
170 * .jade interface sync
171 *
172 * 06 17 2015 nick.wang
173 * [MOLY00118763] [WFC] feature patch back IMS interface for MD (MP7)
174 * .IMS interface
175 *
176 * 06 09 2015 benjamin.kuo
177 * [MOLY00119265] [WFC] feature patch back for VDM/SDM/IMSP - interface/SAP parts
178 * interface - SAP part.
179 *
180 * 04 02 2015 benjamin.kuo
181 * [MOLY00105813] [WFC] migrate VDM from WFC.FPB to CMCCVOLTE.WFC.FPB
182 * .interface part
183 *
184 * 02 04 2015 allan.ke
185 * [MOLY00092209] [CMCC VoLTE] ?@???o?_Conference call
186 *
187 * 02 04 2015 allan.ke
188 * [MOLY00092209] [CMCC VoLTE] ?@???o?_Conference call
189 * .
190 *
191 * 04 02 2015 benjamin.kuo
192 * [MOLY00105813] [WFC] migrate VDM from WFC.FPB to CMCCVOLTE.WFC.FPB
193 * .interface part
194 *
195 * 02 04 2015 allan.ke
196 * [MOLY00092209] [CMCC VoLTE] ?@???o?_Conference call
197 *
198 * 02 04 2015 allan.ke
199 * [MOLY00092209] [CMCC VoLTE] ?@???o?_Conference call
200 * .
201 * 04 27 2015 ben.chiu
202 * [MOLY00109234] [VoLTE][Volunteer Patch] MP7.CMCCVOLTE.FPB merge back to MP7/MP7.CMCC
203 * MP7.CMCCVOLTE.FPB merge back to MP7
204 *
205 *
206 * 04 27 2015 ben.chiu
207 * [MOLY00109234] [VoLTE][Volunteer Patch] MP7.CMCCVOLTE.FPB merge back to MP7/MP7.CMCC
208 * MP7.CMCCVOLTE.FPB merge back to MP7
209 *
210 * 02 20 2014 ben.chiu
211 * [MOLY00056441] Use string instead enum for call type in CRING
212 * generate string:VOICE or VIDEO in peer_buffer to VDM for CRING
213 *
214 * 02 17 2014 ben.chiu
215 * [MOLY00055885] [6290E2][VoLTE][MWC] incorrect URC oder of VDM and IMSP
216 * Merge from MWC_CBr for MWC issue, CRING and ECPI:0
217 *
218 * 02 17 2014 ben.chiu
219 * [MOLY00056189] [6290E2][VoLTE][SRVCC] New feature for SRVCC R10 - IMC part
220 * check-in SRVCC R10 feature for IMC and /modem_interface/ims
221 *
222 * 01 13 2014 ben.chiu
223 * [MOLY00053410] [VoLTE][IMC] merge IMC to MOLY TRUNK
224 * Add ads_ctrl message to VDM for Test Mode
225 *****************************************************************************/
226
227#ifndef _VDM_IMC_STRUCT_H_
228#define _VDM_IMC_STRUCT_H_
229
230#include "kal_general_types.h"
231#include "kal_public_defs.h"
232#include "ims_common_def.h"
233#include "l3_inc_enums.h"
234
235#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
236#ifndef MAX_MSD_LENGTH
237#define MAX_MSD_LENGTH 140
238#endif
239#endif
240
241/******************************************************************************
242 * Call Control and Supplementary Service
243 *****************************************************************************/
244// DTMF tone generation related
245typedef struct
246{
247 LOCAL_PARA_HDR
248 kal_uint8 digit;
249} vdm_imc_ims_cc_send_digit_req_struct;
250
251typedef struct
252{
253 LOCAL_PARA_HDR
254 ims_cc_result_enum result;
255 ims_cc_cause_enum cause;
256} vdm_imc_ims_cc_send_digit_cnf_struct;
257
258typedef struct
259{
260 LOCAL_PARA_HDR
261 kal_uint8 digit;
262} vdm_imc_ims_cc_start_send_digit_req_struct;
263
264typedef struct
265{
266 LOCAL_PARA_HDR
267 ims_cc_result_enum result;
268 ims_cc_cause_enum cause;
269} vdm_imc_ims_cc_start_send_digit_cnf_struct;
270
271typedef struct
272{
273 LOCAL_PARA_HDR
274} vdm_imc_ims_cc_stop_send_digit_req_struct;
275
276typedef struct
277{
278 LOCAL_PARA_HDR
279 ims_cc_result_enum result;
280 ims_cc_cause_enum cause;
281} vdm_imc_ims_cc_stop_send_digit_cnf_struct;
282
283typedef struct
284{
285 LOCAL_PARA_HDR
286 hvolte_call_domain_enum call_domain;
287 kal_bool is_for_silent_redial;
288 hvolte_mode_change_cause_enum cause;
289} vdm_imc_ims_cc_set_hvolte_call_domain_req_struct;
290
291typedef struct
292{
293 LOCAL_PARA_HDR
294 timer_epdg_cs_status_enum status;
295} vdm_imc_timer_epdg_cs_status_ind_struct;
296
297typedef struct
298{
299 LOCAL_PARA_HDR
300 vdm_call_domain_enum ecbm_domain;
301} vdm_imc_ecbm_start_ind_struct;
302
303typedef struct
304{
305 LOCAL_PARA_HDR
306 exit_ecbm_reason_enum exit_ecbm_cause;
307}vdm_imc_ecbm_end_ind_struct;
308
309typedef struct
310{
311 LOCAL_PARA_HDR
312} vdm_imc_ecbm_start_rsp_struct,
313 vdm_imc_ecbm_end_rsp_struct;
314
315typedef struct
316{
317 LOCAL_PARA_HDR
318 kal_uint32 call_id;
319 ims_call_category_enum call_category;
320} vdm_imc_is_cs_allowed_req_struct;
321
322typedef struct
323{
324 LOCAL_PARA_HDR
325 kal_uint32 call_id;
326 ims_call_category_enum call_category;
327 kal_bool is_allowed;
328} vdm_imc_is_cs_allowed_cnf_struct;
329
330
331// SRVCC
332typedef struct
333{
334 LOCAL_PARA_HDR
335 kal_uint32 num_of_calls;
336 ims_srvcc_call_ctxt_struct srvcc_call_ctxt_from_ims[IMS_MAX_CALL_NUM];
337 kal_uint8 conf_call_number_list[IMS_MAX_CALL_NUM_IN_CONF][IMC_P_ASSERT_URI_LEN];
338} vdm_imc_srvcc_context_transfer_ind_struct;
339
340typedef struct
341{
342 LOCAL_PARA_HDR
343 srvcc_status_enum srvcc_ho_status;
344} vdm_imc_srvcc_status_update_req_struct;
345
346// Call Control and Supplementary Service
347// MO call establishment related
348
349typedef enum {
350 IMS_CALL_SERVICE_NORMAL = 0,
351 IMS_CALL_SERVICE_CALL_PULL = 1,
352#if defined(__NG_ECALL_SUPPORT__) /*ECALL*/
353 IMS_CALL_SERVICE_ECALL_TEST = 100,
354 IMS_CALL_SERVICE_ECALL_RECONFIGURE = 101,
355#endif
356 //add here
357 IMS_CALL_SERVICE_END
358} ims_call_service_enum;
359
360typedef enum {
361 IMS_CALL_380_XML_TYPE_NOT_SET = 0,
362 IMS_CALL_380_XML_TYPE_EMERGENCY,
363 IMS_CALL_380_XML_TYPE_RESTORATION,
364 IMS_CALL_380_XML_TYPE_UNKNOWN,
365 /*add here*/
366 IMS_CALL_380_XML_TYPE_MAX,
367} ims_call_380_xml_type_enum;
368
369typedef enum {
370 IMS_CALL_380_XML_ACTION_NOT_SET = 0,
371 IMS_CALL_380_XML_ACTION_EMERGENCY_REGISTRATION,
372 IMS_CALL_380_XML_ACTION_INITIAL_REGISTRATION,
373 IMS_CALL_380_XML_ACTION_ANONYMOUS_EMERGECYCALL,
374 IMS_CALL_380_XML_ACTION_UNKNOWN,
375 /*add here*/
376 IMS_CALL_380_XML_ACTION_MAX,
377} ims_call_380_xml_action_enum;
378
379typedef enum {
380 IMS_CALL_CAUSE_380_CONTACT_NOT_SET = 0,
381 IMS_CALL_CAUSE_380_CONTACT_SOS_AND_CATEGORY_KNOWN,
382 IMS_CALL_CAUSE_380_CONTACT_SOS_AND_CATEGORY_UNKNOWN,
383 IMS_CALL_CAUSE_380_CONTACT_NOT_SOS,
384 IMS_CALL_CAUSE_380_CONTACT_NO_CONTACT,
385 /*add here*/
386 IMS_CALL_CAUSE_380_CONTACT_MAX,
387} ims_call_cause_380_contact_enum;
388
389typedef enum {
390 IMS_CALL_CAUSE_380_XML_NOT_SET = 0,
391 IMS_CALL_CAUSE_380_XML_ACTION_EMERGECY_REG,
392 IMS_CALL_CAUSE_380_XML_ACTION_UNKNOWN_CATEGORY_MAPPED,
393 IMS_CALL_CAUSE_380_XML_ACTION_UNKNOWN_CATEGORY_NOT_MAPPED,
394 IMS_CALL_CAUSE_380_XML_ACTION_UNKNOWN_NO_CONTACT,
395 /*add here*/
396 IMS_CALL_CAUSE_380_XML_MAX,
397} ims_call_cause_380_xml_enum;
398
399
400typedef struct
401{
402 LOCAL_PARA_HDR
403 kal_uint8 call_id;
404 ims_call_category_enum call_category;
405 ims_call_mode_enum call_mode;
406 kal_uint8 number[MAX_CC_ATD_NUM_LEN];
407 ims_call_type_enum call_type;
408 ims_access_rat_enum rat;
409 ims_ecc_category_enum emergency_service_category;
410 ims_call_service_enum service;
411 kal_uint8 clir;
412 kal_uint8 digit_from_line_number[IMC_MAX_URI_LENGTH];
413 kal_uint8 rtt_setting;
414#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
yu.donge372c322023-08-30 20:25:04 -0700415 kal_bool ims_only_allowed_domain;
rjw6c1fd8f2022-11-30 14:33:01 +0800416 kal_uint8 msd_data_len;
417 kal_uint8 msd_data[MAX_MSD_LENGTH];
418#endif
yu.donge372c322023-08-30 20:25:04 -0700419 kal_uint16 sub_service_field_length;
420 kal_uint8 sub_service_field[IMC_SUB_SERVICE_LENGTH];
rjw6c1fd8f2022-11-30 14:33:01 +0800421} vdm_imc_ims_cc_mo_call_req_struct;
422
423typedef struct
424{
425 LOCAL_PARA_HDR
426 kal_uint8 call_id;
427 ims_cc_result_enum result;
428 ims_cc_cause_enum cause;
429 ims_access_rat_enum rat;
430 ims_ecc_category_enum emergency_service_category;
431 ims_call_service_enum service;
432 kal_int32 q850_cause; // ims_q850_cause_enum in ims_common_def.h
433 kal_uint8 country_specific_urn[IMC_MAX_URI_LENGTH];
434 ims_call_cause_380_contact_enum cause_380_contact;
435 ims_call_cause_380_xml_enum cause_380_xml;
436 ims_call_380_xml_type_enum xml_type_380;
437 ims_call_380_xml_action_enum xml_action_380;
438} vdm_imc_ims_cc_mo_call_cnf_struct;
439
440#if 0
441/* under construction !*/
442/* under construction !*/
443/* under construction !*/
444/* under construction !*/
445/* under construction !*/
446/* under construction !*/
447/* under construction !*/
448/* under construction !*/
449/* under construction !*/
450#endif
451
452typedef struct
453{
454 LOCAL_PARA_HDR
455 kal_uint8 call_id;
456 kal_uint8 redial_setting; //ims_stk_setup_call_enum
457 kal_uint8 stk_type; //vdm_stk_type_enum
458 ims_call_category_enum call_category;
459 ims_call_mode_enum call_mode;
460 kal_uint8 number[MAX_CC_ATD_NUM_LEN];
461 ims_call_type_enum call_type;
462 ims_access_rat_enum rat;
463} vdm_imc_ims_cc_stk_call_req_struct;
464
465typedef struct
466{
467 LOCAL_PARA_HDR
468 kal_uint8 call_id;
469 ims_cc_result_enum result;
470 ims_cc_cause_enum cause;
471 ims_access_rat_enum rat;
472 kal_int32 q850_cause; // ims_q850_cause_enum in ims_common_def.h
473} vdm_imc_ims_cc_stk_call_cnf_struct;
474
475typedef struct
476{
477 LOCAL_PARA_HDR
478 kal_uint8 call_id; //380 received on this call
479} vdm_imc_ims_cc_mo_call_domain_conflict_ind_struct;
480
481typedef struct
482{
483 LOCAL_PARA_HDR
484 kal_bool result;
485} vdm_imc_ims_cc_mo_call_domain_conflict_rsp_struct;
486
487typedef struct
488{
489 LOCAL_PARA_HDR
490 kal_uint8 call_id;
491 ims_call_category_enum call_category;
492 ims_call_mode_enum call_mode;
493 kal_uint8 conf_call_participants;
494 kal_uint8 conf_call_number_list[IMS_MAX_CALL_NUM_IN_CONF][MAX_CC_ATD_NUM_LEN];
495} vdm_imc_ims_cc_mo_conf_call_req_struct;
496
497typedef struct
498{
499 LOCAL_PARA_HDR
500 kal_uint8 call_id;
501 ims_cc_result_enum result;
502 ims_cc_cause_enum cause;
503 kal_int32 q850_cause; // ims_q850_cause_enum in ims_common_def.h
504} vdm_imc_ims_cc_mo_conf_call_cnf_struct;
505
506// MT call establishment related
507typedef struct
508{
509 LOCAL_PARA_HDR
510 kal_uint8 seq_no;
511 ims_cc_eaic_info_struct eaic_info;
512} vdm_imc_ims_cc_mt_call_present_ind_struct;
513
514typedef struct
515{
516 LOCAL_PARA_HDR
517 kal_uint8 call_id;
518 kal_uint8 seq_no;
519 ims_cc_eaic_result_enum eaic_result;
520 ims_cc_mt_reason_enum mt_reason;
521 kal_uint8 rtt_setting;
522} vdm_imc_ims_cc_mt_call_present_rsp_struct;
523
524typedef struct
525{
526 LOCAL_PARA_HDR
527} vdm_imc_ims_cc_mt_call_accept_req_struct;
528
529typedef struct
530{
531 LOCAL_PARA_HDR
532 kal_uint8 call_id;
533 ims_cc_evta_mode_enum mode;
534} vdm_imc_ims_cc_mt_vt_special_accept_req_struct;
535
536typedef struct
537{
538 LOCAL_PARA_HDR
539 kal_uint8 call_id;
540 ims_cc_result_enum result;
541 ims_cc_cause_enum cause;
542} vdm_imc_ims_cc_mt_call_accept_cnf_struct;
543
544typedef struct
545{
546 LOCAL_PARA_HDR
547 kal_uint8 call_id;
548 ims_cc_result_enum result;
549 ims_cc_cause_enum cause;
550} vdm_imc_ims_cc_mt_vt_special_accept_cnf_struct;
551
552typedef struct
553{
554 LOCAL_PARA_HDR
555 kal_uint8 call_id;
556 ims_ecpi_info_struct ecpi_info;
557} vdm_imc_ims_cc_mt_call_setup_ind_struct;
558
559
560typedef struct
561{
562 LOCAL_PARA_HDR
563 kal_uint8 seq_no;
564 ims_ecpi_info_struct ecpi_info;
565} vdm_imc_ims_cc_mt_call_abort_ind_struct;
566
567// Hangup call related
568typedef struct
569{
570 LOCAL_PARA_HDR
571 kal_uint8 call_id;
572 ims_ecpi_info_struct ecpi_info;
573} vdm_imc_ims_cc_call_disconnect_ind_struct;
574
575typedef struct
576{
577 LOCAL_PARA_HDR
578} vdm_imc_ims_cc_mt_call_ring_ind_struct;
579
580typedef struct
581{
582 LOCAL_PARA_HDR
583} vdm_imc_ims_cc_hangup_all_req_struct;
584
585typedef struct
586{
587 LOCAL_PARA_HDR
588 ims_cc_result_enum result;
589 ims_cc_cause_enum cause;
590} vdm_imc_ims_cc_hangup_all_cnf_struct;
591
592typedef struct
593{
594 LOCAL_PARA_HDR
595 kal_uint8 call_id;
596} vdm_imc_ims_cc_force_hangup_req_struct;
597
598typedef struct
599{
600 LOCAL_PARA_HDR
601 kal_uint8 call_id;
602 ims_cc_result_enum result;
603 ims_cc_cause_enum cause;
604} vdm_imc_ims_cc_force_hangup_cnf_struct;
605
606// Supplementary service related
607typedef struct
608{
609 LOCAL_PARA_HDR
610 kal_uint8 call_id;
611 ims_call_related_ss_type_enum opcode;
612 ims_cc_mo_disconnect_cause_enum cause;
613} vdm_imc_ims_cc_call_related_ss_req_struct;
614
615typedef struct
616{
617 LOCAL_PARA_HDR
618 ims_cc_result_enum result;
619 ims_cc_cause_enum cause;
620} vdm_imc_ims_cc_call_related_ss_cnf_struct;
621
622typedef struct
623{
624 LOCAL_PARA_HDR
625} vdm_imc_ims_cc_ext_error_report_req_struct;
626
627typedef struct
628{
629 LOCAL_PARA_HDR
630 ims_ext_error_report_enum ceer_cause;
631 ims_cc_result_enum result;
632 ims_cc_cause_enum cause;
633} vdm_imc_ims_cc_ext_error_report_cnf_struct;
634
635typedef struct
636{
637 LOCAL_PARA_HDR
638} vdm_imc_ims_cc_list_current_calls_req_struct;
639
640typedef struct
641{
642 LOCAL_PARA_HDR
643 kal_uint8 total_call;
644 ims_call_list_struct call_list[IMS_MAX_CALL_NUM];
645} vdm_imc_ims_cc_list_current_calls_cnf_struct;
646
647typedef struct
648{
649 LOCAL_PARA_HDR
650} vdm_imc_ims_cc_alloc_conf_call_ind_struct;
651
652typedef struct
653{
654 LOCAL_PARA_HDR
655 kal_bool is_success;
656 kal_uint8 conf_call_id;
657} vdm_imc_ims_cc_alloc_conf_call_rsp_struct;
658
659typedef struct
660{
661 LOCAL_PARA_HDR
662 voice_ads_ctrl_enum ads_ctrl;
663} vdm_imc_ads_ctrl_ind_struct;
664
665typedef struct {
666 LOCAL_PARA_HDR
667} vdm_imc_c2k_1x_call_status_ind_struct;
668
669typedef struct
670{
671 LOCAL_PARA_HDR
672 kal_uint8 call_id;
673 kal_uint8 msg_type;
674 ims_ecpi_info_struct ecpi_info;
675} vdm_imc_ims_cc_call_progress_ind_struct;
676
677typedef struct
678{
679 LOCAL_PARA_HDR
680 rat_enum available_rat;
681 rat_enum prefer_rat;
682} vdm_imc_normal_service_scan_ind_struct;
683
684typedef struct
685{
686 LOCAL_PARA_HDR
687 proc_status_enum status;
688} vdm_imc_normal_service_scan_rsp_struct;
689
690typedef struct
691{
692 LOCAL_PARA_HDR
693 imcf_uint32 call_id;
694 ims_enh_volte_si_call_status_enum call_status;
695} vdm_imc_enh_volte_si_call_status_ind_struct;
696
697#if defined(__NG_ECALL_SUPPORT__)
698typedef struct
699{
700 LOCAL_PARA_HDR
701 kal_uint8 call_id;
702 kal_uint8 msd_data_len;
703 kal_uint8 msd_data[MAX_MSD_LENGTH];
704} vdm_imc_update_msd_rsp_struct;
705
706typedef struct
707{
708 LOCAL_PARA_HDR
709 kal_uint8 call_id;
710} vdm_imc_in_band_msd_transfer_rsp_struct;
711#endif
712#endif /* _VDM_IMC_STRUCT_H_ */