FreeCalypso > hg > freecalypso-sw
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 */ |