FreeCalypso > hg > fc-selenite
annotate src/g23m-gsm/cc/cc_ffk.c @ 213:f2a59f3c4f8f
targets/*.h: sync with FC Tourmaline
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 31 Oct 2022 00:54:52 +0000 | 
| parents | d393cd9bb723 | 
| children | 
| rev | line source | 
|---|---|
| 
1
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | Project : GSM-PS (6147) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : CC_FFK | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | All rights reserved. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | This file is confidential and a trade secret of Texas | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | Instruments Berlin, AG | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | The receipt of or possession of this file does not convey | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | any rights to reproduce or disclose its contents or to | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | manufacture, use, or sell anything it may describe, in | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | whole, or in part, without the specific written consent of | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 | Texas Instruments Berlin, AG. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | Purpose : This Modul defines the functions called by the primitive | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | processing functions of the SDL process FORMATTER. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 #ifndef CC_FFK_C | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 #define CC_FFK_C | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 #define ENTITY_CC | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 /*==== INCLUDES ===================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 #include <string.h> | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 #include "typedefs.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include "pcm.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include "vsi.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include "custom.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "gsm.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #include "message.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "ccdapi.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "prim.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #include "cnf_cc.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 #include "mon_cc.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include "pei.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 #include "tok.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 #include "cc.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 /*==== EXPORT =====================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 /*==== PRIVAT =====================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 /*==== VARIABLES ==================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 /*==== FUNCTIONS ==================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 | STATE : code ROUTINE : for_check_called_party_bcd | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 PURPOSE : Checks the content of a called party bcd information | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 element. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 GLOBAL BOOL for_check_called_party_bcd (UBYTE ton, UBYTE npi) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 TRACE_FUNCTION ("for_check_called_party_bcd()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 * Check numbering type | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 if (ton <= M_CC_TON_DEDICATED) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 * Check numbering plan | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 switch (npi) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 case M_CC_NPI_UNKNOWN: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 case M_CC_NPI_ISDN: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 case M_CC_NPI_X121: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 case M_CC_NPI_F69: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 case M_CC_NPI_NATIONAL: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 case M_CC_NPI_PRIVATE: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 return TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 | STATE : code ROUTINE : for_check_called_party_sub | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 PURPOSE : Checks the content of a called party sub information | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 element. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 GLOBAL BOOL for_check_called_party_sub (T_M_CC_called_subaddr * called_subaddr) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 TRACE_FUNCTION ("for_check_called_party_sub()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 switch (called_subaddr->tos) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 case M_CC_TOS_NSAP: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 case M_CC_TOS_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 return TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 | STATE : code ROUTINE : for_check_calling_party_bcd| | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 PURPOSE : Checks the content of a calling party bcd information | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 element. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 GLOBAL BOOL for_check_calling_party_bcd (T_M_CC_calling_num * calling_num) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 TRACE_FUNCTION ("for_check_calling_party_bcd()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 * Check numbering type | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 if (calling_num->ton <= M_CC_TON_DEDICATED) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 * Check numbering plan | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 switch (calling_num->npi) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 case M_CC_NPI_UNKNOWN: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 case M_CC_NPI_ISDN: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 case M_CC_NPI_X121: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 case M_CC_NPI_F69: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 case M_CC_NPI_NATIONAL: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 case M_CC_NPI_PRIVATE: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 * Check Present Indicator | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 if (calling_num->v_present AND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 (calling_num->present > M_CC_PRES_NOT_AVAIL)) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 return TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 | STATE : code ROUTINE : for_check_calling_party_sub | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 PURPOSE : Checks the content of a calling party sub information | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 element. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 GLOBAL BOOL for_check_calling_party_sub (T_M_CC_calling_subaddr * calling_subaddr) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 TRACE_FUNCTION ("for_check_calling_party_sub()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 switch (calling_subaddr->tos) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 case M_CC_TOS_NSAP: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 case M_CC_TOS_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 return TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 | STATE : code ROUTINE : for_check_callstate | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 PURPOSE : Checks the content of a callstate information | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 element. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 GLOBAL void for_check_call_state (T_M_CC_call_state * call_state) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 TRACE_FUNCTION ("for_check_call_state()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 if ( call_state->cs NEQ M_CC_CS_GSM_PLMN ) /* VK 04-jul-97 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 call_state->state = M_CC_CS_10; /* VK 04-jul-97 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 | STATE : code ROUTINE : for_check_cc_cause | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 PURPOSE : Checks the content of a cc cause information | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 element. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 GLOBAL BOOL for_check_cc_cause (T_M_CC_cc_cause* cc_cause) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 TRACE_FUNCTION ("for_check_cc_cause()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 //TISH patch for OMAPS00129223 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 #if 0 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 * this is a (dirty) "trick" to detect that the cause IE was not present | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 * although mandatory (for some messages): value 0 is reserved, i.e. it is not | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 * expected that it will be sent by a network; CCD/the frame ensures that the | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 * memory contents is 0 which will be seen as value if the cause IE was not present | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 if (cc_cause->cause EQ 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 * coding standards other than GSM are not supported (which is a valid option); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 * map the cause value to interworking, unspecified then, skip further checks | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 if (cc_cause->cs NEQ M_CC_CS_GSM_PLMN ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 cc_cause->cause = M_CC_CAUSE_INTERWORKING; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 return TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 /* check for reserved Location (octet 3) */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 switch (cc_cause->loc) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 case M_CC_LOC_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 case M_CC_LOC_PRIV_NET_LOCAL_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 case M_CC_LOC_PUB_NET_LOCAL_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 case M_CC_LOC_TRANSIT_NET: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 case M_CC_LOC_PRIV_NET_REMOTE_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 case M_CC_LOC_PUB_NET_REMOTE_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 case M_CC_LOC_INTERNATIONAL_NET: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 case M_CC_LOC_BEYOND_POINT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 /* check Recommendation (octet 3a) */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 * the condition below also checks the value of octet 3a (if present); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 * this stems from GSM 04.08 of Ph1 were the value 1 was defined as indicating | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 * GSM; since Ph2 there is the requirement that octet 3a shall not be included | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 * for coding standard being equal to GSM; however, the design decision is | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 * to keep the Ph1 behaviour in order to be a "tolerant" MS and to avoid | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 * interworking problems with Ph1 infrastructure, especially as this case is | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 * not treated in GSM 09.90 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 if (cc_cause->v_rec AND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 (cc_cause->rec NEQ 1)) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 return TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
274 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
275 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 | STATE : code ROUTINE : for_check_progress_indicator| | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 PURPOSE : Checks the content of a progress indicator information | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
280 element. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 GLOBAL BOOL for_check_progress_indicator (T_M_CC_progress * progress) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 TRACE_FUNCTION ("for_check_progress_indicator()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 /* coding standard and progress description are not in optional octets (3 and 4) */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 if ((progress->v_cs EQ FALSE) OR | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 (progress->v_progress_desc EQ FALSE)) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
294 * map progress description to "Unspecific" if coding standard other than | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
295 * GSM is used; note that it is an option to not support coding standards | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 * other than GSM (which Condat takes) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 if (progress->cs NEQ M_CC_CS_GSM_PLMN) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 progress->progress_desc = MNCC_PROG_UNSPECIFIC; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
301 return TRUE; /* don't care about reserved values for Location anymore of other standards */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 /* check for reserved Location values */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 switch (progress->loc) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 case M_CC_LOC_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
308 case M_CC_LOC_PRIV_NET_LOCAL_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 case M_CC_LOC_PUB_NET_LOCAL_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 case M_CC_LOC_PRIV_NET_REMOTE_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 case M_CC_LOC_PUB_NET_REMOTE_USER: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 case M_CC_LOC_BEYOND_POINT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
317 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
318 return TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
319 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
320 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
321 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
322 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
323 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
324 | STATE : code ROUTINE : for_check_repeat_indicator | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
325 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
326 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
327 PURPOSE : Checks the content of a repeat indicator information | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
328 element. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
329 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
330 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
332 GLOBAL BOOL for_check_repeat_indicator (UBYTE repeat) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
333 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 TRACE_FUNCTION ("for_check_repeat_indicator()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
336 if ((repeat EQ M_CC_REPEAT_CIRCULAR) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
337 OR | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
338 (repeat EQ M_CC_REPEAT_SEQUENTIAL) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
339 ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
340 return TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
341 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
342 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
344 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
345 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
346 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
347 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
348 | STATE : code ROUTINE : for_check_signal | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
349 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
350 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 PURPOSE : Checks the content of a signal information | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 element. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 GLOBAL BOOL for_check_signal (UBYTE signal) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 TRACE_FUNCTION ("for_check_signal()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
360 if ((signal <= M_CC_SIGNAL_HOOK_OFF_ON) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
361 OR | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 (signal EQ M_CC_SIGNAL_TONES_OFF) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 OR | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
364 (signal EQ M_CC_SIGNAL_ALERT_OFF)) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
365 return TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
366 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 return FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
370 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
371 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 | STATE : code ROUTINE : for_set_conditional_error | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
374 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
375 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 PURPOSE : Stores a detected conditional error. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
377 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
378 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
379 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
380 GLOBAL void for_set_conditional_error (UBYTE iei) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
381 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
382 GET_INSTANCE_DATA; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 TRACE_FUNCTION ("for_set_conditional_error()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 switch (cc_data->error) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
387 case M_CC_CAUSE_INFO_ELEM_NOT_IMPLEM: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
388 case M_CC_CAUSE_INVALID_MAND_INFO: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
389 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
390 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 cc_data->error = M_CC_CAUSE_COND_INFO_ELEM; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
393 if (cc_data->error_count < MAX_ERROR_TAGS) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
394 cc_data->error_inf [cc_data->error_count++] = iei; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
395 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
396 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
397 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
398 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
399 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
400 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
402 | STATE : code ROUTINE : for_set_mandatory_error | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
403 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
404 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
405 PURPOSE : Stores a detected mandatory error. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
406 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
407 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
408 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
409 GLOBAL void for_set_mandatory_error ( UBYTE iei) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
410 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
411 GET_INSTANCE_DATA; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
412 TRACE_FUNCTION ("for_set_mandatory_error()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
413 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
414 switch (cc_data->error) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
415 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
416 case M_CC_CAUSE_INFO_ELEM_NOT_IMPLEM: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
417 case M_CC_CAUSE_COND_INFO_ELEM: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
418 cc_data->error_count = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
419 /*FALLTHROUGH*/ /*lint -fallthrough*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
420 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
421 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
422 cc_data->error = M_CC_CAUSE_INVALID_MAND_INFO; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
423 if (cc_data->error_count < MAX_ERROR_TAGS) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
424 cc_data->error_inf [cc_data->error_count++] = iei; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
425 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
426 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
427 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
428 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
429 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
430 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
431 | PROJECT : GSM-PS (6147) MODULE : CC_FFK | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
432 | STATE : code ROUTINE : for_set_optional_error | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
433 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
434 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
435 PURPOSE : Stores a detected optional error. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
436 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
437 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
438 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
439 GLOBAL void for_set_optional_error ( UBYTE iei) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
440 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
441 GET_INSTANCE_DATA; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
442 TRACE_FUNCTION ("for_set_optional_error()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
443 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
444 switch (cc_data->error) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
445 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
446 case M_CC_CAUSE_INVALID_MAND_INFO: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
447 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
448 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
449 case M_CC_CAUSE_COND_INFO_ELEM: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
450 cc_data->error_count = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
451 /*FALLTHROUGH*/ /*lint -fallthrough*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
452 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
453 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
454 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
455 * Check whether the iei is compression required | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
456 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
457 if ((iei & 0xF0) EQ 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
458 for_set_mandatory_error (iei); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
459 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
460 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
461 cc_data->error = M_CC_CAUSE_INFO_ELEM_NOT_IMPLEM; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
462 if (cc_data->error_count < MAX_ERROR_TAGS) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
463 cc_data->error_inf [cc_data->error_count++] = iei; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
464 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
465 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
466 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
467 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
468 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
469 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
470 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
471 | | STATE : code ROUTINE : cc_check_critical_error | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
472 +--------------------------------------------------------------------+ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
473 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
474 PURPOSE : This function checks wheter a critical error has been | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
475 detected in the air message. Critical errors which prevent | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
476 the treatment of an air message are | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
477 - invalid Message ID | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
478 - mandatory IE missing | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
479 - IE coded as comprehension required missing | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
480 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
481 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
482 GLOBAL BOOL cc_check_critical_error (UBYTE cc_err) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
483 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
484 TRACE_FUNCTION ("cc_check_critical_error ()"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
485 if (cc_err EQ M_CC_CAUSE_INVALID_MAND_INFO OR | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
486 cc_err EQ M_CC_CAUSE_MESSAGE_TYPE_NOT_IMPLEM OR | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
487 cc_err EQ M_CC_CAUSE_COND_INFO_ELEM OR | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
488 cc_err EQ M_CC_CAUSE_SERVICE_NOT_IMPLEM ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
489 return (TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
490 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
491 return (FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
492 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
493 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
494 #endif | 
