blob: 4f2621b07a041686126588485cdc44dde6a4fa0b [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__)
415 kal_uint8 msd_data_len;
416 kal_uint8 msd_data[MAX_MSD_LENGTH];
417#endif
418} vdm_imc_ims_cc_mo_call_req_struct;
419
420typedef struct
421{
422 LOCAL_PARA_HDR
423 kal_uint8 call_id;
424 ims_cc_result_enum result;
425 ims_cc_cause_enum cause;
426 ims_access_rat_enum rat;
427 ims_ecc_category_enum emergency_service_category;
428 ims_call_service_enum service;
429 kal_int32 q850_cause; // ims_q850_cause_enum in ims_common_def.h
430 kal_uint8 country_specific_urn[IMC_MAX_URI_LENGTH];
431 ims_call_cause_380_contact_enum cause_380_contact;
432 ims_call_cause_380_xml_enum cause_380_xml;
433 ims_call_380_xml_type_enum xml_type_380;
434 ims_call_380_xml_action_enum xml_action_380;
435} vdm_imc_ims_cc_mo_call_cnf_struct;
436
437#if 0
438/* under construction !*/
439/* under construction !*/
440/* under construction !*/
441/* under construction !*/
442/* under construction !*/
443/* under construction !*/
444/* under construction !*/
445/* under construction !*/
446/* under construction !*/
447#endif
448
449typedef struct
450{
451 LOCAL_PARA_HDR
452 kal_uint8 call_id;
453 kal_uint8 redial_setting; //ims_stk_setup_call_enum
454 kal_uint8 stk_type; //vdm_stk_type_enum
455 ims_call_category_enum call_category;
456 ims_call_mode_enum call_mode;
457 kal_uint8 number[MAX_CC_ATD_NUM_LEN];
458 ims_call_type_enum call_type;
459 ims_access_rat_enum rat;
460} vdm_imc_ims_cc_stk_call_req_struct;
461
462typedef struct
463{
464 LOCAL_PARA_HDR
465 kal_uint8 call_id;
466 ims_cc_result_enum result;
467 ims_cc_cause_enum cause;
468 ims_access_rat_enum rat;
469 kal_int32 q850_cause; // ims_q850_cause_enum in ims_common_def.h
470} vdm_imc_ims_cc_stk_call_cnf_struct;
471
472typedef struct
473{
474 LOCAL_PARA_HDR
475 kal_uint8 call_id; //380 received on this call
476} vdm_imc_ims_cc_mo_call_domain_conflict_ind_struct;
477
478typedef struct
479{
480 LOCAL_PARA_HDR
481 kal_bool result;
482} vdm_imc_ims_cc_mo_call_domain_conflict_rsp_struct;
483
484typedef struct
485{
486 LOCAL_PARA_HDR
487 kal_uint8 call_id;
488 ims_call_category_enum call_category;
489 ims_call_mode_enum call_mode;
490 kal_uint8 conf_call_participants;
491 kal_uint8 conf_call_number_list[IMS_MAX_CALL_NUM_IN_CONF][MAX_CC_ATD_NUM_LEN];
492} vdm_imc_ims_cc_mo_conf_call_req_struct;
493
494typedef struct
495{
496 LOCAL_PARA_HDR
497 kal_uint8 call_id;
498 ims_cc_result_enum result;
499 ims_cc_cause_enum cause;
500 kal_int32 q850_cause; // ims_q850_cause_enum in ims_common_def.h
501} vdm_imc_ims_cc_mo_conf_call_cnf_struct;
502
503// MT call establishment related
504typedef struct
505{
506 LOCAL_PARA_HDR
507 kal_uint8 seq_no;
508 ims_cc_eaic_info_struct eaic_info;
509} vdm_imc_ims_cc_mt_call_present_ind_struct;
510
511typedef struct
512{
513 LOCAL_PARA_HDR
514 kal_uint8 call_id;
515 kal_uint8 seq_no;
516 ims_cc_eaic_result_enum eaic_result;
517 ims_cc_mt_reason_enum mt_reason;
518 kal_uint8 rtt_setting;
519} vdm_imc_ims_cc_mt_call_present_rsp_struct;
520
521typedef struct
522{
523 LOCAL_PARA_HDR
524} vdm_imc_ims_cc_mt_call_accept_req_struct;
525
526typedef struct
527{
528 LOCAL_PARA_HDR
529 kal_uint8 call_id;
530 ims_cc_evta_mode_enum mode;
531} vdm_imc_ims_cc_mt_vt_special_accept_req_struct;
532
533typedef struct
534{
535 LOCAL_PARA_HDR
536 kal_uint8 call_id;
537 ims_cc_result_enum result;
538 ims_cc_cause_enum cause;
539} vdm_imc_ims_cc_mt_call_accept_cnf_struct;
540
541typedef struct
542{
543 LOCAL_PARA_HDR
544 kal_uint8 call_id;
545 ims_cc_result_enum result;
546 ims_cc_cause_enum cause;
547} vdm_imc_ims_cc_mt_vt_special_accept_cnf_struct;
548
549typedef struct
550{
551 LOCAL_PARA_HDR
552 kal_uint8 call_id;
553 ims_ecpi_info_struct ecpi_info;
554} vdm_imc_ims_cc_mt_call_setup_ind_struct;
555
556
557typedef struct
558{
559 LOCAL_PARA_HDR
560 kal_uint8 seq_no;
561 ims_ecpi_info_struct ecpi_info;
562} vdm_imc_ims_cc_mt_call_abort_ind_struct;
563
564// Hangup call related
565typedef struct
566{
567 LOCAL_PARA_HDR
568 kal_uint8 call_id;
569 ims_ecpi_info_struct ecpi_info;
570} vdm_imc_ims_cc_call_disconnect_ind_struct;
571
572typedef struct
573{
574 LOCAL_PARA_HDR
575} vdm_imc_ims_cc_mt_call_ring_ind_struct;
576
577typedef struct
578{
579 LOCAL_PARA_HDR
580} vdm_imc_ims_cc_hangup_all_req_struct;
581
582typedef struct
583{
584 LOCAL_PARA_HDR
585 ims_cc_result_enum result;
586 ims_cc_cause_enum cause;
587} vdm_imc_ims_cc_hangup_all_cnf_struct;
588
589typedef struct
590{
591 LOCAL_PARA_HDR
592 kal_uint8 call_id;
593} vdm_imc_ims_cc_force_hangup_req_struct;
594
595typedef struct
596{
597 LOCAL_PARA_HDR
598 kal_uint8 call_id;
599 ims_cc_result_enum result;
600 ims_cc_cause_enum cause;
601} vdm_imc_ims_cc_force_hangup_cnf_struct;
602
603// Supplementary service related
604typedef struct
605{
606 LOCAL_PARA_HDR
607 kal_uint8 call_id;
608 ims_call_related_ss_type_enum opcode;
609 ims_cc_mo_disconnect_cause_enum cause;
610} vdm_imc_ims_cc_call_related_ss_req_struct;
611
612typedef struct
613{
614 LOCAL_PARA_HDR
615 ims_cc_result_enum result;
616 ims_cc_cause_enum cause;
617} vdm_imc_ims_cc_call_related_ss_cnf_struct;
618
619typedef struct
620{
621 LOCAL_PARA_HDR
622} vdm_imc_ims_cc_ext_error_report_req_struct;
623
624typedef struct
625{
626 LOCAL_PARA_HDR
627 ims_ext_error_report_enum ceer_cause;
628 ims_cc_result_enum result;
629 ims_cc_cause_enum cause;
630} vdm_imc_ims_cc_ext_error_report_cnf_struct;
631
632typedef struct
633{
634 LOCAL_PARA_HDR
635} vdm_imc_ims_cc_list_current_calls_req_struct;
636
637typedef struct
638{
639 LOCAL_PARA_HDR
640 kal_uint8 total_call;
641 ims_call_list_struct call_list[IMS_MAX_CALL_NUM];
642} vdm_imc_ims_cc_list_current_calls_cnf_struct;
643
644typedef struct
645{
646 LOCAL_PARA_HDR
647} vdm_imc_ims_cc_alloc_conf_call_ind_struct;
648
649typedef struct
650{
651 LOCAL_PARA_HDR
652 kal_bool is_success;
653 kal_uint8 conf_call_id;
654} vdm_imc_ims_cc_alloc_conf_call_rsp_struct;
655
656typedef struct
657{
658 LOCAL_PARA_HDR
659 voice_ads_ctrl_enum ads_ctrl;
660} vdm_imc_ads_ctrl_ind_struct;
661
662typedef struct {
663 LOCAL_PARA_HDR
664} vdm_imc_c2k_1x_call_status_ind_struct;
665
666typedef struct
667{
668 LOCAL_PARA_HDR
669 kal_uint8 call_id;
670 kal_uint8 msg_type;
671 ims_ecpi_info_struct ecpi_info;
672} vdm_imc_ims_cc_call_progress_ind_struct;
673
674typedef struct
675{
676 LOCAL_PARA_HDR
677 rat_enum available_rat;
678 rat_enum prefer_rat;
679} vdm_imc_normal_service_scan_ind_struct;
680
681typedef struct
682{
683 LOCAL_PARA_HDR
684 proc_status_enum status;
685} vdm_imc_normal_service_scan_rsp_struct;
686
687typedef struct
688{
689 LOCAL_PARA_HDR
690 imcf_uint32 call_id;
691 ims_enh_volte_si_call_status_enum call_status;
692} vdm_imc_enh_volte_si_call_status_ind_struct;
693
694#if defined(__NG_ECALL_SUPPORT__)
695typedef struct
696{
697 LOCAL_PARA_HDR
698 kal_uint8 call_id;
699 kal_uint8 msd_data_len;
700 kal_uint8 msd_data[MAX_MSD_LENGTH];
701} vdm_imc_update_msd_rsp_struct;
702
703typedef struct
704{
705 LOCAL_PARA_HDR
706 kal_uint8 call_id;
707} vdm_imc_in_band_msd_transfer_rsp_struct;
708#endif
709#endif /* _VDM_IMC_STRUCT_H_ */