FreeCalypso > hg > fc-magnetite
view src/aci2/mfw/mfw_cm.h @ 77:3b2d13172b6c
cl_imei.c: implemented new FreeCalypso IMEI finding logic
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 02 Oct 2016 03:48:22 +0000 |
parents | 93999a60b835 |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------+ | PROJECT: MMI-Framework (8417) $Workfile:: mfw_cm.h $| | $Author:: Vo $Revision:: 1 $| | CREATED: 3.11.98 $Modtime:: 21.03.00 19:26 $| | STATE : code | +--------------------------------------------------------------------+ MODULE : MFW_CM PURPOSE : This modul contains the definition for call management. $History:: mfw_cm.h $ Feb 03, 200 REF: CRR 25960 x0012850 Description: Call Hold: While one call in Active and other in Held by swapping either of phone is not audible Solution: swapping action results in one of the calls getting muted. We attach user connection again. Oct 04, 2004 REF: CRR 25519 Deepa M.D Bug:Re-align structure members in MFW Fix:Structure elements have been realigned to avoid the structure padding // Jul 2, 2004 REF: CRR 21421 xvilliva // Bug: ALS:Action on the other line when change is locked. // Fix: A new error code is defined for handling error returned by ACI. * * ***************** Version 42 ***************** * User: Vo Date: 24.03.00 Time: 10:23 * Updated in $/GSM/Condat/MS/SRC/MFW * chang define value * * ***************** Version 41 ***************** * User: Vo Date: 15.03.00 Time: 18:17 * Updated in $/GSM/Condat/MS/SRC/MFW * New: Remote call control and Abort CM command * * ***************** Version 40 ***************** * User: Vo Date: 22.02.00 Time: 14:03 * Updated in $/GSM/Condat/MS/SRC/MFW * * ***************** Version 39 ***************** * User: Vo Date: 17.02.00 Time: 19:06 * Updated in $/GSM/Condat/MS/SRC/MFW * * ***************** Version 38 ***************** * User: Vo Date: 20.01.00 Time: 13:01 * Updated in $/GSM/Condat/MS/SRC/MFW * New: Manage fax/data/combinated call * New: New event CM_REDIAL_STOP to indicate that the reason of * failed connection is outside of defined category. * * ***************** Version 37 ***************** * User: Le Date: 13.12.99 Time: 8:50 * Updated in $/GSM/Condat/MS/SRC/MFW * * ***************** Version 36 ***************** * User: Vo Date: 11.11.99 Time: 14:22 * Updated in $/GSM/Condat/MS/SRC/MFW * New event and command define for DTMF tone * New prototype for requesting of autoredial mode * * ***************** Version 35 ***************** * User: Vo Date: 10.09.99 Time: 18:36 * Updated in $/GSM/DEV/MS/SRC/MFW * new prototype * * ***************** Version 34 ***************** * User: Vo Date: 30.08.99 Time: 13:53 * Updated in $/GSM/DEV/MS/SRC/MFW * new event, parameter for setting of AoC value * * ***************** Version 33 ***************** * User: Vo Date: 9.08.99 Time: 12:00 * Updated in $/GSM/DEV/MS/SRC/MFW * change definition (length of number (161 to 41)) * new return value "CM_CTRL_STR" * new cm command: "CM_SWAP_MULTIPARTY" * * ***************** Version 32 ***************** * User: Vo Date: 21.07.99 Time: 14:39 * Updated in $/GSM/DEV/MS/SRC/MFW * * ***************** Version 31 ***************** * User: Vo Date: 16.07.99 Time: 10:32 * Updated in $/GSM/DEV/MS/SRC/MFW * * ***************** Version 30 ***************** * User: Vo Date: 9.07.99 Time: 14:31 * Updated in $/GSM/DEV/MS/SRC/MFW * * ***************** Version 29 ***************** * User: Vo Date: 2.07.99 Time: 18:25 * Updated in $/GSM/DEV/MS/SRC/MFW * * ***************** Version 28 ***************** * User: Vo Date: 22.06.99 Time: 8:54 * Updated in $/GSM/DEV/MS/SRC/MFW * * * ***************** Version 1 ***************** * User: Vo Date: 20.11.98 Time: 13:40 * Created in $/GSM/DEV/MS/SRC/MFW * Call Management */ #ifndef DEF_MFW_CM_HEADER #define DEF_MFW_CM_HEADER /* #include "phb.h" RSA 20/12/01 - Removed */ #include"mfw_phb.h" #define MFW_STRING_LEN 161 #define MFW_NUM_LEN 41 #define MFW_TAG_LEN 21 #define MFW_SUBADR_LEN 21 #define MAX_LEN 21 #define MAX_CURRENCY 5 /* * events are organised as bitmaps */ #define E_CM_OK 0x0001 #define E_CM_CW 0x0002 #define E_CM_CONNECT 0x0004 #define E_CM_CONNECT_ACK 0x0008 #define E_CM_DISCONNECT 0x0010 #define E_CM_COMMAND 0x0020 #define E_CM_NOTIFY 0x0040 #define E_CM_REDIAL 0x0080 #define E_CM_COLP 0x0100 #define E_CM_RING_OFF 0x0200 #define E_CM_MO_RES 0x0400 #define E_CM_CPI 0x0800 #define E_CM_TIMER_EVERY_SECOND 0x1000 #define E_CM_AOC 0x2000 #define E_CM_AOC_CNF 0x4000 #define E_CM_DTMF 0x8000 #define E_CM_WAP_CALL_CONNECTED 0x10000 #define E_CM_CTYI 0x20000 /* SPR#1352 - SH */ /* Marcus: CCBS: 14/11/2002: Start */ #define E_CM_CCBS 0x40000 /* Marcus: CCBS: 14/11/2002: End */ #define E_CM_CALL_DEFLECT_STATUS 0x80000 /*SPR 1392*/ #define E_CM_DISCONNECT_ALL 0x100000 #define E_CM_ALL_SERVICES 0xFFFFFF /* Possible service code for a call number */ #define CM_OK 1 /* A mobile originated call attempt has been started. */ #define CM_EC 2 /* A mobile originated emergency call has been started. */ #define CM_SIM 3 /* The number has started a SIM control procedure. */ #define CM_SS 4 /* The number has started a supplementary service. */ #define CM_USSD 5 /* The number has started an unstructured SS. */ #define CM_MMI 6 /* The number define a MMI specific procedure. */ #define CM_ERROR 7 /* The number can not procedured. */ #define CM_BLACKLIST 8 /* The number is blacklisted. */ #define CM_NO_REG 9 /* The network is not registered. */ #define CM_NO_SERVICE 10 /* The service type of network is NO_SERVICE. */ #define CM_NO_CARRIER 11 /* No connection because of no carrier */ #define CM_NO_AOC 12 /* NO advice of charge information available */ #define CM_BUSY 13 /* No connection because of user busy */ #define CM_NO_ANSWER 14 /* No connection because of no answering */ #define CM_CTRL_STR 15 /* control string */ #define CM_ACM_MAX 16 /* ACM reachs maximal value */ #define CM_CFDN_ERR 17 /* check FDN number error */ #define CM_CBDN_ERR 18 /* check BDN number error */ #define CM_2CALLS_ALREADY_ERR 19/* 2 calls already, we can not perform a third outgoing call */ #define CM_CLI 20 /* CLI command complete */ #define CM_ALS_ERR 21//xvilliva 21421 - Handling err code returned by ACI. /* Definition for advice of charge */ #define CM_AOC_UNKNOWN 0 #define CM_AOC_INFO 20 /* AoC information from the network. */ #define CM_AOC_PUCT 21 /* PUCT is requested by MMI logic. */ #define CM_AOC_ACMMAX 22 /* ACM max is requested by MMI logic. */ #define CM_AOC_ACM 23 /* ACM is requested by MMI logic. */ #define CM_AOC_CCM 24 /* CCM is requested by MMI logic. */ #define CM_AOC_TIMERS 25 /* AoC timer values are requested. */ #define CM_AOC_CCM_PUCT 26 /* CCM using PUCT */ #define CM_AOC_ACM_PUCT 27 /* ACM using PUCT */ #define CM_AOC_RAW_PUCT 28 /* RAW PUCT */ /* Definition for redialing */ #define CM_REDIAL_OFF 0 /* no redialing */ #define CM_REDIAL_AUTO 1 /* automatic redialing */ #define CM_REDIAL_MANU 2 /* manual redialing */ #define CM_REDIAL_BLACKLIST 33 /* reset blacklist */ #define CM_REDIAL_NO_SERVICE 34 /* mobile out the cell */ #define CM_REDIAL_INCOMING 35 /* redial abort because of incoming call */ #define CM_REDIAL_ABORTED 36 /* abort redial fromm MMI */ #define CM_REDIAL_STARTED 37 /* start autoredial */ #define CM_REDIAL_ATTEMPT 38 /* start redial call */ #define CM_REDIAL_BLACKLISTED 39 /* Redialing number is blacklisted */ #define CM_REDIAL_OUTGOING 40 /* redial abort because of outgoing call */ #define CM_REDIAL_SUCCESS 41 /* Redialing is successful */ #define CM_REDIAL_STOP 42 /* Stop redialing (outside of category) */ /* definition of commands for call related supplementary service */ #define CM_COMMAND_UNKNOWN 0 #define CM_HOLD 1 /* initiate call hold */ #define CM_RETRIEVE 2 /* initiate call retrieve */ #define CM_BUILD_MULTIPARTY 3 /* build a multiparty */ #define CM_HOLD_MULTIPARTY 4 /* set multiparty on hold */ #define CM_RETRIEVE_MULTIPARTY 5 /* set multiparty on active */ #define CM_SPLIT_MULTIPARTY 6 /* split a multiparty */ #define CM_ETC 7 /* enable explicit call transfer */ #define CM_CALL_DEFLECTION 8 /* redirection of incomming call */ #define CM_CCBS 9 /* completion on call busy subscriber */ #define CM_MODIFY 10 /* initiate in-call modification */ #define CM_DTMF_ACTIVE 11 /* enable DTMF signalling */ #define CM_DTMF_INACTIVE 12 /* disable DTMF signalling */ #define CM_SWAP 13 /* swap of two calls */ #define CM_SWAP_MULTIPARTY 14 #define CM_DTMF_AUTO 15 /* DTMF signalling with defined length of tones */ #define CM_DISCONNECT_ALL_RESULT_ERROR 0 #define CM_DISCONNECT_ALL_RESULT_OK 1 #define MIN_DURATION_1 7000 /* time of the 1th redialing */ #define MIN_DURATION_2_4 70000 /* time of the 2th to 4st redialing */ #define MIN_DURATION_5 200000 /* time of the 5th or over redialing */ typedef enum /* definition of the result */ { CM_AOC_CONF_UNKNOWN, CM_AOC_CONF_OK, CM_AOC_CONF_SIMPIN2REQ, CM_AOC_CONF_WRONGPASSWD, CM_AOC_CONF_OPNOTALLOW, CM_AOC_CONF_ACMRESETNEEDED } T_MFW_AOC_CNF_RES; typedef enum /* type of call progress information */ { CPI_TYPE_UNKNOWN = -1, CPI_TYPE_SETUP, /* call setup */ CPI_TYPE_DISC, /* call disconnect */ CPI_TYPE_ALERT, /* call alerting */ CPI_TYPE_PROC, /* call proceeding */ CPI_TYPE_SYNC, /* TCH assigment */ CPI_TYPE_CONN, CPI_TYPE_RELEASE, /* Call released cq111676 17-02-04 */ CPI_TYPE_REJECT /* Call rejected cq11676 17-02-04 */ } T_MFW_CPI_TYPE; typedef enum /* inband tone */ { CPI_IBT_UNKNOWN = -1, CPI_IBT_FALSE, CPI_IBT_TRUE } T_MFW_CPI_IBT; typedef enum /* TCH */ { CPI_TCH_UNKNOWN = -1, CPI_TCH_FALSE, CPI_TCH_TRUE } T_MFW_CPI_TCH; typedef enum /* type of call */ { NONE_TYPE, VOICE_CALL, AuxVOICE_CALL, DATA_CALL, FAX_CALL, VFD_VOICE, /* voice followed data, voice mode */ VAD_VOICE, /* voice alternating data, voice mode */ VAF_VOICE, /* voice alternating fax, voice mode */ VFD_DATA, /* voice followed data, data mode */ VAD_DATA, /* voice alternating data, data mode */ VAF_FAX /* voice alternating fax, fax mode */ } T_MFW_CM_CALL_TYPE; typedef enum /* direction of call */ { MFW_CM_INV_DIR = -1, MFW_CM_MOC, MFW_CM_MTC } T_MFW_CM_CALL_DIR; /* Result of operation */ typedef enum { NotPresent, Present } T_MFW_CM_RESULT; /* Call status */ typedef enum { NOT_PRESENT, CALL_HELD, CALL_ACTIVE, CALL_DEACTIVE, CALL_WAIT, CALL_DIAL, CALL_ALERT } T_MFW_CM_CALL_STAT; /* Bearer parameter */ typedef enum /* data rate */ { SPEED_300, SPEED_1200, SPEED_2400, SPEED_4800, SPEED_9600, SPEED_14400 } T_MFW_CM_DATA_SPEED; typedef enum /* bearer service */ { Asynch, Synch } T_MFW_CM_BS; typedef enum /* connection element */ { Transparent, NonTransparent } T_MFW_CM_CE; typedef enum /* connection element */ { Linear, Circular } T_MFW_CM_RI; typedef enum /* SS notification result code */ { MFW_CM_NOTIFY_UNKNOWN, MFW_CM_HOLD, /* call has been put on hold */ MFW_CM_RETRIEVED /* call has been retrieved */ } T_MFW_CM_NOTIFY_CODES; typedef enum /* connection element */ { MFW_MPTY_NotPresent = -1, MFW_NO_MTPY_MEMBER, MFW_MTPY_MEMBER } T_MFW_MTPY_MEMBER; typedef UBYTE T_CM_CLI; typedef struct { SHORT call_number; UBYTE cause; } T_MFW_CM_DISCONNECT; typedef struct { UBYTE result; UBYTE cause; } T_MFW_CM_DISCONNECT_ALL; typedef struct { UBYTE rate; /* used baud rate */ UBYTE bearer_serv; /* used bearer service */ UBYTE conn_elem; /* used connect_element */ UBYTE stop_bits; /* used stop bits */ UBYTE data_bits; /* used data bits */ UBYTE parity; /* used parity */ UBYTE flow_control; /* used flow control */ } T_MFW_CM_BC_PARA; #ifdef NO_ASCIIZ typedef struct { SHORT call_id; /* call identify */ UBYTE number[MFW_NUM_LEN]; /* call number */ UBYTE ton; /* type of number */ UBYTE type; T_MFW_PHB_TEXT name; /* alpha identfier */ UBYTE subaddr[MFW_SUBADR_LEN]; /* subaddress */ } T_MFW_CM_MO_INFO; /* type definition for E_CM_COLP event */ #else typedef struct { SHORT call_id; /* call identify */ UBYTE number[MFW_NUM_LEN]; /* call number */ UBYTE ton; /* type of number */ UBYTE type; UBYTE name[MFW_TAG_LEN]; /* alpha identfier */ UBYTE subaddr[MFW_SUBADR_LEN]; /* subaddress */ } T_MFW_CM_MO_INFO; /* type definition for E_CM_COLP event */ #endif typedef struct { UBYTE result; /* result of operation */ SHORT call_number; /* call index */ UBYTE number[MFW_NUM_LEN]; /* call number */ UBYTE ton; /* type of number */ T_MFW_CM_CALL_TYPE type; /* type of this call */ #ifdef NO_ASCIIZ T_MFW_PHB_TEXT name; /* alpha identfier */ #else UBYTE name[MFW_TAG_LEN]; /* alpha identfier */ #endif UBYTE subaddr[MFW_SUBADR_LEN]; /* subaddress */ UBYTE ri; /* repeat indicator */ T_MFW_CM_BC_PARA bc1; /* bearer parameter 1 */ T_MFW_CM_BC_PARA bc2; /* bearer parameter 2 */ } T_MFW_CM_CW_INFO; /* type definition for E_CM_CW (indicator a new incomming call) event */ /* Marcus: CCBS: 14/11/2002: Start */ /* Type definitions for E_CM_CCBS events */ typedef enum { CM_CCBS_NONE, /* Used to indicate no CCBS operation in progress */ CM_CCBS_DELETE_ALL, /* Response to cm_ccbs_delete_all */ CM_CCBS_DELETE, /* Response to cm_ccbs_delete */ CM_CCBS_LIST, /* Response to cm_ccbs_list */ CM_CCBS_ACCEPT_REGISTRATION, /* Response to cm_ccbs_accept_registration */ CM_CCBS_REJECT_REGISTRATION, /* Response to cm_ccbs_reject_registration */ CM_CCBS_ACCEPT_RECALL, /* Response to cm_ccbs_accept_recall */ CM_CCBS_REJECT_RECALL, /* Response to cm_ccbs_reject_recall */ CM_CCBS_ASYNC /* An asynchronous event not related to an operation */ } T_MFW_CM_CCBS_OP; /* Type definition for the operation associated E_CM_CCBS event */ typedef enum { CM_CCBS_INFO, /* rAT_PercentCCBS information */ CM_CCBS_OK, /* OK completion of a CCBS operation */ CM_CCBS_ERROR /* ERROR completion of a CCBS operation */ } T_MFW_CM_CCBS_TYPE; /* Type definition for the type of E_CM_CCBS event */ typedef struct { T_MFW_CM_CCBS_OP operation; /* CCBS operation in progress */ T_MFW_CM_CCBS_TYPE type; /* type of E_CM_CCBS event */ T_ACI_CCBS_IND indct; /* Type of CM_CCBS_INFO indication */ T_ACI_CCBS_STAT status; /* Status of CM_CCBS_INFO indication */ SHORT idx; /* Index to specific CCBS (1..5), else 0 */ UBYTE number[MFW_NUM_LEN]; /* call number */ UBYTE ton; /* type of number */ T_MFW_CM_CALL_TYPE call_type; /* type of this call */ UBYTE subaddr[MFW_SUBADR_LEN]; /* subaddress */ T_ACI_ALRT_PTRN alrtPtn; /* Alerting pattern */ } T_MFW_CM_CCBS_INFO; /* type definition for E_CM_CCBS event */ /* Marcus: CCBS: 14/11/2002: End */ typedef struct { SHORT call_number; /* number of call */ UBYTE command; /* requested command */ UBYTE result; /* result of operation */ } T_MFW_CM_COMMAND; /* type definition for E_CM_COMMAND (ss command) event */ /***************************Go-lite Optimization changes Start***********************/ // PATCH TB Add 10 to acm_puct & acm_puct avoid buffer override //Oct 04, 2004 REF: CRR 25519 Deepa M.D //Structure elements (T_MFW_CM_AOC_INFO)are realigned to avoid the structure padding typedef struct { LONG actual_call_timer; /* time of actual call */ LONG ccm; /* current call meter */ LONG acm; /* accumulated call meter */ LONG acm_max; /* accumulated call meter maximum PUCT */ ULONG eppu; /* elementary price per unit */ ULONG exp; /* decimal logarithm */ UBYTE ccm_puct[MAX_LEN+10]; /* current call meter using PUCT */ UBYTE acm_puct[MAX_LEN+10]; /* accumulated call meter using PUCT */ UBYTE ppu[MAX_LEN]; /* price per unit */ UBYTE cur[MAX_CURRENCY]; /* currency table */ ULONG sexp; /* sign of decimal logarithm */ UBYTE requested_type; /* requested type */ } T_MFW_CM_AOC_INFO; /* type definition for E_CM_AOC event. */ /***************************Go-lite Optimization changes end***********************/ typedef struct { UBYTE requested_type; T_MFW_AOC_CNF_RES result; } T_MFW_CM_AOC_CNF; /* type definition for E_CM_AOC_CONF event */ /***************************Go-lite Optimization changes Start***********************/ //Oct 04, 2004 REF: CRR 25519 Deepa M.D //Structure elements (T_MFW_CM_REDIAL)are realigned to avoid the structure padding typedef struct { #ifdef NO_ASCIIZ T_MFW_PHB_TEXT name; /* alpha identfier */ #else UBYTE name[MFW_TAG_LEN]; /* alpha identfier */ #endif UBYTE number[MFW_NUM_LEN]; /* called number */ UBYTE subaddr[MFW_SUBADR_LEN]; /* subaddress */ SHORT call_id; /* call identify */ UBYTE ton; /* type of number */ UBYTE type; UBYTE left_attempts; /* redialing left attempts */ UBYTE redial_mode; /* redial mode */ } T_MFW_CM_REDIAL; /* type definition for E_CM_REDIAL event. */ /***************************Go-lite Optimization changes end***********************/ /* Call status information */ typedef struct { SHORT call_number; UBYTE stat; /* T_MFW_CM_CALL_STAT */ UBYTE number[MFW_NUM_LEN]; /* called number */ UBYTE ton; /* type of number */ T_MFW_CM_CALL_TYPE type; /* type of call */ #ifdef NO_ASCIIZ T_MFW_PHB_TEXT name; /* alpha identfier */ #else UBYTE name[MFW_TAG_LEN]; /* alpha identfier */ #endif T_MFW_MTPY_MEMBER mtpy; T_MFW_CM_CALL_DIR call_direction; } T_MFW_CM_STATUS; /* Notify message */ typedef struct { SHORT call_number; T_MFW_CM_NOTIFY_CODES notification; } T_MFW_CM_NOTIFY; /***************************Go-lite Optimization changes Start***********************/ /* call progress information */ //Oct 04, 2004 REF: CRR 25519 Deepa M.D //Structure elements (T_MFW_CM_CPI)are realigned to avoid the structure padding typedef struct { T_MFW_CPI_TYPE type; T_MFW_CPI_IBT inband; T_MFW_CPI_TCH tch; SHORT call_number; USHORT cause; /* cq11676 Add the CPI cause element 17-02-04 MZ */ } T_MFW_CM_CPI; /***************************Go-lite Optimization changes end***********************/ /* SPR#1352 - SH - TTY information */ /* This structure passes TTY status to the MMI */ typedef struct { UBYTE neg; /* Status of TTY request - possible values below*/ } T_MFW_CM_CTYI; /* Possible values from CTYI callback - indicates TTY status*/ enum { CTYI_NONE, CTYI_REQUEST, CTYI_REJECT, CTYI_GRANT }; /* end SH */ /* * CM Parameter */ typedef union { T_MFW_CM_DISCONNECT disconnect; T_MFW_CM_DISCONNECT_ALL disconnect_all; T_MFW_CM_CW_INFO cw_info; T_MFW_CM_COMMAND command; T_MFW_CM_AOC_INFO aoc_info; T_MFW_CM_REDIAL rdl; T_MFW_CM_NOTIFY notify; T_MFW_CM_CPI cm_cpi; SHORT call_id; T_MFW_CM_AOC_CNF aoc_cnf; UBYTE dtmf_tone; // PATCH - add new parameter T_MFW_CM_MO_INFO mo_data; T_MFW_CM_CCBS_INFO ccbs; // Marcus: CCBS: 14/11/2002 // END PATCH /*MC, SPR 1392, added call deflection status param*/ BOOL call_deflect_status; /* SPR#1352 - SH - Add parameter for TTY */ T_MFW_CM_CTYI ctyi; /* end SH*/ } T_MFW_CM_PARA; EXTERN void cm_init (void); EXTERN T_MFW_HND cm_create (T_MFW_HND hWin, T_MFW_EVENT event, T_MFW_CB cbfunc); EXTERN T_MFW_RES cm_delete (T_MFW_HND h); EXTERN T_MFW cm_check_emergency (UBYTE *number); EXTERN T_MFW cm_mo_call (UBYTE *number, T_MFW_CM_CALL_TYPE type); EXTERN void cm_mt_reject (void); EXTERN void cm_mt_accept (void); EXTERN void cm_end_all (void); EXTERN T_MFW cm_disconnect (SHORT call_number); EXTERN T_MFW cm_command (SHORT call_number, UBYTE command, UBYTE crss_string); EXTERN T_MFW cm_get_aoc_value (UBYTE request_type, T_MFW_CM_AOC_INFO *aoc_info); EXTERN T_MFW cm_set_aoc_value (UBYTE request_type, T_MFW_CM_AOC_INFO *aoc_info, UBYTE *pwd); EXTERN void cm_set_bc_para (T_MFW_CM_BC_PARA * bc, UBYTE ti); EXTERN void cm_set_redial (UBYTE redial_mode); EXTERN void cm_redial (void); EXTERN void cm_autoredial_start (void); EXTERN void cm_redial_abort (void); EXTERN UBYTE cm_redial_get_count (void); EXTERN int cm_status (SHORT call_number, T_MFW_CM_STATUS *status, UBYTE num); EXTERN void cm_exit (void); EXTERN T_CM_CLI cm_mo_prefix (T_CM_CLI prefix); EXTERN T_MFW cm_get_redial_mode (void); EXTERN T_MFW cm_command_abort (UBYTE command); /*MC, SPR 1392*/ T_MFW cm_deflect_incoming_call(char* number); void cm_ok_CTFR(void); void cm_error_CTFR(void); /* Marcus: CCBS: 13/11/2002: Start */ EXTERN T_MFW cm_ccbs_delete_all(void); EXTERN T_MFW cm_ccbs_delete(SHORT idx); EXTERN T_MFW cm_ccbs_list(void); EXTERN T_MFW cm_ccbs_accept_registration(void); EXTERN T_MFW cm_ccbs_reject_registration(void); EXTERN T_MFW cm_ccbs_accept_recall(UBYTE *number, T_MFW_CM_CALL_TYPE type); EXTERN T_MFW cm_ccbs_reject_recall(void); EXTERN void cm_ccbs_ok(void); EXTERN void cm_ccbs_error(void); /* Marcus: CCBS: 13/11/2002: End */ /* SPR#1985 - SH - TTY */ void cm_tty_enable(UBYTE enable); void cm_tty_query(void); // Feb 03, 200 REF: CRR 25960 x0012850 // Description: Call Hold: While one call in Active and other in Held by swapping either of phone is not audible // Prototype for function cm_setSpeechMode() EXTERN void cm_setSpeechMode(void); EXTERN void cm_force_disconnect(void); #endif