comparison gsm-fw/g23m-gsm/cc/cc_em.h @ 673:2f7df7a314f8

gsm-fw/g23m-gsm subtree: initial import from LoCosto source
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 28 Sep 2014 23:20:04 +0000
parents
children
comparison
equal deleted inserted replaced
672:0dc6f9e8e980 673:2f7df7a314f8
1 /*
2 +-----------------------------------------------------------------------------
3 | Project :
4 | Modul :
5 +-----------------------------------------------------------------------------
6 | Copyright 2003 Texas Instruments Berlin, AG
7 | All rights reserved.
8 |
9 | This file is confidential and a trade secret of Texas
10 | Instruments Berlin, AG
11 | The receipt of or possession of this file does not convey
12 | any rights to reproduce or disclose its contents or to
13 | manufacture, use, or sell anything it may describe, in
14 | whole, or in part, without the specific written consent of
15 | Texas Instruments Berlin, AG.
16 +-----------------------------------------------------------------------------
17 | Purpose : Engineering Mode (EM) Declarations + Macros
18 |
19 +-----------------------------------------------------------------------------
20 */
21
22 #ifndef CC_EM_H
23 #define CC_EM_H
24
25 #ifdef FF_EM_MODE
26 /* ---------------- data declarations for EM ----------------*/
27 /*
28 * Ring buffer is by one bigger than max. number of prims, because it
29 * needs always one termination entry.
30 * To optimize the buffersize, the data is packed in the buffer as follows:
31 * type, length, value
32 * Value is the combination of the additional parameters as defined in 8443.601, coded as UBYTE.
33 */
34 #define EM_CC_BUFFER_SIZE 185
35
36 /*
37 * EM_MAX_CC_EVENTS defines maximum number of event traces for the engineering mode.
38 * The number is increased by one to ensure that the event numbers defined in the
39 * corresponding document are the same as in the sources.
40 */
41 #define EM_MAX_CC_EVENTS 50
42
43 /*
44 * The offset is used to indicate the source entity the event trace is from.
45 * L1/ALR = 0x00, DL = 0x2D, RR = 0x37, MM = 0x5F, CC = 0x78, SS = 0xAF, SMS = 0xBE, SIM = E1
46 */
47 #define CC_OFFSET 0x78
48
49 /*
50 * Type is combination of entity index(upper nibble) plus event number(lower nibble).
51 * Bit 8 7 6 5 4 3 2 1
52 * | entity | event number |
53 */
54
55 #define CC_V_1 (1 + CC_OFFSET)
56 #define CC_V_2 (2 + CC_OFFSET)
57 #define CC_V_3 (3 + CC_OFFSET)
58 #define CC_V_4 (4 + CC_OFFSET)
59 #define CC_V_5 (5 + CC_OFFSET)
60 #define CC_V_6 (6 + CC_OFFSET)
61 #define CC_V_7 (7 + CC_OFFSET)
62 #define CC_V_8 (8 + CC_OFFSET)
63 #define CC_V_9 (9 + CC_OFFSET)
64 #define CC_V_10 (10+ CC_OFFSET)
65 #define CC_V_11 (11+ CC_OFFSET)
66 #define CC_V_12 (12+ CC_OFFSET)
67 #define CC_V_13 (13+ CC_OFFSET)
68 #define CC_V_14 (14+ CC_OFFSET)
69 #define CC_V_15 (15+ CC_OFFSET)
70 #define CC_V_16 (16+ CC_OFFSET)
71 #define CC_V_17 (17+ CC_OFFSET)
72 #define CC_V_18 (18+ CC_OFFSET)
73 #define CC_V_19 (19+ CC_OFFSET)
74 #define CC_V_20 (20+ CC_OFFSET)
75 #define CC_V_21 (21+ CC_OFFSET)
76 #define CC_V_22 (22+ CC_OFFSET)
77 #define CC_V_23 (23+ CC_OFFSET)
78 #define CC_V_24 (24+ CC_OFFSET)
79 #define CC_V_25 (25+ CC_OFFSET)
80 #define CC_V_26 (26+ CC_OFFSET)
81 #define CC_V_27 (27+ CC_OFFSET)
82 #define CC_V_28 (28+ CC_OFFSET)
83 #define CC_V_29 (29+ CC_OFFSET)
84 #define CC_V_30 (30+ CC_OFFSET)
85 #define CC_V_31 (31+ CC_OFFSET)
86 #define CC_V_32 (32+ CC_OFFSET)
87 #define CC_V_33 (33+ CC_OFFSET)
88 #define CC_V_34 (34+ CC_OFFSET)
89 #define CC_V_35 (35+ CC_OFFSET)
90 #define CC_V_36 (36+ CC_OFFSET)
91 #define CC_V_37 (37+ CC_OFFSET)
92 #define CC_V_38 (38+ CC_OFFSET)
93 #define CC_V_39 (39+ CC_OFFSET)
94 #define CC_V_40 (40+ CC_OFFSET)
95 #define CC_V_41 (41+ CC_OFFSET)
96 #define CC_V_42 (42+ CC_OFFSET)
97 #define CC_V_43 (43+ CC_OFFSET)
98 #define CC_V_44 (44+ CC_OFFSET)
99 #define CC_V_45 (45+ CC_OFFSET)
100 #define CC_V_46 (46+ CC_OFFSET)
101 #define CC_V_47 (47+ CC_OFFSET)
102 #define CC_V_48 (48+ CC_OFFSET)
103 #define CC_V_49 (49+ CC_OFFSET)
104
105 EXTERN BOOL cc_v[EM_MAX_CC_EVENTS];
106
107 /*------functions ------*/
108
109 /*
110 * Call control primitives Engineering Mode
111 * Bitmask for the event tracing
112 */
113
114 EXTERN void cc_em_cc_event_req (T_EM_CC_EVENT_REQ *em_cc_event_req);
115 EXTERN void em_init_cc_event_trace(void);
116
117 /*
118 * If all entities are linked into one module these definitions
119 * prefix all these functions with the enity name
120 */
121 #ifdef OPTION_MULTITHREAD
122 #define em_write_buffer_2 _ENTITY_PREFIXED(em_write_buffer_2)
123 #define em_write_buffer_3 _ENTITY_PREFIXED(em_write_buffer_3)
124 #define em_write_buffer_3a _ENTITY_PREFIXED(em_write_buffer_3a)
125 #define em_write_buffer_4 _ENTITY_PREFIXED(em_write_buffer_4)
126 #define em_write_buffer_4a _ENTITY_PREFIXED(em_write_buffer_4a)
127 #define check_write_index _ENTITY_PREFIXED(check_write_index)
128 #endif
129
130 EXTERN UBYTE em_write_buffer_2 (UBYTE event_no);
131 EXTERN UBYTE em_write_buffer_3 (UBYTE event_no, UBYTE value);
132 EXTERN UBYTE em_write_buffer_3a (UBYTE event_no, USHORT value);
133 EXTERN UBYTE em_write_buffer_4 (UBYTE event_no, UBYTE value1, UBYTE value2);
134 EXTERN UBYTE em_write_buffer_4a (UBYTE event_no, UBYTE *ptr1, UBYTE value2);
135 EXTERN UBYTE check_write_index (UBYTE n);
136
137
138 EXTERN UBYTE em_cc_event_buffer[EM_CC_BUFFER_SIZE];
139 EXTERN UBYTE em_cc_buffer_write;
140
141 /* ---------------- Macro definitions ---------------------- */
142 /* Please note: All called functions are stored in em_cc.c */
143
144 #define EM_CC_START_MO_CALL \
145 /* Start MO call */\
146 if (cc_v[1])\
147 {\
148 cc_v[1] = em_write_buffer_3 (CC_V_1, mmcm_establish_req->ti);\
149 } /* cc_v[1] */
150
151 #define EM_CC_MM_CONNECTION_ESTABLISHED_MT \
152 /* MM connection established - MT */\
153 if (cc_v[2])\
154 {\
155 cc_v[2] = em_write_buffer_3 (CC_V_2, cc_data->index_ti);\
156 } /* cc_v[2] */
157
158 #define EM_CC_MM_CONNECTION_ESTABLISHED_MO \
159 /* MM connection established - MO */\
160 if (cc_v[2])\
161 {\
162 cc_v[2] = em_write_buffer_3 (CC_V_2, est_cnf->ti);\
163 } /* cc_v[2] */
164
165 #define EM_CC_MM_CONNECTION_FAILED \
166 /* MM-Connection failed */\
167 if (cc_v[3])\
168 {\
169 cc_v[3] = em_write_buffer_3a (CC_V_3, err_ind->cause);\
170 } /* cc_v[3] */
171
172 #define EM_CC_SENT_SETUP_MESSAGE \
173 /* Sent SETUP message */\
174 if (cc_v[4])\
175 {\
176 cc_v[4] = em_write_buffer_4a ( CC_V_4, &data->sdu.buf[CC_ENCODE_OFFSET >> 3], cc_data->ti);\
177 } /* cc_v[4] */
178
179 #define EM_CC_SENT_EMERGENCY_SETUP_MESSAGE \
180 /* Sent emergency setup message */\
181 if (cc_v[5])\
182 {\
183 cc_v[5] = em_write_buffer_3 (CC_V_5, cc_data->ti);\
184 } /* cc_v[5] */
185
186 #define EM_CC_TIMEOUT_T303 \
187 /* Timeout T303 */\
188 if (cc_v[6])\
189 {\
190 cc_v[6] = em_write_buffer_3 (CC_V_6, cc_data->ti);\
191 } /* cc_v[6] */
192
193 #define EM_CC_CALL_PROCEEDING_RECEIVED \
194 /* Call proceeding received */\
195 if (cc_v[7])\
196 {\
197 cc_v[7] = em_write_buffer_3 (CC_V_7, cc_data->index_ti);\
198 } /* cc_v[7] */
199
200 #define EM_CC_RELEASE_COMPLETE_RECEIVED \
201 /* RELEASE COMPLETE received */\
202 if ((cc_v[8]))\
203 {\
204 if (rel_com->v_cc_cause AND rel_com->cc_cause.v_cause) \
205 cc_v[8] = em_write_buffer_3a (CC_V_8, CAUSE_MAKE(DEFBY_STD, \
206 ORIGSIDE_NET, \
207 MNCC_CC_ORIGINATING_ENTITY,\
208 rel_com->cc_cause.cause));\
209 else\
210 cc_v[8] = em_write_buffer_3a (CC_V_8, CAUSE_MAKE(DEFBY_CONDAT, \
211 ORIGSIDE_NET, \
212 MNCC_CC_ORIGINATING_ENTITY,\
213 NOT_PRESENT_8BIT));\
214 } /* cc_v[8] */
215
216 #define EM_CC_DISCONNECT_RECEIVED \
217 /* Disconnect received */\
218 if ((cc_v[9]))\
219 {\
220 if (disconnect->cc_cause.v_cause)\
221 cc_v[9] = em_write_buffer_3a (CC_V_9, CAUSE_MAKE(DEFBY_STD, \
222 ORIGSIDE_NET, \
223 MNCC_CC_ORIGINATING_ENTITY,\
224 disconnect->cc_cause.cause));\
225 /* else we don't indicate the message as it was erroneous anyway; */\
226 /* note that the concept that only correct message are indicated is not kept here */\
227 /* 100% because e.g. checks for optional errors follow below; but to make it */\
228 /* simpler this is felt as acceptabe (otherwise we'd had to remember the cause value*/\
229 /* in a local variable because CCD_END is called pretty soon...)*/\
230 } /* cc_v[9] */
231
232 #define EM_CC_CONNECT_RECEIVED\
233 /* Connect received */\
234 if (cc_v[10])\
235 {\
236 cc_v[10] = em_write_buffer_3 (CC_V_10, cc_data->index_ti);\
237 } /* cc_v[10] */
238
239
240 #define EM_CC_ALERTING_RECEIVED \
241 /* Alert received */\
242 if (cc_v[11])\
243 {\
244 cc_v[11] = em_write_buffer_3 (CC_V_11, cc_data->index_ti);\
245 } /* cc_v[11] */
246
247 #define EM_CC_PROGRESS_RECEIVED \
248 /* Progress received */\
249 if (cc_v[12])\
250 {\
251 cc_v[12] = em_write_buffer_3 (CC_V_12, cc_data->progress_desc[cc_data->index_ti]);\
252 } /* cc_v[12] */
253
254 #define EM_CC_CONNECT_ACKNOWLEDGE\
255 /* Connect acknowledge sent*/\
256 if (cc_v[13])\
257 {\
258 cc_v[13] = em_write_buffer_3 (CC_V_12, cc_data->progress_desc[cc_data->index_ti]);\
259 } /* cc_v[13] */
260
261
262 #define EM_CC_RELEASE_SENT \
263 /* Release sent */\
264 if (cc_v[14])\
265 {\
266 cc_v[14] = em_write_buffer_3a (CC_V_14, cc_data->cc_cause[cc_data->ti]);\
267 } /* cc_v[14] */
268
269 #define EM_CC_DOWNLINK_SETUP_RECEIVED \
270 if ((cc_v[15]) AND (_decodedMsg[0] EQ D_SETUP))\
271 {\
272 /* Downlink SETUP received */\
273 cc_v[15] = em_write_buffer_4a ( CC_V_15, &data->sdu.buf[CC_ENCODE_OFFSET >> 3], cc_data->ti);\
274 } /* cc_v[15] */
275
276 #define EM_CC_CALL_CONFIRM_SENT \
277 if (cc_v[16])\
278 {\
279 cc_v[16] = em_write_buffer_4a ( CC_V_16, &data->sdu.buf[CC_ENCODE_OFFSET >> 3], cc_data->ti);\
280 } /* cc_v[16] */
281
282 #define EM_CC_STATUS_SENT \
283 /* Status sent */\
284 if (cc_v[17])\
285 {\
286 /* cause is mandatory, thus no validity check of cause necessary here */\
287 cc_v[17] = em_write_buffer_3a (CC_V_17, CAUSE_MAKE(DEFBY_STD, \
288 ORIGSIDE_MS, \
289 MNCC_CC_ORIGINATING_ENTITY, \
290 status->cc_cause.cause));\
291 } /* cc_v[17] */
292
293 #define EM_CC_RELEASE_COMPLETE_SENT \
294 /* RELEASE COMPLETE sent */\
295 if (cc_v[18])\
296 {\
297 cc_v[18] = em_write_buffer_3a (CC_V_18,\
298 /* cause of RELEASE COMPLETE is optional */\
299 /* SBK-02-02-16: don't know why MSDEV compiler needs*/\
300 /* cast to avoid warning here */\
301 (USHORT) ((rel_com->v_cc_cause) ?\
302 CAUSE_MAKE(DEFBY_STD, \
303 ORIGSIDE_MS,\
304 MNCC_CC_ORIGINATING_ENTITY,\
305 rel_com->cc_cause.cause)\
306 : CAUSE_MAKE(DEFBY_STD,\
307 ORIGSIDE_MS, \
308 MNCC_CC_ORIGINATING_ENTITY, \
309 NOT_PRESENT_8BIT)));\
310 } /* cc_v[18] */
311
312 #define EM_CC_ALERTING_SENT\
313 /* Alerting sent */\
314 if (cc_v[19])\
315 {\
316 cc_v[19] = em_write_buffer_3 (CC_V_19, alert->ti);\
317 } /* cc_v[19] */
318
319 #define EM_CC_CONNECT_SENT\
320 /* Connect sent */\
321 if (cc_v[20])\
322 {\
323 cc_v[20] = em_write_buffer_3 (CC_V_20, setup_res->ti);\
324 } /* cc_v[20] */
325
326 #define EM_CC_CONNECT_ACKNOWLEDGE_RECEIVED \
327 /* Connect ackn received */\
328 if (cc_v[21])\
329 {\
330 cc_v[21] = em_write_buffer_3 (CC_V_21, cc_data->ti);\
331 } /* cc_v[21] */
332
333 #define EM_CC_DISCONNECT_SENT \
334 /* Disconnect sent */\
335 if (cc_v[22])\
336 {\
337 cc_v[22] = em_write_buffer_3a (CC_V_22, CAUSE_MAKE(DEFBY_STD, \
338 ORIGSIDE_MS, \
339 MNCC_CC_ORIGINATING_ENTITY,\
340 MNCC_CAUSE_TIMER));\
341 } /* cc_v[22] */
342
343 #define EM_CC_CHANNEL_MODE_CHANGE \
344 /* Channel mode change */\
345 if (cc_v[23])\
346 {\
347 cc_v[23] = em_write_buffer_4 (CC_V_23, sync->sync_info.ch_info.ch_type, sync->sync_info.ch_info.ch_mode);\
348 } /* cc_v[23] */
349
350 #define EM_CC_NOTIFICATION_FROM_THE_NETWORK \
351 /* Notification from the network */\
352 if (cc_v[24])\
353 {\
354 cc_v[24] = em_write_buffer_3 (CC_V_24, notify->notific.nd);\
355 } /* cc_v[24] */
356
357 #define EM_CC_NOTIFICATION_TO_THE_NETWORK \
358 /* Notification to the network */\
359 if (cc_v[25])\
360 {\
361 cc_v[25] = em_write_buffer_3 (CC_V_25, notify->nd);\
362 } /* cc_v[25] */
363
364 #define EM_CC_FACILITY_FROM_THE_NETWORK \
365 /* Facility from the network */\
366 if (cc_v[26])\
367 {\
368 cc_v[26] = em_write_buffer_3 (CC_V_26, cc_data->index_ti);\
369 } /* cc_v[26] */
370
371 #define EM_CC_FACILITY_TO_THE_NETWORK \
372 /* Facility to the network */\
373 if (cc_v[27])\
374 {\
375 cc_v[27] = em_write_buffer_3 (CC_V_27, cc_data->index_ti);\
376 } /* cc_v[27] */
377
378 #define EM_CC_START_DTMF \
379 /* Start DTMF */\
380 if (cc_v[28])\
381 {\
382 cc_v[28] = em_write_buffer_3 (CC_V_28, start_dtmf->key_facility.key);\
383 } /* cc_v[28] */
384
385
386 #define EM_CC_START_DTMF_ACKNOWLEDGE \
387 /* Start DTMF acknowledge */\
388 if (cc_v[29])\
389 {\
390 cc_v[29] = em_write_buffer_3 (CC_V_29, cc_data->ti);\
391 } /* cc_v[29] */
392
393 #define EM_CC_STOP_DTMF \
394 /* Stop DTMF */\
395 if (cc_v[30])\
396 {\
397 cc_v[30] = em_write_buffer_3a (CC_V_30, cc_data->cc_cause[cc_data->ti]);\
398 } /* cc_v[30] */
399
400 #define EM_CC_LOSS_OF_CONNECTION \
401 /* Loss of connection */\
402 if (cc_v[31])\
403 {\
404 cc_v[31] = em_write_buffer_3a (CC_V_31, rel_ind->cause);\
405 } /* cc_v[31] */
406
407 #define EM_CC_REESTABLISHED_STARTED \
408 /* Re-establishment started */\
409 if (cc_v[32])\
410 {\
411 cc_v[32] = em_write_buffer_2 (CC_V_32);\
412 } /* cc_v[32] */
413
414 #define EM_CC_REESTABLISHED_SUCCESSFUL \
415 /* Re-establishment successful */\
416 if (cc_v[33])\
417 {\
418 cc_v[33] = em_write_buffer_2 (CC_V_33);\
419 } /* cc_v[33] */
420
421 #define EM_CC_REESTABLISHED_FAILED \
422 /* Re-establishment failed */\
423 if (cc_v[34])\
424 {\
425 cc_v[34] = em_write_buffer_2 (CC_V_34);\
426 } /* cc_v[34] */
427
428 #define EM_CC_STATUS_RECEIVED \
429 /* Status received */\
430 if (cc_v[35])\
431 {\
432 cc_v[35] = em_write_buffer_3a (CC_V_35, CAUSE_MAKE(DEFBY_STD, \
433 ORIGSIDE_NET, \
434 MNCC_CC_ORIGINATING_ENTITY, \
435 status->cc_cause.cause));\
436 } /* cc_v[35] */
437
438 #define EM_CC_STATUS_ENQUIRY_RECEIVED \
439 /* Status enquiry received */\
440 if (cc_v[36])\
441 {\
442 cc_v[36] = em_write_buffer_3 (CC_V_36, cc_data->ti);\
443 } /* cc_v[36] */
444
445 #define EM_CC_CALL_HOLD \
446 /* Call hold */\
447 if (cc_v[37])\
448 {\
449 cc_v[37] = em_write_buffer_3 (CC_V_37, cc_data->index_ti);\
450 } /* cc_v[37] */
451
452 #define EM_CC_CALL_HOLD_ACKNOWLEDGE \
453 /* Call hold ackn */\
454 if (cc_v[38])\
455 {\
456 cc_v[38] = em_write_buffer_3 (CC_V_38, cc_data->ti);\
457 } /* cc_v[38] */
458
459 #define EM_CC_CALL_HOLD_REJECT \
460 /* Call hold rej - Info: the "_2" is because the name is used earlier */\
461 if (cc_v[39])\
462 {\
463 cc_v[39] = em_write_buffer_3 (CC_V_39, cc_data->index_ti);\
464 } /* cc_v[39] */
465
466 #define EM_CC_CALL_RETRIEVE \
467 /* Call retrieve */\
468 if (cc_v[40])\
469 {\
470 cc_v[40] = em_write_buffer_3 (CC_V_40, cc_data->index_ti);\
471 } /* cc_v[40] */
472
473 #define EM_CC_CALL_RETRIEVE_ACKNOWLEDGE \
474 /* Call retrieve ackn */\
475 if (cc_v[41])\
476 {\
477 cc_v[41] = em_write_buffer_3 (CC_V_41, cc_data->index_ti);\
478 } /* cc_v[41] */
479
480 #define EM_CC_CALL_RETRIEVE_REJECT \
481 /* Call retrieve rej */\
482 if (cc_v[42])\
483 {\
484 cc_v[42] = em_write_buffer_3 (CC_V_42, cc_data->index_ti);\
485 } /* cc_v[42] */
486
487 #define EM_CC_MO_IN_CALL_MODIFICATION \
488 /* MO in call modification */\
489 if (cc_v[43])\
490 {\
491 cc_v[43] = em_write_buffer_3 (CC_V_43, cc_data->index_ti);\
492 } /* cc_v[43] */
493
494 #define EM_CC_MO_IN_CALL_MODIFICATION_PASSED \
495 /* MO in call modification passed */\
496 if (cc_v[44])\
497 {\
498 cc_v[44] = em_write_buffer_3 (CC_V_44, cc_data->ti);\
499 } /* cc_v[44] */
500
501 #define EM_CC_MO_IN_CALL_MODIFICATION_FAILED \
502 /* MO in call modification failed */\
503 if (cc_v[45])\
504 {\
505 cc_v[45] = em_write_buffer_3 (CC_V_45, cc_data->index_ti);\
506 } /* cc_v[45] */
507
508 #define EM_CC_MT_IN_CALL_MODIFICATION_PASSED \
509 /* MT in call modification passed */\
510 if (cc_v[46])\
511 {\
512 cc_v[46] = em_write_buffer_3 (CC_V_46, cc_data->ti);\
513 } /* cc_v[46] */
514
515
516
517 #define EM_CC_MT_IN_CALL_MODIFICATION_FAILED \
518 /* MT in-call modification failed */\
519 if (cc_v[47])\
520 {\
521 cc_v[47] = em_write_buffer_3 (CC_V_47, cc_data->ti);\
522 } /* cc_v[47] */
523
524 #define EM_CC_USUER_TO_USER_DATA_SENT \
525 /* User 2 user data sent */\
526 if (cc_v[48])\
527 {\
528 cc_v[48] = em_write_buffer_3 (CC_V_48, cc_data->index_ti);\
529 } /* cc_v[49] */
530
531
532 #define EM_CC_USER_TO_USER_DATA_RECEIVED \
533 /* User 2 user data received */\
534 if (cc_v[49])\
535 {\
536 cc_v[49] = em_write_buffer_3 (CC_V_49, cc_data->index_ti);\
537 } /* cc_v[49] */
538
539 #else /*FF_EM_MODE not defined*/
540
541 #define EM_CC_START_MO_CALL /* Event 1 */
542 #define EM_CC_MM_CONNECTION_ESTABLISHED_MT /* Event 2 */
543 #define EM_CC_MM_CONNECTION_ESTABLISHED_MO /* Event 2 */
544 #define EM_CC_MM_CONNECTION_FAILED /* Event 3 */
545 #define EM_CC_SENT_SETUP_MESSAGE /* Event 4 */
546 #define EM_CC_SENT_EMERGENCY_SETUP_MESSAGE /* Event 5 */
547 #define EM_CC_TIMEOUT_T303 /* Event 6 */
548 #define EM_CC_CALL_PROCEEDING_RECEIVED /* Event 7 */
549 #define EM_CC_RELEASE_COMPLETE_RECEIVED /* Event 8 */
550 #define EM_CC_DISCONNECT_RECEIVED /* Event 9 */
551 #define EM_CC_CONNECT_RECEIVED /* Event 10*/
552 #define EM_CC_ALERTING_RECEIVED /* Event 11*/
553 #define EM_CC_PROGRESS_RECEIVED /* Event 12*/
554 #define EM_CC_CONNECT_ACKNOWLEDGE /* Event 13*/
555 #define EM_CC_RELEASE_SENT /* Event 14*/
556 #define EM_CC_DOWNLINK_SETUP_RECEIVED /* Event 15*/
557 #define EM_CC_CALL_CONFIRM_SENT /* Event 16*/
558 #define EM_CC_STATUS_SENT /* Event 17*/
559 #define EM_CC_RELEASE_COMPLETE_SENT /* Event 18*/
560 #define EM_CC_ALERTING_SENT /* Event 19*/
561 #define EM_CC_CONNECT_SENT /* Event 20*/
562 #define EM_CC_CONNECT_ACKNOWLEDGE_RECEIVED /* Event 21*/
563 #define EM_CC_DISCONNECT_SENT /* Event 22*/
564 #define EM_CC_CHANNEL_MODE_CHANGE /* Event 23*/
565 #define EM_CC_NOTIFICATION_FROM_THE_NETWORK/* Event 24*/
566 #define EM_CC_NOTIFICATION_TO_THE_NETWORK /* Event 25*/
567 #define EM_CC_FACILITY_FROM_THE_NETWORK /* Evnet 26*/
568 #define EM_CC_FACILITY_TO_THE_NETWORK /* Event 27*/
569 #define EM_CC_START_DTMF /* Event 28*/
570 #define EM_CC_START_DTMF_ACKNOWLEDGE /* Event 29*/
571 #define EM_CC_STOP_DTMF /* Event 30*/
572 #define EM_CC_LOSS_OF_CONNECTION /* Event 31*/
573 #define EM_CC_REESTABLISHED_STARTED /* Event 32*/
574 #define EM_CC_REESTABLISHED_SUCCESSFUL /* Event 33*/
575 #define EM_CC_REESTABLISHED_FAILED /* Event 34*/
576 #define EM_CC_STATUS_RECEIVED /* Event 35*/
577 #define EM_CC_STATUS_ENQUIRY_RECEIVED /* Event 36*/
578 #define EM_CC_CALL_HOLD /* Event 37*/
579 #define EM_CC_CALL_HOLD_ACKNOWLEDGE /* Event 38*/
580 #define EM_CC_CALL_HOLD_REJECT /* Event 39*/
581 #define EM_CC_CALL_RETRIEVE /* Event 40*/
582 #define EM_CC_CALL_RETRIEVE_ACKNOWLEDGE /* Event 41*/
583 #define EM_CC_CALL_RETRIEVE_REJECT /* Event 42*/
584 #define EM_CC_MO_IN_CALL_MODIFICATION /* Event 43*/
585 #define EM_CC_MO_IN_CALL_MODIFICATION_PASSED /* Event 44*/
586 #define EM_CC_MO_IN_CALL_MODIFICATION_FAILED /* Event 45*/
587 #define EM_CC_MT_IN_CALL_MODIFICATION_PASSED /* Event 46*/
588 #define EM_CC_MT_IN_CALL_MODIFICATION_FAILED /* Event 47*/
589 #define EM_CC_USUER_TO_USER_DATA_SENT /* Event 48*/
590 #define EM_CC_USER_TO_USER_DATA_RECEIVED /* Event 49*/
591
592
593 #endif /* FF_EM_MODE */
594 #endif /* CC_EM_H */