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