blob: 7da68e5ab7502d99a672fcb13b8ba4c7bcfd0f2c [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) 2005
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 *
38 * Filename:
39 * ---------
40 * l4c2csm_cc_struct.h
41 *
42 * Project:
43 * --------
44 * MAUI
45 *
46 * Description:
47 * ------------
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *============================================================================
54 * HISTORY
55 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
56 *------------------------------------------------------------------------------
57 * removed!
58 *
59 * removed!
60 * removed!
61 * removed!
62 *
63 * removed!
64 * removed!
65 * removed!
66 * removed!
67 *
68 * removed!
69 * removed!
70 *
71 * removed!
72 * removed!
73 * removed!
74 * removed!
75 *
76 * removed!
77 * removed!
78 * removed!
79 *
80 * removed!
81 * removed!
82 * removed!
83 *
84 * removed!
85 * removed!
86 * removed!
87 *
88 * removed!
89 * removed!
90 *
91 * removed!
92 * removed!
93 *
94 * removed!
95 * removed!
96 * removed!
97 *
98 * removed!
99 * removed!
100 * removed!
101 *
102 * removed!
103 * removed!
104 * removed!
105 *
106 * removed!
107 * removed!
108 * removed!
109 *
110 * removed!
111 * removed!
112 *
113 * removed!
114 * removed!
115 * removed!
116 *
117 * removed!
118 * removed!
119 *
120 * removed!
121 * removed!
122 * removed!
123 *
124 * removed!
125 * removed!
126 * removed!
127 *
128 * removed!
129 * removed!
130 *
131 * removed!
132 * removed!
133 * removed!
134 *
135 * removed!
136 * removed!
137 * removed!
138 *
139 * removed!
140 * removed!
141 * removed!
142 * removed!
143 * removed!
144 * removed!
145 * removed!
146 *
147 * removed!
148 * removed!
149 * removed!
150 *
151 * removed!
152 * removed!
153 * removed!
154 *
155 * removed!
156 * removed!
157 * removed!
158 *
159 * removed!
160 * removed!
161 * removed!
162 *
163 * removed!
164 * removed!
165 * removed!
166 *
167 * removed!
168 * removed!
169 * removed!
170 *
171 * removed!
172 * removed!
173 * removed!
174 *
175 * removed!
176 * removed!
177 * removed!
178 *
179 * removed!
180 * removed!
181 * removed!
182 *
183 * removed!
184 * removed!
185 * removed!
186 *
187 * removed!
188 * removed!
189 * removed!
190 *
191 *
192 *
193 * removed!
194 * removed!
195 * removed!
196 *
197 * removed!
198 * removed!
199 * removed!
200 *
201 * removed!
202 * removed!
203 * removed!
204 *
205 * removed!
206 * removed!
207 * removed!
208 *
209 * removed!
210 * removed!
211 * removed!
212 *
213 * removed!
214 * removed!
215 * removed!
216 *
217 * removed!
218 * removed!
219 * removed!
220 *
221 * removed!
222 * removed!
223 * removed!
224 *
225 * removed!
226 * removed!
227 * removed!
228 *
229 * removed!
230 * removed!
231 * removed!
232 *
233 * removed!
234 * removed!
235 * removed!
236 *
237 * removed!
238 * removed!
239 * removed!
240 *
241 * removed!
242 * removed!
243 * removed!
244 *
245 * removed!
246 * removed!
247 * removed!
248 *
249 * removed!
250 * removed!
251 * removed!
252 *
253 * removed!
254 * removed!
255 * removed!
256 *
257 * removed!
258 * removed!
259 * removed!
260 *
261 * removed!
262 * removed!
263 * removed!
264 *
265 * removed!
266 * removed!
267 * removed!
268 *
269 * removed!
270 * removed!
271 * removed!
272 *
273 * removed!
274 * removed!
275 * removed!
276 *
277 * removed!
278 * removed!
279 * removed!
280 *
281 * removed!
282 * removed!
283 * removed!
284 *
285 * removed!
286 * removed!
287 * removed!
288 *
289 * removed!
290 * removed!
291 * removed!
292 *
293 * removed!
294 * removed!
295 * removed!
296 *
297 * removed!
298 * removed!
299 * removed!
300 *
301 * removed!
302 * removed!
303 * removed!
304 *
305 * removed!
306 * removed!
307 * removed!
308 *
309 * removed!
310 * removed!
311 * removed!
312 *
313 * removed!
314 * removed!
315 * removed!
316 *
317 * removed!
318 * removed!
319 * removed!
320 *
321 * removed!
322 * removed!
323 * removed!
324 *
325 * removed!
326 * removed!
327 * removed!
328 *
329 *------------------------------------------------------------------------------
330 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
331 *============================================================================
332 ****************************************************************************/
333
334/********************************************************************************
335* Copyright Statement:
336* --------------------
337*
338* This product has been developed using a protocol stack
339* developed by Sasken Communication Technologies Limited.
340*
341********************************************************************************/
342
343
344/*******************************************************************************
345* Copyright Statement:
346* --------------------
347* This software is protected by Copyright and the information contained
348* herein is confidential. The software may not be copied and the information
349* contained herein may not be used or disclosed except with the written
350* permission of MediaTek Inc. (C) 2002
351*
352*******************************************************************************
353 * FILENAME : l4c2csm_cc_struct.h
354 * SYNOPSIS : Functions for encoding/decoding.
355 *
356 * R E V I S I O N H I S T O R Y
357 *
358 */
359#ifndef _L4C2CSM_CC_STRUCT_H
360#define _L4C2CSM_CC_STRUCT_H
361
362//#include "ps2sat_struct.h"
363//#include "kal_non_specific_general_types.h"
364//#include "l4c_common_enum.h"
365//#include "csmcc_enums.h"
366#include "csmcc_common_enums.h"
367#include "kal_general_types.h"
368#include "ps_public_struct.h"
369#include "ps_public_enum.h"
370
371//pohan,For CMCC AT command requirement
372#include "csmcc_atfunc.h"
373#include "sim_public_enum.h"
374#include "kal_public_defs.h"
375
376
377typedef enum
378{
379 RDN_ALLOWED,
380 RDN_RESTRICTED,
381 RDN_UNAVAILABLE,
382 RDN_RESTRICTEDADDR
383} l4ccsm_cc_rdn_enum;
384
385typedef enum
386{
387 CNAP_ALLOWED,
388 CNAP_RESTRICTED,
389 CNAP_UNAVAILABLE,
390 CNAP_RESTRICTEDNAME
391} l4ccsm_cc_cnap_enum;
392
393typedef enum
394{
395 BSC_BS,
396 BSC_TS
397} l4ccsm_cc_bsc_enum;
398
399typedef enum
400{
401 CALL_RETRIEVED,
402 CALL_ONHOLD
403} l4ccsm_cc_hold_ind_enum;
404
405typedef enum
406{
407 ECT_ALERTING,
408 ECT_ACTIVE
409} l4ccsm_cc_ect_state_enum;
410
411typedef enum
412{
413 GEN_UNRECOGNIZED_COMP,
414 GEN_MISTYPED_COMP,
415 GEN_BAD_STRUCT_COMP
416} l4ccsm_cc_ss_gen_prob_enum;
417
418typedef enum
419{
420 INV_DUP_INV_ID,
421 INV_UNRECOGNIZED_OP,
422 INV_MISTYPED_PARA,
423 INV_RESOURCE_LIMIT,
424 INV_INIT_RELEASE,
425 INV_UNRECOGNIZED_LINK_ID,
426 INV_LINK_ID_RSP_UNEXPECTED,
427 INV_UNEXPECTED_LINK_OP
428} l4ccsm_cc_ss_inv_prob_enum;
429
430typedef enum
431{
432 RR_UNRECOGNIZED_INV_ID,
433 RR_UNEXPECTED,
434 RR_MISTYPED_PARA
435} l4ccsm_cc_ss_rr_prob_enum;
436
437typedef enum
438{
439 RE_UNRECOGNIZED_INV_ID,
440 RE_UNEXPECTED,
441 RE_UNRECOGNIZED_ERROR,
442 RE_UNEXPECTED_ERROR,
443 RE_MISTYPED_PARA
444} l4ccsm_cc_ss_re_prob_enum;
445
446typedef enum
447{
448 L4C_MODIFY_CMD_NONE,
449 L4C_MODIFY_ATA,
450 L4C_MODIFY_ATD
451} l4ccsm_cc_modify_cmd_enum;
452
453typedef enum
454{
455 L4CCSM_CC_STARTUP_NVRAM,
456 L4CCSM_CC_STARTUP_SIM,
457 L4CCSM_CC_STARTUP_INVALID
458} l4ccsm_cc_startup_enum; /* MAUI_01747506 separte startup to SIM and NVRAM */
459
460typedef enum
461{
462 L4C_SRVCC_CALL_MODE_VOICE,
463 L4C_SRVCC_CALL_MODE_VIDEO,
464 L4C_SRVCC_CALL_MODE_EMERGENCY,
465 L4C_SRVCC_CALL_MODE_VOICE_CONFERENCE,
466 L4C_SRVCC_CALL_MODE_VIDEO_CONFERENCE,
467 L4C_SRVCC_CALL_MODE_VOICE_CONFERENCE_PARTS, // conference voice call participant
468 L4C_SRVCC_CALL_MODE_VIDEO_CONFERENCE_PARTS, // conference video call participant
469 L4C_SRVCC_CALL_MODE_MAX
470} l4ccsm_srvcc_call_mode_enum;
471
472typedef enum
473{
474 L4C_SRVCC_CALL_DIRECTION_MO,
475 L4C_SRVCC_CALL_DIRECTION_MT,
476 L4C_SRVCC_CALL_DIRECTION_MAX
477} l4ccsm_srvcc_call_direction_enum;
478
479typedef enum
480{
481 L4C_SRVCC_CALL_STATE_EARLY,
482 L4C_SRVCC_CALL_STATE_EARLY_WITH_MEDIA,
483 L4C_SRVCC_CALL_STATE_ACTIVE,
484 L4C_SRVCC_CALL_STATE_ONHOLD,
485 L4C_SRVCC_CALL_STATE_PRE_ALERTING,
486 L4C_SRVCC_CALL_STATE_PRE_ALERTING_WITH_MEDIA,
487 L4C_SRVCC_CALL_STATE_ACTIVE_RETRY_CC_CONNECT,
488 L4C_SRVCC_CALL_STATE_MAX
489} l4ccsm_srvcc_call_state_enum;
490
491/* mtk01602: REL4, TS 24.008 Table 10.5.135d
492 Define Emergency Service Categories Enum */
493typedef enum
494{
495 SRVCC_ECC_CATEGORY_UNSPECIFIED = 0,
496 SRVCC_ECC_CATEGORY_POLICE = 0x0001,
497 SRVCC_ECC_CATEGORY_AMBULANCE = 0x0002,
498 SRVCC_ECC_CATEGORY_FIRE_BRIGADE = 0x0004,
499 SRVCC_ECC_CATEGORY_MARINE_GUARD = 0x0008,
500 SRVCC_ECC_CATEGORY_MOUNTAIN_RESCUE = 0x0010,
501 SRVCC_ECC_CATEGORY_GAS = 0x0100,
502 SRVCC_ECC_CATEGORY_ANIMAL = 0x0200,
503 SRVCC_ECC_CATEGORY_PHYSICIAN = 0x0400,
504 SRVCC_ECC_CATEGORY_POISON = 0X0800,
505 SRVCC_ECC_CATEGORY_TRAFFIC = 0X1000,
506 SRVCC_ECC_CATEGORY_INVALID = 0XFFFF
507}l4ccsm_srvcc_ecc_category_enum;
508
509typedef struct {
510 kal_uint8 call_id;
511 l4ccsm_srvcc_call_mode_enum call_mode;
512 l4ccsm_srvcc_call_direction_enum call_dir;
513 l4ccsm_srvcc_call_state_enum call_state;
514 l4ccsm_srvcc_ecc_category_enum ecc_category;
515
516 kal_uint8 srvcc_number_type;
517 kal_bool srvcc_number_present;
518 kal_char srvcc_number[MAX_SIP_URI_LEN];
519 kal_bool srvcc_alpha_present;
520 kal_char srvcc_alpha[MAX_PS_NAME_SIZE + 1]; // MAX_PS_NAME_SIZE: 42
521 kal_bool cli_present;
522 kal_uint8 cli;
523
524} l4ccsm_srvcc_call_cntxt_struct;
525
526typedef struct {
527 kal_uint8 addr_ind_present;
528 kal_uint8 addr_ind;
529 l4_addr_bcd_struct addr;
530} l4ccsm_cc_peer_addr_struct;
531
532typedef struct {
533 kal_uint8 sub_addr_len;
534 kal_uint8 sub_addr[21];
535} l4ccsm_cc_sub_addr_struct;
536
537typedef struct {
538 l4_addr_bcd_struct partyNumber;
539 kal_uint8 partyNumberSubaddress_present;
540 l4ccsm_cc_sub_addr_struct partyNumberSubaddress;
541} l4ccsm_cc_rdn_addr_struct;
542
543typedef struct {
544 kal_uint8 ect_rdn_present;
545 l4ccsm_cc_rdn_enum rdn_choice_tag;
546 union {
547 l4ccsm_cc_rdn_addr_struct presentationAllowedAddress;
548 kal_uint8 presentationRestricted;
549 kal_uint8 numberNotAvailableDueToInterworking;
550 l4ccsm_cc_rdn_addr_struct presentationRestrictedAddress;
551 } rdn_choice_value;
552} l4ccsm_cc_ect_rdn_struct;
553
554typedef struct {
555 kal_uint8 callingName_present;
556 l4ccsm_cc_cnap_enum callingName_choice_tag;
557 union {
558 l4_cnap_struct cnapPresentationAllowed;
559 l4_name_struct namePresentationAllowed;
560 kal_uint8 presentationRestricted;
561 kal_uint8 nameUnavailable;
562 l4_cnap_struct cnapPresentationRestricted;
563 l4_name_struct namePresentationRestricted;
564 } callingName_choice_value;
565} l4ccsm_cc_name_ind_struct;
566
567typedef struct {
568 kal_uint8 ccbs_index_present;
569 kal_uint8 ccbs_index;
570 kal_uint8 b_subscriberNumber_present;
571 l4_addr_bcd_struct b_subscriberNumber;
572 kal_uint8 b_subscriberSubaddress_present;
573 l4ccsm_cc_sub_addr_struct b_subscriberSubaddress;
574 kal_uint8 bs_code_present;
575 kal_uint8 bs_code;
576} l4ccsm_cc_ccbs_feature_struct;
577
578typedef struct {
579 kal_uint8 ccbs_feature_present;
580 l4ccsm_cc_ccbs_feature_struct ccbs_feature;
581 kal_uint8 alertingPattern_present;
582 kal_uint8 altertingPattern;
583} l4ccsm_cc_ccbs_ind_struct;
584
585typedef struct {
586 kal_uint8 type;
587 kal_bool ss_code_present;
588 kal_uint8 ss_code;
589 kal_bool status_present;
590 kal_uint8 status;
591 kal_bool notification_present;
592 kal_uint8 notification;
593 kal_uint16 cug_index;
594 l4ccsm_cc_ect_rdn_struct ect_rdn;
595 l4ccsm_cc_name_ind_struct name_ind;
596 l4ccsm_cc_ccbs_ind_struct ccbs_ind;
597} l4ccsm_cc_notify_ss_arg_struct;
598
599/*mtk01602, 053007: SATe Open Channel for CSD*/
600typedef struct {
601 kal_uint8 is_addr_present;
602 l4_addr_bcd_struct addr;
603 kal_uint8 is_subaddr_present;
604 l4ccsm_cc_sub_addr_struct subaddr;
605 kal_uint8 is_user_id_present;
606 kal_uint8 user_id[32];
607 kal_uint8 is_user_pwd_present;
608 kal_uint8 user_pwd[32];
609 kal_uint8 is_local_addr_present;
610 kal_uint8 local_addr[16]; //To be confirmed, Nick set it as length 16
611 sat_csd_bearer_para_struct sat_cbst; //refer 11.14 6.6.27; mandatory IE, no matter SIM provided or Default case.
612}l4ccsm_cc_sat_prof_struct;
613
614typedef struct {
615 LOCAL_PARA_HDR
616} l4ccsm_cc_dummy_local_para_struct;
617
618typedef struct {
619 LOCAL_PARA_HDR
620 kal_uint8 src_id;
621 kal_uint8 init_type; /* MAUI_01747506 separte startup to SIM and NVRAM */
622} l4ccsm_cc_startup_req_struct;
623
624typedef struct {
625 LOCAL_PARA_HDR
626 kal_uint8 src_id;
627 kal_uint8 init_type; /* MAUI_01747506 separte startup to SIM and NVRAM */
628 kal_uint8 response;
629 kal_uint16 cause;
630} l4ccsm_cc_startup_cnf_struct;
631
632typedef struct {
633 LOCAL_PARA_HDR
634 kal_uint8 channel_mode;
635 kal_uint8 rat;
636 kal_uint8 irho_speech_on_off;
637} l4ccsm_cc_attach_ind_struct;
638
639typedef struct {
640 LOCAL_PARA_HDR
641 kal_uint8 rat;
642 kal_uint8 irho_speech_on_off;
643} l4ccsm_cc_detach_ind_struct;
644
645typedef struct {
646 LOCAL_PARA_HDR
647 kal_uint8 src_id;
648} l4ccsm_cc_acm_reset_req_struct;
649
650typedef struct {
651 LOCAL_PARA_HDR
652 kal_uint8 src_id;
653 kal_uint8 response;
654 kal_uint16 cause;
655} l4ccsm_cc_acm_reset_cnf_struct;
656
657typedef struct {
658 LOCAL_PARA_HDR
659 kal_uint8 src_id;
660 kal_uint32 acmmax;
661} l4ccsm_cc_acmmax_set_req_struct;
662
663typedef struct {
664 LOCAL_PARA_HDR
665 kal_uint8 src_id;
666 kal_uint8 response;
667 kal_uint16 cause;
668} l4ccsm_cc_acmmax_set_cnf_struct;
669
670/* MAUI_01938414 [CSMCC][Revise] support reset last ccm */
671typedef struct {
672 LOCAL_PARA_HDR
673 kal_uint8 src_id;
674} l4ccsm_cc_last_ccm_reset_req_struct;
675
676typedef struct {
677 LOCAL_PARA_HDR
678} l4ccsm_cc_abort_call_req_struct;
679
680
681/* MAUI_01938414 [CSMCC][Revise] support reset last ccm */
682typedef struct {
683 LOCAL_PARA_HDR
684 kal_uint8 src_id;
685 kal_uint8 result;
686 kal_uint8 error_cause;
687} l4ccsm_cc_last_ccm_reset_cnf_struct;
688
689typedef struct {
690 LOCAL_PARA_HDR
691 kal_uint8 src_id;
692 kal_uint8 call_id;
693 kal_uint8 digit_count;
694 kal_uint8 dtmf_digit[MAX_CC_DTMF_BCD_LEN];
695} l4ccsm_cc_auto_dtmf_start_ind_struct;
696/* no_dtmf shold be less than MAX_CC_ADDR_BCD_LEN.
697 The extra last one entry is for null terminal. */
698
699typedef struct {
700 LOCAL_PARA_HDR
701 kal_uint8 src_id;
702 kal_uint8 call_id;
703} l4ccsm_cc_auto_dtmf_complete_ind_struct;
704
705typedef struct {
706 LOCAL_PARA_HDR
707 kal_uint8 src_id;
708 kal_uint8 call_id;
709 l4_addr_bcd_struct redirect_num;
710 kal_uint8 redirect_sub_addr_present;
711 l4ccsm_cc_sub_addr_struct redirect_sub_addr;
712} l4ccsm_cc_call_deflection_req_struct;
713
714typedef struct {
715 LOCAL_PARA_HDR
716 kal_uint8 src_id;
717 kal_uint8 call_id;
718 kal_uint8 response;
719 kal_uint8 cause_present;
720 kal_uint16 cause;
721} l4ccsm_cc_call_deflection_cnf_struct;
722
723typedef struct {
724 LOCAL_PARA_HDR
725 kal_uint8 src_id;
726 kal_uint8 call_id_present;
727 kal_uint8 call_id;
728 kal_uint8 crss_req;
729} l4ccsm_cc_crss_req_struct;
730
731typedef struct {
732 LOCAL_PARA_HDR
733 kal_uint8 src_id;
734 kal_uint8 call_id_present;
735 kal_uint8 call_id;
736 kal_uint8 response;
737 kal_uint8 cause_present;
738 kal_uint16 cause;
739 kal_uint8 crss_req; //mtk01602, 070718
740} l4ccsm_cc_crss_cnf_struct;
741
742typedef struct {
743 LOCAL_PARA_HDR
744 kal_uint8 src_id;
745 kal_uint8 call_id;
746 kal_uint32 ccm;
747 kal_uint32 acm;
748 kal_uint8 ccwv;
749} l4ccsm_cc_ccm_ind_struct;
750
751typedef struct {
752 LOCAL_PARA_HDR
753 kal_uint8 src_id;
754 kal_uint8 call_id;
755 kal_uint8 connected_sub_addr_present;
756 l4ccsm_cc_sub_addr_struct connected_sub_addr;
757} l4ccsm_cc_call_accept_req_struct;
758
759typedef struct {
760 LOCAL_PARA_HDR
761 kal_uint8 src_id;
762 kal_uint8 call_id;
763 kal_uint8 response;
764 kal_uint8 cause_present;
765 kal_uint16 cause;
766} l4ccsm_cc_call_accept_cnf_struct;
767
768typedef struct {
769 LOCAL_PARA_HDR
770 kal_uint8 src_id;
771 kal_uint8 call_id;
772 kal_uint8 alert;
773} l4ccsm_cc_call_alert_ind_struct;
774
775typedef struct {
776 LOCAL_PARA_HDR
777 kal_uint8 src_id;
778 kal_uint8 call_id;
779 kal_uint8 call_type;
780 kal_uint8 connected_number_present;
781 l4ccsm_cc_peer_addr_struct connected_number;
782 kal_uint8 connected_sub_addr_present;
783 l4ccsm_cc_sub_addr_struct connected_sub_addr;
784} l4ccsm_cc_call_connect_ind_struct;
785
786typedef struct {
787 LOCAL_PARA_HDR
788 kal_uint8 src_id;
789 kal_uint8 call_id;
790} l4ccsm_cc_call_disc_req_struct;
791
792typedef struct {
793 LOCAL_PARA_HDR
794 kal_uint8 call_id;
795} l4ccsm_cc_rel_comp_req_struct;
796
797typedef struct {
798 LOCAL_PARA_HDR
799 kal_uint8 is_mt_call_allowed;
800 kal_uint8 call_id;
801 kal_uint8 seq_num;
802 kal_uint16 reject_cause;
803} l4ccsm_cc_call_present_rsp_struct;
804
805typedef struct {
806 LOCAL_PARA_HDR
807 kal_uint8 src_id;
808 kal_uint8 call_id;
809 kal_uint8 response;
810 kal_uint8 call_type;
811 kal_uint32 ccm;
812} l4ccsm_cc_call_disc_cnf_struct;
813
814typedef struct {
815 LOCAL_PARA_HDR
816 kal_uint8 src_id;
817 kal_uint8 call_id;
818 l4ccsm_cc_modify_cmd_enum modify_cmd;
819} l4ccsm_cc_call_modify_req_struct;
820
821typedef struct {
822 LOCAL_PARA_HDR
823 kal_uint8 src_id;
824 kal_uint8 call_id;
825 kal_uint8 response;
826 kal_uint8 cur_call_type;
827 kal_uint8 cause_present;
828 kal_uint16 cause;
829} l4ccsm_cc_call_modify_cnf_struct;
830
831typedef struct {
832 LOCAL_PARA_HDR
833 kal_uint8 src_id;
834 kal_uint8 call_id;
835 kal_uint8 cur_call_type;
836} l4ccsm_cc_call_modify_ind_struct;
837
838typedef struct {
839 LOCAL_PARA_HDR
840 kal_uint8 src_id;
841 kal_uint8 call_id;
842 kal_uint8 preempt_type;
843} l4ccsm_cc_call_preempt_ind_struct;
844
845typedef struct {
846 LOCAL_PARA_HDR
847 kal_uint8 src_id;
848 kal_uint8 call_id;
849 kal_uint8 cause_present;
850 kal_uint16 cause;
851 kal_uint8 call_type;
852 kal_uint32 ccm;
853 kal_bool is_diagnostic_present;
854 kal_uint8 diagnostic;
855} l4ccsm_cc_call_rel_ind_struct;
856
857typedef struct {
858 LOCAL_PARA_HDR
859 kal_uint8 src_id;
860 kal_uint8 call_id;
861 l4_addr_bcd_struct called_number;
862 kal_uint8 called_sub_addr_present;
863 l4ccsm_cc_sub_addr_struct called_sub_addr;
864 kal_uint8 cug_info;
865 kal_uint8 clir_info_present;
866 kal_uint8 clir_info;
867 kal_uint8 call_priority_present;
868 kal_uint8 call_priority;
869 kal_uint8 call_type;
870 kal_uint8 redial;
871 //kal_uint8 csd_prof_id;
872 sat_csd_bearer_para_struct sat_cbst;
873 kal_uint8 is_cell_lock_call; //[MAUI_00751970]
874 kal_uint8 profile_type; //__DTCNT_SIM_PROFILES_SUPPORT__
875 kal_uint8 als_type; //MAUI_01647491 ALS_DIAL_BY_SETTING
876 kal_bool l4c_retry; //for_lv
877 kal_bool is_ecall;
878 ecall_type_enum ecall_type;
879} l4ccsm_cc_call_setup_req_struct;
880
881typedef struct {
882 LOCAL_PARA_HDR
883 kal_uint8 src_id;
884 kal_uint8 call_id_present;
885 kal_uint8 call_id;
886 kal_uint8 response;
887 kal_uint8 cause_present;
888 kal_uint16 cause;
889 kal_uint8 call_type;
890 sat_csd_bearer_para_struct sat_cbst;
891 kal_uint8 terminal_res;
892 kal_uint8 add_res;
893 kal_bool is_diagnostic_present;
894 kal_uint8 diagnostic;
895} l4ccsm_cc_call_setup_cnf_struct;
896
897typedef struct {
898 LOCAL_PARA_HDR
899 kal_uint8 src_id;
900 kal_uint8 call_id;
901 kal_uint8 signal_value_present;
902 kal_uint8 signal_value;
903 kal_uint8 alerting_pattern_present;
904 kal_uint8 alerting_pattern;
905 kal_uint8 cw_flag;
906 kal_uint8 auto_answer;
907 kal_uint8 call_type;
908 kal_uint8 calling_number_present;
909 l4ccsm_cc_peer_addr_struct calling_number;
910 kal_uint8 calling_sub_addr_present;
911 l4ccsm_cc_sub_addr_struct calling_sub_addr;
912 kal_uint8 redirecting_number_present;
913 l4ccsm_cc_peer_addr_struct redirecting_number;
914 kal_uint8 redirecting_sub_addr_present;
915 l4ccsm_cc_sub_addr_struct redirecting_sub_addr;
916 kal_uint8 no_cli_cause_present;
917 kal_uint8 no_cli_cause;
918 kal_uint8 call_priority_present;
919 kal_uint8 call_priority;
920} l4ccsm_cc_call_setup_ind_struct;
921
922typedef struct {
923 LOCAL_PARA_HDR
924 kal_uint8 src_id;
925 kal_uint8 call_id;
926 kal_uint8 ccbs_possible_present;
927 kal_uint8 ccbs_possible;
928 kal_uint16 cause;
929 kal_uint8 call_type;
930 kal_bool is_diagnostic_present;
931 kal_uint8 diagnostic;
932} l4ccsm_cc_call_disc_ind_struct;
933
934typedef struct {
935 LOCAL_PARA_HDR
936 kal_uint8 src_id;
937 kal_uint8 call_id;
938} l4ccsm_cc_data_activate_req_struct;
939
940typedef struct {
941 LOCAL_PARA_HDR
942 kal_uint8 src_id;
943 kal_uint8 call_id;
944 kal_uint8 response;
945} l4ccsm_cc_data_activate_cnf_struct;
946
947typedef struct {
948 LOCAL_PARA_HDR
949 kal_uint8 src_id;
950 kal_uint8 call_id;
951 l4_addr_bcd_struct called_number;
952 /*Cosine 070415: R4 new IE, Emergency Call Category*/
953 kal_uint8 service_category;
954 kal_bool l4c_retry; //for_lv
955 kal_bool is_ecall;
956 ecall_type_enum ecall_type;
957} l4ccsm_cc_emergency_call_setup_req_struct;
958
959typedef l4ccsm_cc_call_setup_cnf_struct l4ccsm_cc_emergency_call_setup_cnf_struct;
960
961#if 0
962/* under construction !*/
963/* under construction !*/
964/* under construction !*/
965/* under construction !*/
966/* under construction !*/
967/* under construction !*/
968/* under construction !*/
969/* under construction !*/
970/* under construction !*/
971#endif
972
973typedef struct {
974 LOCAL_PARA_HDR
975 kal_uint8 src_id;
976 kal_uint8 call_id;
977 l4ccsm_cc_notify_ss_arg_struct notify_ss_arg;
978 kal_uint8 ccbs_recall_numP;
979 l4_addr_bcd_struct ccbs_recall_num;
980} l4ccsm_cc_notify_ss_ind_struct;
981
982typedef struct {
983 LOCAL_PARA_HDR
984 kal_uint8 src_id;
985 kal_uint8 call_id;
986 kal_uint8 tone;
987} l4ccsm_cc_start_dtmf_req_struct;
988
989typedef struct {
990 LOCAL_PARA_HDR
991 kal_uint8 src_id;
992 kal_uint8 call_id;
993 kal_uint8 response;
994 kal_uint8 tone;
995 kal_uint8 cause_present;
996 kal_uint16 cause;
997} l4ccsm_cc_start_dtmf_cnf_struct;
998
999typedef struct {
1000 LOCAL_PARA_HDR
1001 kal_uint8 src_id;
1002 kal_uint8 call_id;
1003 kal_uint8 tone;
1004} l4ccsm_cc_stop_dtmf_req_struct;
1005
1006typedef struct {
1007 LOCAL_PARA_HDR
1008 kal_uint8 src_id;
1009 kal_uint8 call_id;
1010 kal_uint8 response;
1011 kal_uint8 tone;
1012 kal_uint8 cause_present;
1013 kal_uint16 cause;
1014} l4ccsm_cc_stop_dtmf_cnf_struct;
1015
1016typedef struct {
1017 LOCAL_PARA_HDR
1018 kal_uint8 src_id;
1019 kal_uint8 call_id;
1020 kal_uint8 sat_call_type;
1021 kal_uint8 called_sub_addr_present;
1022 l4ccsm_cc_sub_addr_struct called_sub_addr;
1023 kal_uint8 ccp_present;
1024 kal_uint8 ccp[MAX_SAT_SIZE_OF_CCP];
1025 kal_uint8 size_of_ccp;
1026///// kal_uint8 is_changed_from_ss;
1027 kal_uint8 type_of_modification;//mtk01616_070521
1028 /* MAUI_01736966 [L4C][CSM] STK support clir */
1029 kal_uint8 clir_info_present;
1030 kal_uint8 clir_info;
1031 /*Michael:the following parameter is added for SAT retry*/
1032 kal_bool l4c_retry;
1033 kal_bool is_emergency_call; //Cosine, 070831
1034} l4ccsm_cc_sat_setup_req_struct;
1035
1036typedef struct {
1037 LOCAL_PARA_HDR
1038 kal_uint8 src_id;
1039 kal_uint8 call_id;
1040 kal_uint8 response;
1041 kal_uint8 terminal_res;
1042 kal_uint8 additional_res;
1043 kal_uint8 connected_number_present;
1044 l4ccsm_cc_peer_addr_struct connected_number;
1045 kal_uint8 connected_sub_addr_present;
1046 l4ccsm_cc_sub_addr_struct connected_sub_addr;
1047//// kal_uint8 is_changed_from_ss;
1048 kal_uint8 type_of_modification;//mtk01616_070523
1049 /*Michael: following 4 parameters are added for SAT retry*/
1050 kal_uint8 cause_present;
1051 kal_uint16 cause;
1052 kal_uint8 size_of_ccp;
1053 kal_uint8 ccp[MAX_SAT_SIZE_OF_CCP];
1054} l4ccsm_cc_sat_setup_cnf_struct;
1055
1056typedef struct {
1057 LOCAL_PARA_HDR
1058 kal_uint8 is_esc_off;
1059 kal_uint8 port;
1060} l4ccsm_cc_uart_transfer_req_struct;
1061
1062typedef struct {
1063 LOCAL_PARA_HDR
1064 kal_uint8 port;
1065 kal_bool is_esc;
1066} l4ccsm_cc_uart_transfer_ind_struct;
1067/* Ripple: must the same with csm_l2r/tdt_esc_on_ind_struct, becasue CSM uses hold_local_para(). */
1068
1069typedef struct {
1070 LOCAL_PARA_HDR
1071 kal_uint8 src_id;
1072 kal_uint8 call_id;
1073 kal_uint8 call_type;
1074// kal_uint8 csd_prof_id;
1075 kal_uint32 user_rate;
1076 kal_uint8 profile_type; //__DTCNT_SIM_PROFILES_SUPPORT__
1077} l4ccsm_cc_csd_est_ind_struct;
1078
1079typedef struct {
1080 LOCAL_PARA_HDR
1081 kal_uint8 src_id;
1082 kal_uint8 call_id;
1083 kal_uint8 digit_count;
1084 kal_uint8 dtmf_digit[MAX_CC_DTMF_BCD_LEN];
1085} l4ccsm_cc_auto_dtmf_start_req_struct;
1086/* no_dtmf shold be less than MAX_CC_ADDR_BCD_LEN.
1087 The extra last one entry is for null terminal. */
1088
1089#ifdef __TCPIP__
1090//#include "custom_nvram_editor_data_item.h"
1091/*MAUI_02560318 remove the dependency of header file*/
1092typedef struct {
1093 LOCAL_PARA_HDR
1094 kal_uint8 src_id;
1095 l4ccsm_cc_sat_prof_struct sat_prof; //mtk01602, 070530: add for Nick SATe
1096 kal_uint8 profile_type; //__DTCNT_SIM_PROFILES_SUPPORT__
1097} l4ccsm_cc_set_csd_prof_req_struct;
1098
1099typedef struct {
1100 LOCAL_PARA_HDR
1101 kal_uint8 src_id;
1102 kal_uint8 result;
1103 kal_uint8 error_cause;
1104 sat_csd_bearer_para_struct sat_cbst; //mtk01602: use to send SIM modify indication
1105} l4ccsm_cc_set_csd_prof_cnf_struct;
1106#endif
1107
1108typedef struct {
1109 LOCAL_PARA_HDR
1110 kal_uint8 src_id;
1111 kal_uint8 line_id;
1112} l4ccsm_cphs_display_als_ind_struct;
1113
1114typedef struct {
1115 LOCAL_PARA_HDR
1116 kal_uint8 src_id;
1117 kal_uint8 line_id;
1118} l4ccsm_cc_update_als_req_struct;
1119
1120typedef struct {
1121 LOCAL_PARA_HDR
1122 kal_uint8 src_id;
1123 kal_uint8 result;
1124 kal_uint16 error_cause;
1125} l4ccsm_cc_update_als_cnf_struct;
1126
1127typedef struct {
1128 LOCAL_PARA_HDR
1129 kal_uint8 src_id;
1130 kal_bool call_exist;
1131} l4ccsm_cc_call_info_ind_struct;
1132
1133typedef struct {
1134 LOCAL_PARA_HDR
1135 kal_uint8 src_id;
1136 kal_uint8 no_dtmf;
1137 kal_uint8 dtmf[MAX_CC_DTMF_BCD_LEN];
1138} l4ccsm_cc_sat_send_dtmf_req_struct;
1139/* no_dtmf shold be less than MAX_CC_ADDR_BCD_LEN.
1140 The extra last one entry is for null terminal. */
1141
1142typedef struct {
1143 LOCAL_PARA_HDR
1144 kal_uint8 src_id;
1145} l4ccsm_cc_sat_abort_dtmf_req_struct;
1146
1147typedef struct {
1148 LOCAL_PARA_HDR
1149 kal_uint8 src_id;
1150 kal_uint8 res;
1151 kal_uint8 cause;
1152} l4ccsm_cc_sat_send_dtmf_cnf_struct;
1153
1154typedef struct {
1155 LOCAL_PARA_HDR
1156 kal_uint8 src_id;
1157 csmcc_cpi_msg_type_enum msg_type;
1158 kal_bool is_ibt;
1159 kal_bool is_tch;
1160 kal_bool numberP;
1161 l4_addr_bcd_struct number;
1162 kal_uint16 disc_cause; //Add for WM FTA
1163 kal_bool is_diagnostic_present;
1164 kal_uint8 diagnostic;
1165 l4c_call_entry_struct call_entry;
1166} l4ccsm_cc_cpi_ind_struct; /*mtk00924 add 041208 for +ECPI*/
1167
1168/* MAUI_01315252, update call state */
1169typedef struct {
1170 LOCAL_PARA_HDR
1171 kal_uint16 call_state;
1172 l4c_call_entry_struct call_entry;
1173} l4ccsm_cc_update_call_state_ind_struct;
1174
1175typedef struct {
1176 LOCAL_PARA_HDR
1177 kal_uint8 src_id;
1178 kal_uint8 call_id;
1179} l4ccsm_cc_call_sync_ind_struct; /*mtk00924 add 050727 for indicate MMI to get call info*/
1180
1181#ifdef __VIDEO_CALL_SUPPORT__
1182typedef struct {
1183 LOCAL_PARA_HDR
1184 kal_uint8 call_id;
1185 kal_uint8 action;/*csmcc_video_call_action_enum*/
1186 kal_bool result;
1187 kal_uint8 cause;
1188} l4ccsm_cc_video_call_status_ind_struct;
1189#endif
1190
1191typedef struct {
1192 LOCAL_PARA_HDR
1193 kal_uint8 src_id;
1194 kal_uint8 call_id;
1195 kal_uint8 signal_value_present;
1196 kal_uint8 signal_value;
1197 kal_uint8 alerting_pattern_present;
1198 kal_uint8 alerting_pattern;
1199 kal_uint8 cw_flag;
1200 kal_uint8 auto_answer;
1201 kal_uint8 call_type;
1202 kal_uint8 calling_number_present;
1203 l4ccsm_cc_peer_addr_struct calling_number;
1204 kal_uint8 calling_sub_addr_present;
1205 l4ccsm_cc_sub_addr_struct calling_sub_addr;
1206 kal_uint8 called_sub_addr_present;
1207 l4ccsm_cc_sub_addr_struct called_sub_addr;
1208 kal_uint8 redirecting_number_present;
1209 l4ccsm_cc_peer_addr_struct redirecting_number;
1210 kal_uint8 redirecting_sub_addr_present;
1211 l4ccsm_cc_sub_addr_struct redirecting_sub_addr;
1212 kal_uint8 no_cli_cause_present;
1213 kal_uint8 no_cli_cause;
1214 kal_uint8 call_priority_present;
1215 kal_uint8 call_priority;
1216 kal_uint8 seq_num;
1217}l4ccsm_cc_call_present_ind_struct;
1218
1219typedef struct {
1220 LOCAL_PARA_HDR
1221 kal_uint8 src_id;
1222 kal_uint8 num_of_call;
1223 l4ccsm_srvcc_call_cntxt_struct call_tbl[L4C_MAX_CALL_LIST_LEN];
1224} l4ccsm_cc_srvcc_transfer_req_struct;
1225
1226
1227
1228typedef struct {
1229 LOCAL_PARA_HDR
1230 kal_uint8 call_id;
1231 csmcc_cpi_msg_type_enum type;
1232 csmcc_call_orig_enum direction;
1233 kal_uint8 number[MAX_CC_ADDR_LEN + 1];
1234 kal_bool is_far_end;
1235 kal_uint16 disc_cause;
1236} l4ccsm_ims_call_progress_req_struct;
1237
1238typedef struct {
1239 LOCAL_PARA_HDR
1240 kal_bool call_status;
1241
1242} l4ccsm_ims_call_status_ind_struct;
1243
1244//if l4ccsm_cc_srvcc_transfer_cnf_struct.num_of_call = 0, means fail.
1245typedef l4ccsm_cc_srvcc_transfer_req_struct l4ccsm_cc_srvcc_transfer_cnf_struct;
1246
1247#ifdef __TC7__CS__SUPPORT__
1248
1249typedef enum {
1250 CALL_EXIST = 0,
1251 CALL_NO_EXIST
1252} cs_call_status_enum;
1253
1254typedef struct {
1255 kal_uint8 ref_count;
1256 kal_uint16 msg_len;
1257 cs_call_status_enum call_status;
1258 kal_uint8 is_mt_call;
1259}l4cuas_cs_status_req_struct;
1260#endif
1261
1262#endif
1263
1264