FreeCalypso > hg > fc-magnetite
comparison src/ui3/mfw/mfw_cm.h @ 420:e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 21 Jan 2018 03:09:00 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
419:59143cd42ec7 | 420:e8ddbb0837ed |
---|---|
1 /* | |
2 +--------------------------------------------------------------------+ | |
3 | PROJECT: MMI-Framework (8417) $Workfile:: mfw_cm.h $| | |
4 | $Author:: Vo $Revision:: 1 $| | |
5 | CREATED: 3.11.98 $Modtime:: 21.03.00 19:26 $| | |
6 | STATE : code | | |
7 +--------------------------------------------------------------------+ | |
8 | |
9 MODULE : MFW_CM | |
10 | |
11 PURPOSE : This modul contains the definition for call management. | |
12 | |
13 | |
14 $History:: mfw_cm.h $ | |
15 | |
16 Jan 09, 2007 REF: OMAPS00110541 x0039928 | |
17 Description: In N12.15 release, Ram usage of BMI plus MFW got increased by 2.5 k | |
18 Solution: Changed the #defines of MFW_NUM_LEN and MAX_LEN | |
19 | |
20 Dec 20, 2006 DR:OMAPS00108192 a0393213(R.Prabakar) | |
21 Description : Continous DTMF tones for simultanous keypress | |
22 Solution : Nesting of START-STOP sequence was not taken care of. Now they are taken care of. | |
23 | |
24 Dec 13, 2006 DR:OMAPS00107103 a0393213(R.Prabakar) | |
25 Description : No DTMF tones for simultanous keypress | |
26 Solution : Once there was some problem in sending DTMF tones, the problem persisted till the next reset. | |
27 This was because the queue was not getting flushed once the call was ended. | |
28 Now the queue is flushed once the call is ended. | |
29 | |
30 Nov 17, 2006 REF:DR:OMAPS00104580 x0039928 | |
31 Description: CT GCF - TC27.22.4.13.1 Seq 1.10 - PROACTIVE SIM COMMANDS: | |
32 SET UP CALL (NORMAL) - Call Set-up Failed | |
33 Solution: Removed the Redial flag enabling code and changed the number length. | |
34 | |
35 Feb 03, 200 REF: CRR 25960 x0012850 | |
36 Description: Call Hold: While one call in Active and other in Held by swapping either of phone is not audible | |
37 Solution: swapping action results in one of the calls getting muted. We attach user connection again. | |
38 | |
39 Oct 04, 2004 REF: CRR 25519 Deepa M.D | |
40 Bug:Re-align structure members in MFW | |
41 Fix:Structure elements have been realigned to avoid the structure padding | |
42 | |
43 // Jul 2, 2004 REF: CRR 21421 xvilliva | |
44 // Bug: ALS:Action on the other line when change is locked. | |
45 // Fix: A new error code is defined for handling error returned by ACI. | |
46 | |
47 | |
48 * | |
49 * ***************** Version 42 ***************** | |
50 * User: Vo Date: 24.03.00 Time: 10:23 | |
51 * Updated in $/GSM/Condat/MS/SRC/MFW | |
52 * chang define value | |
53 * | |
54 * ***************** Version 41 ***************** | |
55 * User: Vo Date: 15.03.00 Time: 18:17 | |
56 * Updated in $/GSM/Condat/MS/SRC/MFW | |
57 * New: Remote call control and Abort CM command | |
58 * | |
59 * ***************** Version 40 ***************** | |
60 * User: Vo Date: 22.02.00 Time: 14:03 | |
61 * Updated in $/GSM/Condat/MS/SRC/MFW | |
62 * | |
63 * ***************** Version 39 ***************** | |
64 * User: Vo Date: 17.02.00 Time: 19:06 | |
65 * Updated in $/GSM/Condat/MS/SRC/MFW | |
66 * | |
67 * ***************** Version 38 ***************** | |
68 * User: Vo Date: 20.01.00 Time: 13:01 | |
69 * Updated in $/GSM/Condat/MS/SRC/MFW | |
70 * New: Manage fax/data/combinated call | |
71 * New: New event CM_REDIAL_STOP to indicate that the reason of | |
72 * failed connection is outside of defined category. | |
73 * | |
74 * ***************** Version 37 ***************** | |
75 * User: Le Date: 13.12.99 Time: 8:50 | |
76 * Updated in $/GSM/Condat/MS/SRC/MFW | |
77 * | |
78 * ***************** Version 36 ***************** | |
79 * User: Vo Date: 11.11.99 Time: 14:22 | |
80 * Updated in $/GSM/Condat/MS/SRC/MFW | |
81 * New event and command define for DTMF tone | |
82 * New prototype for requesting of autoredial mode | |
83 * | |
84 * ***************** Version 35 ***************** | |
85 * User: Vo Date: 10.09.99 Time: 18:36 | |
86 * Updated in $/GSM/DEV/MS/SRC/MFW | |
87 * new prototype | |
88 * | |
89 * ***************** Version 34 ***************** | |
90 * User: Vo Date: 30.08.99 Time: 13:53 | |
91 * Updated in $/GSM/DEV/MS/SRC/MFW | |
92 * new event, parameter for setting of AoC value | |
93 * | |
94 * ***************** Version 33 ***************** | |
95 * User: Vo Date: 9.08.99 Time: 12:00 | |
96 * Updated in $/GSM/DEV/MS/SRC/MFW | |
97 * change definition (length of number (161 to 41)) | |
98 * new return value "CM_CTRL_STR" | |
99 * new cm command: "CM_SWAP_MULTIPARTY" | |
100 * | |
101 * ***************** Version 32 ***************** | |
102 * User: Vo Date: 21.07.99 Time: 14:39 | |
103 * Updated in $/GSM/DEV/MS/SRC/MFW | |
104 * | |
105 * ***************** Version 31 ***************** | |
106 * User: Vo Date: 16.07.99 Time: 10:32 | |
107 * Updated in $/GSM/DEV/MS/SRC/MFW | |
108 * | |
109 * ***************** Version 30 ***************** | |
110 * User: Vo Date: 9.07.99 Time: 14:31 | |
111 * Updated in $/GSM/DEV/MS/SRC/MFW | |
112 * | |
113 * ***************** Version 29 ***************** | |
114 * User: Vo Date: 2.07.99 Time: 18:25 | |
115 * Updated in $/GSM/DEV/MS/SRC/MFW | |
116 * | |
117 * ***************** Version 28 ***************** | |
118 * User: Vo Date: 22.06.99 Time: 8:54 | |
119 * Updated in $/GSM/DEV/MS/SRC/MFW | |
120 * | |
121 * | |
122 * ***************** Version 1 ***************** | |
123 * User: Vo Date: 20.11.98 Time: 13:40 | |
124 * Created in $/GSM/DEV/MS/SRC/MFW | |
125 * Call Management | |
126 | |
127 Mar 28, 2006 REF:ER OMAPS00071798 x0043642 | |
128 Added new options in BMI to accept the value for tty audio mode, | |
129 and the accepted value is passed as parameter in function call sAT_PercentCTTY | |
130 | |
131 */ | |
132 | |
133 #ifndef DEF_MFW_CM_HEADER | |
134 #define DEF_MFW_CM_HEADER | |
135 | |
136 | |
137 | |
138 /* #include "phb.h" RSA 20/12/01 - Removed */ | |
139 #include"mfw_phb.h" | |
140 | |
141 #define MFW_STRING_LEN 161 | |
142 #define MFW_NUM_LEN 41 /* Jan 09, 2007 REF: OMAPS00110541 x0039928 */ | |
143 #define MFW_TAG_LEN 21 | |
144 #define MFW_SUBADR_LEN 21 | |
145 #define MAX_LEN 21 /* Jan 09, 2007 REF: OMAPS00110541 x0039928 */ | |
146 #define MAX_CURRENCY 5 | |
147 | |
148 /* | |
149 * events are organised as bitmaps | |
150 */ | |
151 #define E_CM_OK 0x0001 | |
152 #define E_CM_CW 0x0002 | |
153 #define E_CM_CONNECT 0x0004 | |
154 #define E_CM_CONNECT_ACK 0x0008 | |
155 #define E_CM_DISCONNECT 0x0010 | |
156 #define E_CM_COMMAND 0x0020 | |
157 #define E_CM_NOTIFY 0x0040 | |
158 #define E_CM_REDIAL 0x0080 | |
159 #define E_CM_COLP 0x0100 | |
160 #define E_CM_RING_OFF 0x0200 | |
161 #define E_CM_MO_RES 0x0400 | |
162 #define E_CM_CPI 0x0800 | |
163 #define E_CM_TIMER_EVERY_SECOND 0x1000 | |
164 #define E_CM_AOC 0x2000 | |
165 #define E_CM_AOC_CNF 0x4000 | |
166 #define E_CM_DTMF 0x8000 | |
167 #define E_CM_WAP_CALL_CONNECTED 0x10000 | |
168 #define E_CM_CTYI 0x20000 /* SPR#1352 - SH */ | |
169 /* Marcus: CCBS: 14/11/2002: Start */ | |
170 #define E_CM_CCBS 0x40000 | |
171 /* Marcus: CCBS: 14/11/2002: End */ | |
172 #define E_CM_CALL_DEFLECT_STATUS 0x80000 /*SPR 1392*/ | |
173 #define E_CM_DISCONNECT_ALL 0x100000 | |
174 #define E_CM_ALL_SERVICES 0xFFFFFF | |
175 | |
176 /* Possible service code for a call number */ | |
177 #define CM_OK 1 /* A mobile originated call attempt has been started. */ | |
178 #define CM_EC 2 /* A mobile originated emergency call has been started. */ | |
179 #define CM_SIM 3 /* The number has started a SIM control procedure. */ | |
180 #define CM_SS 4 /* The number has started a supplementary service. */ | |
181 #define CM_USSD 5 /* The number has started an unstructured SS. */ | |
182 #define CM_MMI 6 /* The number define a MMI specific procedure. */ | |
183 #define CM_ERROR 7 /* The number can not procedured. */ | |
184 #define CM_BLACKLIST 8 /* The number is blacklisted. */ | |
185 #define CM_NO_REG 9 /* The network is not registered. */ | |
186 #define CM_NO_SERVICE 10 /* The service type of network is NO_SERVICE. */ | |
187 #define CM_NO_CARRIER 11 /* No connection because of no carrier */ | |
188 #define CM_NO_AOC 12 /* NO advice of charge information available */ | |
189 #define CM_BUSY 13 /* No connection because of user busy */ | |
190 #define CM_NO_ANSWER 14 /* No connection because of no answering */ | |
191 #define CM_CTRL_STR 15 /* control string */ | |
192 #define CM_ACM_MAX 16 /* ACM reachs maximal value */ | |
193 #define CM_CFDN_ERR 17 /* check FDN number error */ | |
194 #define CM_CBDN_ERR 18 /* check BDN number error */ | |
195 #define CM_2CALLS_ALREADY_ERR 19/* 2 calls already, we can not perform a third outgoing call */ | |
196 #define CM_CLI 20 /* CLI command complete */ | |
197 #define CM_ALS_ERR 21//xvilliva 21421 - Handling err code returned by ACI. | |
198 | |
199 /* Definition for advice of charge */ | |
200 #define CM_AOC_UNKNOWN 0 | |
201 #define CM_AOC_INFO 20 /* AoC information from the network. */ | |
202 #define CM_AOC_PUCT 21 /* PUCT is requested by MMI logic. */ | |
203 #define CM_AOC_ACMMAX 22 /* ACM max is requested by MMI logic. */ | |
204 #define CM_AOC_ACM 23 /* ACM is requested by MMI logic. */ | |
205 #define CM_AOC_CCM 24 /* CCM is requested by MMI logic. */ | |
206 #define CM_AOC_TIMERS 25 /* AoC timer values are requested. */ | |
207 #define CM_AOC_CCM_PUCT 26 /* CCM using PUCT */ | |
208 #define CM_AOC_ACM_PUCT 27 /* ACM using PUCT */ | |
209 #define CM_AOC_RAW_PUCT 28 /* RAW PUCT */ | |
210 | |
211 /* Definition for redialing */ | |
212 #define CM_REDIAL_OFF 0 /* no redialing */ | |
213 #define CM_REDIAL_AUTO 1 /* automatic redialing */ | |
214 #define CM_REDIAL_MANU 2 /* manual redialing */ | |
215 | |
216 #define CM_REDIAL_BLACKLIST 33 /* reset blacklist */ | |
217 #define CM_REDIAL_NO_SERVICE 34 /* mobile out the cell */ | |
218 #define CM_REDIAL_INCOMING 35 /* redial abort because of incoming call */ | |
219 #define CM_REDIAL_ABORTED 36 /* abort redial fromm MMI */ | |
220 #define CM_REDIAL_STARTED 37 /* start autoredial */ | |
221 #define CM_REDIAL_ATTEMPT 38 /* start redial call */ | |
222 #define CM_REDIAL_BLACKLISTED 39 /* Redialing number is blacklisted */ | |
223 #define CM_REDIAL_OUTGOING 40 /* redial abort because of outgoing call */ | |
224 #define CM_REDIAL_SUCCESS 41 /* Redialing is successful */ | |
225 #define CM_REDIAL_STOP 42 /* Stop redialing (outside of category) */ | |
226 | |
227 /* definition of commands for call related supplementary service */ | |
228 #define CM_COMMAND_UNKNOWN 0 | |
229 #define CM_HOLD 1 /* initiate call hold */ | |
230 #define CM_RETRIEVE 2 /* initiate call retrieve */ | |
231 #define CM_BUILD_MULTIPARTY 3 /* build a multiparty */ | |
232 #define CM_HOLD_MULTIPARTY 4 /* set multiparty on hold */ | |
233 #define CM_RETRIEVE_MULTIPARTY 5 /* set multiparty on active */ | |
234 #define CM_SPLIT_MULTIPARTY 6 /* split a multiparty */ | |
235 #define CM_ETC 7 /* enable explicit call transfer */ | |
236 #define CM_CALL_DEFLECTION 8 /* redirection of incomming call */ | |
237 #define CM_CCBS 9 /* completion on call busy subscriber */ | |
238 #define CM_MODIFY 10 /* initiate in-call modification */ | |
239 #define CM_DTMF_ACTIVE 11 /* enable DTMF signalling */ | |
240 #define CM_DTMF_INACTIVE 12 /* disable DTMF signalling */ | |
241 #define CM_SWAP 13 /* swap of two calls */ | |
242 #define CM_SWAP_MULTIPARTY 14 | |
243 #define CM_DTMF_AUTO 15 /* DTMF signalling with defined length of tones */ | |
244 | |
245 | |
246 #define CM_DISCONNECT_ALL_RESULT_ERROR 0 | |
247 #define CM_DISCONNECT_ALL_RESULT_OK 1 | |
248 | |
249 | |
250 | |
251 #define MIN_DURATION_1 7000 /* time of the 1th redialing */ | |
252 #define MIN_DURATION_2_4 70000 /* time of the 2th to 4st redialing */ | |
253 #define MIN_DURATION_5 200000 /* time of the 5th or over redialing */ | |
254 | |
255 /* Mar 27, 2006 REF:ER OMAPS00071798 */ | |
256 | |
257 #ifdef NEPTUNE_BOARD | |
258 typedef enum /* %CTTY parameter (audio mode) */ | |
259 { | |
260 AUDIO_MODE_TEXT = 0, | |
261 AUDIO_MODE_VCO, | |
262 AUDIO_MODE_Unknown | |
263 } | |
264 T_MMI_CTTY_AUDIO_MOD; | |
265 #endif | |
266 | |
267 | |
268 typedef enum /* definition of the result */ | |
269 { | |
270 CM_AOC_CONF_UNKNOWN, | |
271 CM_AOC_CONF_OK, | |
272 CM_AOC_CONF_SIMPIN2REQ, | |
273 CM_AOC_CONF_WRONGPASSWD, | |
274 CM_AOC_CONF_OPNOTALLOW, | |
275 CM_AOC_CONF_ACMRESETNEEDED | |
276 } T_MFW_AOC_CNF_RES; | |
277 | |
278 typedef enum /* type of call progress information */ | |
279 { | |
280 CPI_TYPE_UNKNOWN = -1, | |
281 CPI_TYPE_SETUP, /* call setup */ | |
282 CPI_TYPE_DISC, /* call disconnect */ | |
283 CPI_TYPE_ALERT, /* call alerting */ | |
284 CPI_TYPE_PROC, /* call proceeding */ | |
285 CPI_TYPE_SYNC, /* TCH assigment */ | |
286 CPI_TYPE_CONN, | |
287 CPI_TYPE_RELEASE, /* Call released cq111676 17-02-04 */ | |
288 CPI_TYPE_REJECT /* Call rejected cq11676 17-02-04 */ | |
289 } T_MFW_CPI_TYPE; | |
290 | |
291 typedef enum /* inband tone */ | |
292 { | |
293 CPI_IBT_UNKNOWN = -1, | |
294 CPI_IBT_FALSE, | |
295 CPI_IBT_TRUE | |
296 } T_MFW_CPI_IBT; | |
297 | |
298 typedef enum /* TCH */ | |
299 { | |
300 CPI_TCH_UNKNOWN = -1, | |
301 CPI_TCH_FALSE, | |
302 CPI_TCH_TRUE | |
303 } T_MFW_CPI_TCH; | |
304 | |
305 typedef enum /* type of call */ | |
306 { | |
307 NONE_TYPE, | |
308 VOICE_CALL, | |
309 AuxVOICE_CALL, | |
310 DATA_CALL, | |
311 FAX_CALL, | |
312 VFD_VOICE, /* voice followed data, voice mode */ | |
313 VAD_VOICE, /* voice alternating data, voice mode */ | |
314 VAF_VOICE, /* voice alternating fax, voice mode */ | |
315 VFD_DATA, /* voice followed data, data mode */ | |
316 VAD_DATA, /* voice alternating data, data mode */ | |
317 VAF_FAX /* voice alternating fax, fax mode */ | |
318 } T_MFW_CM_CALL_TYPE; | |
319 | |
320 typedef enum /* direction of call */ | |
321 { | |
322 MFW_CM_INV_DIR = -1, | |
323 MFW_CM_MOC, | |
324 MFW_CM_MTC | |
325 } T_MFW_CM_CALL_DIR; | |
326 | |
327 /* Result of operation */ | |
328 typedef enum | |
329 { | |
330 NotPresent, | |
331 Present | |
332 } T_MFW_CM_RESULT; | |
333 | |
334 /* Call status */ | |
335 typedef enum | |
336 { | |
337 NOT_PRESENT, | |
338 CALL_HELD, | |
339 CALL_ACTIVE, | |
340 CALL_DEACTIVE, | |
341 CALL_WAIT, | |
342 CALL_DIAL, | |
343 CALL_ALERT | |
344 } T_MFW_CM_CALL_STAT; | |
345 | |
346 /* Bearer parameter */ | |
347 typedef enum /* data rate */ | |
348 { | |
349 SPEED_300, | |
350 SPEED_1200, | |
351 SPEED_2400, | |
352 SPEED_4800, | |
353 SPEED_9600, | |
354 SPEED_14400 | |
355 } T_MFW_CM_DATA_SPEED; | |
356 | |
357 typedef enum /* bearer service */ | |
358 { | |
359 Asynch, | |
360 Synch | |
361 } T_MFW_CM_BS; | |
362 | |
363 typedef enum /* connection element */ | |
364 { | |
365 Transparent, | |
366 NonTransparent | |
367 } T_MFW_CM_CE; | |
368 | |
369 typedef enum /* connection element */ | |
370 { | |
371 Linear, | |
372 Circular | |
373 } T_MFW_CM_RI; | |
374 | |
375 typedef enum /* SS notification result code */ | |
376 { | |
377 MFW_CM_NOTIFY_UNKNOWN, | |
378 MFW_CM_HOLD, /* call has been put on hold */ | |
379 MFW_CM_RETRIEVED /* call has been retrieved */ | |
380 } T_MFW_CM_NOTIFY_CODES; | |
381 | |
382 typedef enum /* connection element */ | |
383 { | |
384 MFW_MPTY_NotPresent = -1, | |
385 MFW_NO_MTPY_MEMBER, | |
386 MFW_MTPY_MEMBER | |
387 } T_MFW_MTPY_MEMBER; | |
388 | |
389 typedef UBYTE T_CM_CLI; | |
390 | |
391 typedef struct | |
392 { | |
393 SHORT call_number; | |
394 UBYTE cause; | |
395 } T_MFW_CM_DISCONNECT; | |
396 | |
397 typedef struct | |
398 { | |
399 UBYTE result; | |
400 UBYTE cause; | |
401 } T_MFW_CM_DISCONNECT_ALL; | |
402 | |
403 | |
404 typedef struct | |
405 { | |
406 UBYTE rate; /* used baud rate */ | |
407 UBYTE bearer_serv; /* used bearer service */ | |
408 UBYTE conn_elem; /* used connect_element */ | |
409 UBYTE stop_bits; /* used stop bits */ | |
410 UBYTE data_bits; /* used data bits */ | |
411 UBYTE parity; /* used parity */ | |
412 UBYTE flow_control; /* used flow control */ | |
413 } T_MFW_CM_BC_PARA; | |
414 | |
415 | |
416 #ifdef NO_ASCIIZ | |
417 typedef struct { | |
418 SHORT call_id; /* call identify */ | |
419 UBYTE number[MFW_NUM_LEN]; /* call number */ | |
420 UBYTE ton; /* type of number */ | |
421 UBYTE type; | |
422 T_MFW_PHB_TEXT name; /* alpha identfier */ | |
423 UBYTE subaddr[MFW_SUBADR_LEN]; /* subaddress */ | |
424 } T_MFW_CM_MO_INFO; /* type definition for E_CM_COLP event */ | |
425 #else | |
426 typedef struct { | |
427 SHORT call_id; /* call identify */ | |
428 UBYTE number[MFW_NUM_LEN]; /* call number */ | |
429 UBYTE ton; /* type of number */ | |
430 UBYTE type; | |
431 UBYTE name[MFW_TAG_LEN]; /* alpha identfier */ | |
432 UBYTE subaddr[MFW_SUBADR_LEN]; /* subaddress */ | |
433 } T_MFW_CM_MO_INFO; /* type definition for E_CM_COLP event */ | |
434 #endif | |
435 | |
436 | |
437 | |
438 | |
439 typedef struct { | |
440 UBYTE result; /* result of operation */ | |
441 SHORT call_number; /* call index */ | |
442 UBYTE number[MFW_NUM_LEN]; /* call number */ | |
443 UBYTE ton; /* type of number */ | |
444 T_MFW_CM_CALL_TYPE type; /* type of this call */ | |
445 #ifdef NO_ASCIIZ | |
446 T_MFW_PHB_TEXT name; /* alpha identfier */ | |
447 #else | |
448 UBYTE name[MFW_TAG_LEN]; /* alpha identfier */ | |
449 #endif | |
450 UBYTE subaddr[MFW_SUBADR_LEN]; /* subaddress */ | |
451 UBYTE ri; /* repeat indicator */ | |
452 T_MFW_CM_BC_PARA bc1; /* bearer parameter 1 */ | |
453 T_MFW_CM_BC_PARA bc2; /* bearer parameter 2 */ | |
454 } T_MFW_CM_CW_INFO; /* type definition for E_CM_CW (indicator a new incomming call) event */ | |
455 | |
456 /* Marcus: CCBS: 14/11/2002: Start */ | |
457 /* Type definitions for E_CM_CCBS events */ | |
458 typedef enum | |
459 { | |
460 CM_CCBS_NONE, /* Used to indicate no CCBS operation in progress */ | |
461 CM_CCBS_DELETE_ALL, /* Response to cm_ccbs_delete_all */ | |
462 CM_CCBS_DELETE, /* Response to cm_ccbs_delete */ | |
463 CM_CCBS_LIST, /* Response to cm_ccbs_list */ | |
464 CM_CCBS_ACCEPT_REGISTRATION, /* Response to cm_ccbs_accept_registration */ | |
465 CM_CCBS_REJECT_REGISTRATION, /* Response to cm_ccbs_reject_registration */ | |
466 CM_CCBS_ACCEPT_RECALL, /* Response to cm_ccbs_accept_recall */ | |
467 CM_CCBS_REJECT_RECALL, /* Response to cm_ccbs_reject_recall */ | |
468 CM_CCBS_ASYNC /* An asynchronous event not related to an operation */ | |
469 } T_MFW_CM_CCBS_OP; /* Type definition for the operation associated E_CM_CCBS event */ | |
470 | |
471 typedef enum | |
472 { | |
473 CM_CCBS_INFO, /* rAT_PercentCCBS information */ | |
474 CM_CCBS_OK, /* OK completion of a CCBS operation */ | |
475 CM_CCBS_ERROR /* ERROR completion of a CCBS operation */ | |
476 } T_MFW_CM_CCBS_TYPE; /* Type definition for the type of E_CM_CCBS event */ | |
477 | |
478 typedef struct | |
479 { | |
480 T_MFW_CM_CCBS_OP operation; /* CCBS operation in progress */ | |
481 T_MFW_CM_CCBS_TYPE type; /* type of E_CM_CCBS event */ | |
482 T_ACI_CCBS_IND indct; /* Type of CM_CCBS_INFO indication */ | |
483 T_ACI_CCBS_STAT status; /* Status of CM_CCBS_INFO indication */ | |
484 SHORT idx; /* Index to specific CCBS (1..5), else 0 */ | |
485 UBYTE number[MFW_NUM_LEN]; /* call number */ | |
486 UBYTE ton; /* type of number */ | |
487 T_MFW_CM_CALL_TYPE call_type; /* type of this call */ | |
488 UBYTE subaddr[MFW_SUBADR_LEN]; /* subaddress */ | |
489 T_ACI_ALRT_PTRN alrtPtn; /* Alerting pattern */ | |
490 } T_MFW_CM_CCBS_INFO; /* type definition for E_CM_CCBS event */ | |
491 /* Marcus: CCBS: 14/11/2002: End */ | |
492 | |
493 typedef struct | |
494 { | |
495 SHORT call_number; /* number of call */ | |
496 UBYTE command; /* requested command */ | |
497 UBYTE result; /* result of operation */ | |
498 } T_MFW_CM_COMMAND; /* type definition for E_CM_COMMAND (ss command) event */ | |
499 | |
500 /***************************Go-lite Optimization changes Start***********************/ | |
501 // PATCH TB Add 10 to acm_puct & acm_puct avoid buffer override | |
502 //Oct 04, 2004 REF: CRR 25519 Deepa M.D | |
503 //Structure elements (T_MFW_CM_AOC_INFO)are realigned to avoid the structure padding | |
504 typedef struct | |
505 { | |
506 LONG actual_call_timer; /* time of actual call */ | |
507 LONG ccm; /* current call meter */ | |
508 LONG acm; /* accumulated call meter */ | |
509 LONG acm_max; /* accumulated call meter maximum PUCT */ | |
510 ULONG eppu; /* elementary price per unit */ | |
511 ULONG exp; /* decimal logarithm */ | |
512 UBYTE ccm_puct[MAX_LEN+10]; /* current call meter using PUCT */ | |
513 UBYTE acm_puct[MAX_LEN+10]; /* accumulated call meter using PUCT */ | |
514 UBYTE ppu[MAX_LEN]; /* price per unit */ | |
515 UBYTE cur[MAX_CURRENCY]; /* currency table */ | |
516 ULONG sexp; /* sign of decimal logarithm */ | |
517 UBYTE requested_type; /* requested type */ | |
518 } T_MFW_CM_AOC_INFO; /* type definition for E_CM_AOC event. */ | |
519 /***************************Go-lite Optimization changes end***********************/ | |
520 | |
521 typedef struct | |
522 { | |
523 UBYTE requested_type; | |
524 T_MFW_AOC_CNF_RES result; | |
525 } T_MFW_CM_AOC_CNF; /* type definition for E_CM_AOC_CONF event */ | |
526 | |
527 /***************************Go-lite Optimization changes Start***********************/ | |
528 //Oct 04, 2004 REF: CRR 25519 Deepa M.D | |
529 //Structure elements (T_MFW_CM_REDIAL)are realigned to avoid the structure padding | |
530 typedef struct | |
531 { | |
532 #ifdef NO_ASCIIZ | |
533 T_MFW_PHB_TEXT name; /* alpha identfier */ | |
534 #else | |
535 UBYTE name[MFW_TAG_LEN]; /* alpha identfier */ | |
536 #endif | |
537 UBYTE number[MFW_NUM_LEN]; /* called number */ | |
538 UBYTE subaddr[MFW_SUBADR_LEN]; /* subaddress */ | |
539 SHORT call_id; /* call identify */ | |
540 UBYTE ton; /* type of number */ | |
541 UBYTE type; | |
542 UBYTE left_attempts; /* redialing left attempts */ | |
543 UBYTE redial_mode; /* redial mode */ | |
544 } T_MFW_CM_REDIAL; /* type definition for E_CM_REDIAL event. */ | |
545 /***************************Go-lite Optimization changes end***********************/ | |
546 | |
547 /* Call status information */ | |
548 typedef struct | |
549 { | |
550 SHORT call_number; | |
551 UBYTE stat; /* T_MFW_CM_CALL_STAT */ | |
552 UBYTE number[MFW_NUM_LEN]; /* called number */ | |
553 UBYTE ton; /* type of number */ | |
554 T_MFW_CM_CALL_TYPE type; /* type of call */ | |
555 #ifdef NO_ASCIIZ | |
556 | |
557 T_MFW_PHB_TEXT name; /* alpha identfier */ | |
558 #else | |
559 UBYTE name[MFW_TAG_LEN]; /* alpha identfier */ | |
560 #endif | |
561 T_MFW_MTPY_MEMBER mtpy; | |
562 T_MFW_CM_CALL_DIR call_direction; | |
563 } T_MFW_CM_STATUS; | |
564 | |
565 /* Notify message */ | |
566 typedef struct | |
567 { | |
568 SHORT call_number; | |
569 T_MFW_CM_NOTIFY_CODES notification; | |
570 } T_MFW_CM_NOTIFY; | |
571 | |
572 /***************************Go-lite Optimization changes Start***********************/ | |
573 /* call progress information */ | |
574 //Oct 04, 2004 REF: CRR 25519 Deepa M.D | |
575 //Structure elements (T_MFW_CM_CPI)are realigned to avoid the structure padding | |
576 typedef struct | |
577 { | |
578 T_MFW_CPI_TYPE type; | |
579 T_MFW_CPI_IBT inband; | |
580 T_MFW_CPI_TCH tch; | |
581 SHORT call_number; | |
582 USHORT cause; /* cq11676 Add the CPI cause element 17-02-04 MZ */ | |
583 } T_MFW_CM_CPI; | |
584 /***************************Go-lite Optimization changes end***********************/ | |
585 | |
586 /* SPR#1352 - SH - TTY information */ | |
587 | |
588 /* This structure passes TTY status to the MMI */ | |
589 typedef struct | |
590 { | |
591 UBYTE neg; /* Status of TTY request - possible values below*/ | |
592 } | |
593 T_MFW_CM_CTYI; | |
594 | |
595 | |
596 | |
597 /* Possible values from CTYI callback - indicates TTY status*/ | |
598 enum | |
599 { | |
600 CTYI_NONE, | |
601 CTYI_REQUEST, | |
602 CTYI_REJECT, | |
603 CTYI_GRANT | |
604 }; | |
605 /* end SH */ | |
606 | |
607 /* | |
608 * CM Parameter | |
609 */ | |
610 typedef union | |
611 { | |
612 T_MFW_CM_DISCONNECT disconnect; | |
613 T_MFW_CM_DISCONNECT_ALL disconnect_all; | |
614 T_MFW_CM_CW_INFO cw_info; | |
615 T_MFW_CM_COMMAND command; | |
616 T_MFW_CM_AOC_INFO aoc_info; | |
617 T_MFW_CM_REDIAL rdl; | |
618 T_MFW_CM_NOTIFY notify; | |
619 T_MFW_CM_CPI cm_cpi; | |
620 SHORT call_id; | |
621 T_MFW_CM_AOC_CNF aoc_cnf; | |
622 UBYTE dtmf_tone; | |
623 // PATCH - add new parameter | |
624 T_MFW_CM_MO_INFO mo_data; | |
625 T_MFW_CM_CCBS_INFO ccbs; // Marcus: CCBS: 14/11/2002 | |
626 // END PATCH | |
627 /*MC, SPR 1392, added call deflection status param*/ | |
628 BOOL call_deflect_status; | |
629 /* SPR#1352 - SH - Add parameter for TTY */ | |
630 T_MFW_CM_CTYI ctyi; | |
631 /* end SH*/ | |
632 } T_MFW_CM_PARA; | |
633 /*OMAPS00108192 a0393213*/ | |
634 typedef struct | |
635 { | |
636 BOOL valid; /*entries are valid or not*/ | |
637 UBYTE digit; /*the digit entered*/ | |
638 T_ACI_VTS_MOD mode; /*the mode - manual start, manual stop or automatic*/ | |
639 } T_MFW_CM_DTMF; | |
640 | |
641 EXTERN void cm_init (void); | |
642 EXTERN T_MFW_HND cm_create (T_MFW_HND hWin, | |
643 T_MFW_EVENT event, | |
644 T_MFW_CB cbfunc); | |
645 EXTERN T_MFW_RES cm_delete (T_MFW_HND h); | |
646 EXTERN T_MFW cm_check_emergency (UBYTE *number); | |
647 EXTERN T_MFW cm_mo_call (UBYTE *number, | |
648 T_MFW_CM_CALL_TYPE type); | |
649 EXTERN void cm_mt_reject (void); | |
650 EXTERN void cm_mt_accept (void); | |
651 EXTERN void cm_end_all (void); | |
652 EXTERN T_MFW cm_disconnect (SHORT call_number); | |
653 EXTERN T_MFW cm_command (SHORT call_number, | |
654 UBYTE command, | |
655 UBYTE crss_string); | |
656 EXTERN T_MFW cm_get_aoc_value (UBYTE request_type, | |
657 T_MFW_CM_AOC_INFO *aoc_info); | |
658 EXTERN T_MFW cm_set_aoc_value (UBYTE request_type, | |
659 T_MFW_CM_AOC_INFO *aoc_info, | |
660 UBYTE *pwd); | |
661 EXTERN void cm_set_bc_para (T_MFW_CM_BC_PARA * bc, UBYTE ti); | |
662 EXTERN void cm_set_redial (UBYTE redial_mode); | |
663 EXTERN void cm_redial (void); | |
664 EXTERN void cm_autoredial_start (void); | |
665 EXTERN void cm_redial_abort (void); | |
666 EXTERN UBYTE cm_redial_get_count (void); | |
667 | |
668 EXTERN int cm_status (SHORT call_number, | |
669 T_MFW_CM_STATUS *status, | |
670 UBYTE num); | |
671 EXTERN void cm_exit (void); | |
672 EXTERN T_CM_CLI cm_mo_prefix (T_CM_CLI prefix); | |
673 EXTERN T_MFW cm_get_redial_mode (void); | |
674 EXTERN T_MFW cm_command_abort (UBYTE command); | |
675 /*MC, SPR 1392*/ | |
676 T_MFW cm_deflect_incoming_call(char* number); | |
677 void cm_ok_CTFR(void); | |
678 void cm_error_CTFR(void); | |
679 /* Marcus: CCBS: 13/11/2002: Start */ | |
680 EXTERN T_MFW cm_ccbs_delete_all(void); | |
681 EXTERN T_MFW cm_ccbs_delete(SHORT idx); | |
682 EXTERN T_MFW cm_ccbs_list(void); | |
683 EXTERN T_MFW cm_ccbs_accept_registration(void); | |
684 EXTERN T_MFW cm_ccbs_reject_registration(void); | |
685 EXTERN T_MFW cm_ccbs_accept_recall(UBYTE *number, T_MFW_CM_CALL_TYPE type); | |
686 EXTERN T_MFW cm_ccbs_reject_recall(void); | |
687 EXTERN void cm_ccbs_ok(void); | |
688 EXTERN void cm_ccbs_error(void); | |
689 /* Marcus: CCBS: 13/11/2002: End */ | |
690 | |
691 /* SPR#1985 - SH - TTY */ | |
692 void cm_tty_enable(UBYTE enable); | |
693 void cm_tty_query(void); | |
694 | |
695 // Feb 03, 200 REF: CRR 25960 x0012850 | |
696 // Description: Call Hold: While one call in Active and other in Held by swapping either of phone is not audible | |
697 // Prototype for function cm_setSpeechMode() | |
698 EXTERN void cm_setSpeechMode(void); | |
699 | |
700 EXTERN void cm_force_disconnect(void); | |
701 /* Added to remove warning */ | |
702 EXTERN UBYTE dspl_Enable (UBYTE in_Enable); | |
703 EXTERN void resetDTMFQueue(); /*OMAPS00107103 a0393213(R.Prabakar)*/ | |
704 #endif |