ANNA Suite  2020b
Multipurpose development suite for Telco applications
defines.hpp
Go to the documentation of this file.
1 // ANNA - Anna is Not Nothingness Anymore //
2 // //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
4 // //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7 
8 
9 #ifndef anna_diameter_helpers_base_defines_hpp
10 #define anna_diameter_helpers_base_defines_hpp
11 
12 
13 // Local
15 
16 // STL
17 #include <string>
18 
19 
21 #define anna_diameter_helpers_define_avp(avpname,code) anna_diameter_helpers_define_avp_in_context(avpname,code,base)
22 
24 #define anna_diameter_helpers_define_avp_with_values(avpname,code) anna_diameter_helpers_define_avp_with_values_in_context(avpname,code,base)
25 
26 
27 namespace anna {
28 
29 namespace diameter {
30 
31 namespace helpers {
32 
33 namespace base {
34 
35 
39 anna_diameter_helpers_define_avp(Host_IP_Address, 257);
40 anna_diameter_helpers_define_avp(Auth_Application_Id, 258);
42  enum v_ {
43  ERICSSON_SCAP = 19302
44  };
45 };
46 
47 anna_diameter_helpers_define_avp(Vendor_Specific_Application_Id, 260);
49  enum v_ {
50  DONT_CACHE = 0,
51  ALL_SESSION = 1,
52  ALL_REALM = 2,
53  REALM_AND_APPLICATION = 3,
54  ALL_APPLICATION = 4,
55  ALL_HOST = 5,
56  ALL_USER = 6
57  };
58 };
59 
60 anna_diameter_helpers_define_avp(Redirect_Max_Cache_Time, 262);
61 anna_diameter_helpers_define_avp(Session_Id, 263);
62 anna_diameter_helpers_define_avp(Origin_Host, 264);
63 anna_diameter_helpers_define_avp(Supported_Vendor_Id, 265);
64 anna_diameter_helpers_define_avp(Vendor_Id, 266);
65 anna_diameter_helpers_define_avp(Firmware_Revision, 267);
67  enum v_ {
68  // (Informational)
69  // BaseProtocol
70  DIAMETER_MULTI_ROUND_AUTH = 1001,
71  // (Success)
72  // BaseProtocol
73  DIAMETER_SUCCESS = 2001,
74  DIAMETER_LIMITED_SUCCESS = 2002,
75  // (Protocol Errors)
76  // BaseProtocol
77  DIAMETER_COMMAND_UNSUPPORTED = 3001,
78  DIAMETER_UNABLE_TO_DELIVER = 3002,
79  DIAMETER_REALM_NOT_SERVED = 3003,
80  DIAMETER_TOO_BUSY = 3004,
81  DIAMETER_LOOP_DETECTED = 3005,
82  DIAMETER_REDIRECT_INDICATION = 3006,
83  DIAMETER_APPLICATION_UNSUPPORTED = 3007,
84  DIAMETER_INVALID_HDR_BITS = 3008,
85  DIAMETER_INVALID_AVP_BITS = 3009,
86  DIAMETER_UNKNOWN_PEER = 3010,
87  // (Transient Failures)
88  // BaseProtocol
89  DIAMETER_AUTHENTICATION_REJECTED = 4001,
90  DIAMETER_OUT_OF_SPACE = 4002,
91  ELECTION_LOST = 4003,
92  // MobileIPv4Application
93  DIAMETER_ERROR_MIP_REPLY_FAILURE = 4005,
94  DIAMETER_ERROR_HA_NOT_AVAILABLE = 4006,
95  DIAMETER_ERROR_BAD_KEY = 4007,
96  DIAMETER_ERROR_MIP_FILTER_NOT_SUPPORTED = 4008,
97  // DCCA
98  DIAMETER_END_USER_SERVICE_DENIED = 4010,
99  DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE = 4011,
100  DIAMETER_CREDIT_LIMIT_REACHED = 4012,
101  // Ericsson SCAP
102  SCAP__DIAMETER_END_USER_SERVICE_DENIED = 4241,
103  // (Permanent Failure)
104  // BaseProtocol
105  DIAMETER_AVP_UNSUPPORTED = 5001,
106  DIAMETER_UNKNOWN_SESSION_ID = 5002,
107  DIAMETER_AUTHORIZATION_REJECTED = 5003,
108  DIAMETER_INVALID_AVP_VALUE = 5004,
109  DIAMETER_MISSING_AVP = 5005,
110  DIAMETER_RESOURCES_EXCEEDED = 5006,
111  DIAMETER_CONTRADICTING_AVPS = 5007,
112  DIAMETER_AVP_NOT_ALLOWED = 5008,
113  DIAMETER_AVP_OCCURS_TOO_MANY_TIMES = 5009,
114  DIAMETER_NO_COMMON_APPLICATION = 5010,
115  DIAMETER_UNSUPPORTED_VERSION = 5011,
116  DIAMETER_UNABLE_TO_COMPLY = 5012,
117  DIAMETER_INVALID_BIT_IN_HEADER = 5013,
118  DIAMETER_INVALID_AVP_LENGTH = 5014,
119  DIAMETER_INVALID_MESSAGE_LENGTH = 5015,
120  DIAMETER_INVALID_AVP_BIT_COMBO = 5016,
121  DIAMETER_NO_COMMON_SECURITY = 5017,
122  // MobileIPv4Application
123  DIAMETER_ERROR_NO_FOREIGN_HA_SERVICE = 5024,
124  DIAMETER_ERROR_END_TO_END_MIP_KEY_ENCRYPTION = 5025,
125  // DCCA
126  DIAMETER_USER_UNKNOWN = 5030,
127  DIAMETER_RATING_FAILED = 5031,
128  // Rx
129  REQUESTED_SERVICE_NOT_AUTHORIZED = 5063,
130  IP_CAN_SESSION_NOT_AVAILABLE = 5065,
131  // Ericsson SCAP
132  DIAMETER_END_USER_NOT_FOUND = 5241
133  };
134 };
135 
136 anna_diameter_helpers_define_avp(Product_Name, 269);
138  enum v_ {
139  RE_AUTH = 1,
140  STR = 2,
141  ACCOUNTING = 4
142  };
143 };
144 
145 anna_diameter_helpers_define_avp_with_values(Session_Server_Failover, 271) {
146  enum v_ {
147  REFUSE_SERVICE = 0,
148  TRY_AGAIN = 1,
149  ALLOW_SERVICE = 2,
150  TRY_AGAIN_ALLOW_SERVICE = 3
151  };
152 };
153 
154 anna_diameter_helpers_define_avp(Multi_Round_Time_Out, 272);
156  enum v_ {
157  REBOOTING = 0,
158  BUSY = 1,
159  DO_NOT_WANT_TO_TALK_TO_YOU = 2
160  };
161 };
162 
164  enum v_ {
165  RESERVED = 0,
166  AUTHENTICATE_ONLY = 1,
167  AUTHORIZE_ONLY = 2,
168  AUTHORIZE_AUTHENTICATE = 3
169  };
170 };
171 
172 anna_diameter_helpers_define_avp(Auth_Grace_Period, 276);
174  enum v_ {
175  STATE_MAINTAINED = 0,
176  NO_STATE_MAINTAINED = 1
177  };
178 };
179 
180 anna_diameter_helpers_define_avp(Origin_State_Id, 278);
181 anna_diameter_helpers_define_avp(Failed_AVP, 279);
182 anna_diameter_helpers_define_avp(Proxy_Host, 280);
183 anna_diameter_helpers_define_avp(Error_Message, 281);
184 anna_diameter_helpers_define_avp(Route_Record, 282);
185 anna_diameter_helpers_define_avp(Destination_Realm, 283);
186 anna_diameter_helpers_define_avp(Proxy_Info, 284);
188  enum v_ {
189  AUTHORIZE_ONLY = 0,
190  AUTHORIZE_AUTHENTICATE = 1
191  };
192 };
193 
194 anna_diameter_helpers_define_avp(Accounting_Sub_Session_Id, 287);
195 anna_diameter_helpers_define_avp(Authorization_Lifetime, 291);
196 anna_diameter_helpers_define_avp(Redirect_Host, 292);
197 anna_diameter_helpers_define_avp(Destination_Host, 293);
198 anna_diameter_helpers_define_avp(Error_Reporting_Host, 294);
200  enum v_ {
201  DIAMETER_LOGOUT = 1,
202  DIAMETER_SERVICE_NOT_PROVIDED = 2,
203  DIAMETER_BAD_ANSWER = 3,
204  DIAMETER_ADMINISTRATIVE = 4,
205  DIAMETER_LINK_BROKEN = 5,
206  DIAMETER_AUTH_EXPIRED = 6,
207  DIAMETER_USER_MOVED = 7,
208  DIAMETER_SESSION_TIMEOUT = 8
209  };
210 };
211 
212 anna_diameter_helpers_define_avp(Origin_Realm, 296);
213 anna_diameter_helpers_define_avp(Experimental_Result, 297);
214 anna_diameter_helpers_define_avp(Experimental_Result_Code, 298);
216  enum v_ {
217  NO_INBAND_SECURITY = 0,
218  TLS = 1
219  };
220 };
221 
222 anna_diameter_helpers_define_avp(E2E_Sequence_AVP, 300); // deprecated
223 anna_diameter_helpers_define_avp_with_values(Accounting_Record_Type, 480) {
224  enum v_ {
225  EVENT_RECORD = 1,
226  START_RECORD = 2,
227  INTERIM_RECORD = 3,
228  STOP_RECORD = 4
229  };
230 };
231 
232 anna_diameter_helpers_define_avp(Accounting_Interim_Interval, 482);
233 anna_diameter_helpers_define_avp_with_values(Accounting_Realtime_Required, 483) {
234  enum v_ {
235  DELIVER_AND_GRANT = 1,
236  GRANT_AND_STORE = 2,
237  GRANT_AND_LOSE = 3
238  };
239 };
240 
241 anna_diameter_helpers_define_avp(Accounting_Record_Number, 485);
242 
243 
247 anna_diameter_helpers_define_command_request(Abort_Session_Request, 274);
248 anna_diameter_helpers_define_command_answer(Abort_Session_Answer, 274);
249 anna_diameter_helpers_define_command_request(Accounting_Request, 271);
250 anna_diameter_helpers_define_command_answer(Accounting_Answer, 271);
251 anna_diameter_helpers_define_command_request(Capabilities_Exchange_Request, 257);
252 anna_diameter_helpers_define_command_answer(Capabilities_Exchange_Answer, 257);
253 anna_diameter_helpers_define_command_request(Device_Watchdog_Request, 280);
254 anna_diameter_helpers_define_command_answer(Device_Watchdog_Answer, 280);
255 anna_diameter_helpers_define_command_request(Disconnect_Peer_Request, 282);
256 anna_diameter_helpers_define_command_answer(Disconnect_Peer_Answer, 282);
259 anna_diameter_helpers_define_command_request(Session_Termination_Request, 275);
260 anna_diameter_helpers_define_command_answer(Session_Termination_Answer, 275);
261 
262 
263 }
264 }
265 }
266 }
267 
268 
269 #undef anna_diameter_helpers_define_avp
270 #undef anna_diameter_helpers_define_avp_with_values
271 
272 #endif
anna_diameter_helpers_define_avp(Host_IP_Address, 257)
anna_diameter_helpers_define_command_request(Abort_Session_Request, 274)
anna_diameter_helpers_define_command_answer(Abort_Session_Answer, 274)
Definition: app.hpp:12
anna_diameter_helpers_define_avp_with_values(Acct_Application_Id, 259)
Definition: defines.hpp:41