104
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | Project : GSM-PS (8410)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul : MM_FORF
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | Copyright 2002 Texas Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | All rights reserved.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | This file is confidential and a trade secret of Texas
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | Texas Instruments Berlin, AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | Purpose : This Modul defines the functions for the formatter
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 | capability of the module Mobility Management.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #ifndef MM_FORF_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #define MM_FORF_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #define ENTITY_MM
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 /*==== INCLUDES ===================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #if defined (NEW_FRAME)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #include <string.h>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #include <stdlib.h>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include <stddef.h>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #include "typedefs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 #include "pcm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #include "pconst.cdg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 #include "mconst.cdg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 #include "message.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 #include "ccdapi.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 #include "vsi.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 #include "custom.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 #include "gsm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #include "prim.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 #include "cnf_mm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 #include "mon_mm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #include "pei.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #include "tok.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 #include "mm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 #include <string.h>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 #include <stdlib.h>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 #include <stddef.h>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 #include "stddefs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 #include "pcm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 #include "pconst.cdg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 #include "mconst.cdg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 #include "message.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 #include "ccdapi.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 #include "custom.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 #include "gsm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 #include "prim.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 #include "cnf_mm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 #include "mon_mm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 #include "vsi.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 #include "pei.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 #include "tok.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 #include "mm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 /*==== EXPORT =====================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 /*==== PRIVAT =====================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 /*==== VARIABLES ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 /*==== FUNCTIONS ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 * -------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 * Procedures
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 * -------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 | PROJECT : GSM-PS (6147) MODULE : MM_FOR |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 | STATE : code ROUTINE : for_check_identity_type |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 PURPOSE :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 GLOBAL BOOL for_check_identity_type (UBYTE id)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 TRACE_FUNCTION ("for_check_identity_type()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 switch (id)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 case ID_TYPE_IMSI:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 case ID_TYPE_TMSI:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 case ID_TYPE_IMEI:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 case ID_TYPE_IMEISV:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 return TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 return FALSE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 | PROJECT : GSM-PS (6147) MODULE : MM_FOR |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 | STATE : code ROUTINE : for_check_mobile_identy |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 PURPOSE :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 GLOBAL BOOL for_check_mobile_identity (T_mob_id *mob_ident)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 TRACE_FUNCTION ("for_check_mobile_identity()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 return (for_check_identity_type (mob_ident->ident_type));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 | PROJECT : GSM-PS (6147) MODULE : MM_FOR |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 | STATE : code ROUTINE : for_check_reject_cause |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 PURPOSE : In this function it is checked whether a reject cause
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 received from the network is a valid MM cause. If this
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 is the case, this cause is returned as result
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 of the function. In case the reject cause is in the
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 range 0x30..0x3F, it is mapped to 0x30. If the reject
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 cause neither is a member of the table of valid causes
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 nor is in the range 0x30..0x3F, it is mapped to the
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 cause RC_SERVICE_ORDER.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 const UBYTE cause_table[MAX_DEFINED_CAUSES] =
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 RC_IMSI_IN_HLR, /* 0x02 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 RC_ILLEGAL_MS, /* 0x03 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 RC_IMSI_IN_VLR, /* 0x04 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 RC_IMEI_NOT_ACCEPTED, /* 0x05 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 RC_ILLEGAL_ME, /* 0x06 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 RC_PLMN_NOT_ALLOWED, /* 0x0B */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 RC_LA_NOT_ALLOWED, /* 0x0C */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 RC_ROAMING_NOT_ALLOWED, /* 0x0D */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 #ifdef REL99
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 RC_NO_SUITABLE_CELL_IN_LA, /* 0x0f */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 RC_NETWORK_FAILURE, /* 0x11 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 RC_CONGETION, /* 0x16 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 RC_SERVICE_NOT_SUPPORTED, /* 0x20 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 RC_SERVICE_NOT_SUBSCRIBED, /* 0x21 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 RC_SERVICE_ORDER, /* 0x22 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 RC_IDENTIFIY, /* 0x26 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 RC_INCORRECT_MESSAGE, /* 0x5F */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 RC_INVALID_MAND_MESSAGE, /* 0x60 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 RC_MESSAGE_TYPE_NOT_IMPLEM, /* 0x61 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 RC_MESSAGE_TYPE_INCOMPAT, /* 0x62 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 RC_IE_NOT_IMPLEM, /* 0x63 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 RC_CONDITIONAL_IE, /* 0x64 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 RC_MESSAGE_INCOMPAT, /* 0x65 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 RC_UNSPECIFIED /* 0x6f */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 GLOBAL UBYTE for_check_reject_cause (UBYTE cause)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 UBYTE i;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 TRACE_FUNCTION ("for_check_reject_cause()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 for (i = 0; i < MAX_DEFINED_CAUSES; i++)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 if (cause EQ cause_table[i])
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 return cause;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 * cause value retry upon entry into a new cell
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 if (cause >= 0x30 AND
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 cause <= 0x3F)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 return 0x30;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 * any other value shall be treated as service option
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 * temporarily out of order
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 return RC_SERVICE_ORDER;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 | PROJECT : GSM-PS (6147) MODULE : MM_FOR |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 | STATE : code ROUTINE : mm_for_set_error |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 PURPOSE : set an specified cause value
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 GLOBAL void mm_for_set_error (U8 cause)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 GET_INSTANCE_DATA;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 TRACE_FUNCTION ("mm_for_set_error()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 mm_data->error = cause;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 #if 0 /* body bag; closed at 02.10.2003; clean up not before 04/2004 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 | PROJECT : GSM-PS (6147) MODULE : MM_FOR |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 | STATE : code ROUTINE : for_set_mandatory_error |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 PURPOSE :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 GLOBAL void for_set_mandatory_error (void)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 TRACE_FUNCTION ("for_set_mandatory_error()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 mm_data->error = RC_INVALID_MAND_MESSAGE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 | PROJECT : GSM-PS (6147) MODULE : MM_FOR |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 | STATE : code ROUTINE : for_set_content_error |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 PURPOSE : ?
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 This function is not referenced
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 GLOBAL void for_set_content_error (void)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 TRACE_FUNCTION ("for_set_content_error()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 if (mm_data->error NEQ RC_INVALID_MAND_MESSAGE)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 mm_data->error = RC_INCORRECT_MESSAGE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260 | PROJECT : GSM-PS (6147) MODULE : MM_FOR |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 | STATE : code ROUTINE : for_set_optional_error |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 PURPOSE : ?
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 This function is not referenced
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269 GLOBAL void for_set_optional_error (UBYTE iei)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271 TRACE_FUNCTION ("for_set_optional_error()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 if (mm_data->error NEQ RC_INVALID_MAND_MESSAGE)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275 if (! (iei & 0xf0))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
276 mm_for_set_error (RC_INVALID_MAND_MESSAGE);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
277 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
278 mm_for_set_error (OPTIONAL_INFO_ERROR);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
279 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
280 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 #endif /* #if 0 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284
|