1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
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 //
9 #ifndef anna_diameter_helpers_base_defines_hpp
10 #define anna_diameter_helpers_base_defines_hpp
14 #include <anna/diameter/helpers/defines.hpp>
20 /** Contextualized definitions (avp id) */
21 #define anna_diameter_helpers_define_avp(avpname,code) anna_diameter_helpers_define_avp_in_context(avpname,code,base)
23 /** Contextualized definitions (avp id and values) */
24 #define anna_diameter_helpers_define_avp_with_values(avpname,code) anna_diameter_helpers_define_avp_with_values_in_context(avpname,code,base)
39 anna_diameter_helpers_define_avp(Host_IP_Address, 257);
40 anna_diameter_helpers_define_avp(Auth_Application_Id, 258);
41 anna_diameter_helpers_define_avp_with_values(Acct_Application_Id, 259) {
47 anna_diameter_helpers_define_avp(Vendor_Specific_Application_Id, 260);
48 anna_diameter_helpers_define_avp_with_values(Redirect_Host_Usage, 261) {
53 REALM_AND_APPLICATION = 3,
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);
66 anna_diameter_helpers_define_avp_with_values(Result_Code, 268) {
70 DIAMETER_MULTI_ROUND_AUTH = 1001,
73 DIAMETER_SUCCESS = 2001,
74 DIAMETER_LIMITED_SUCCESS = 2002,
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)
89 DIAMETER_AUTHENTICATION_REJECTED = 4001,
90 DIAMETER_OUT_OF_SPACE = 4002,
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,
98 DIAMETER_END_USER_SERVICE_DENIED = 4010,
99 DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE = 4011,
100 DIAMETER_CREDIT_LIMIT_REACHED = 4012,
102 SCAP__DIAMETER_END_USER_SERVICE_DENIED = 4241,
103 // (Permanent Failure)
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,
126 DIAMETER_USER_UNKNOWN = 5030,
127 DIAMETER_RATING_FAILED = 5031,
129 REQUESTED_SERVICE_NOT_AUTHORIZED = 5063,
130 IP_CAN_SESSION_NOT_AVAILABLE = 5065,
132 DIAMETER_END_USER_NOT_FOUND = 5241
136 anna_diameter_helpers_define_avp(Product_Name, 269);
137 anna_diameter_helpers_define_avp_with_values(Session_Binding, 270) {
145 anna_diameter_helpers_define_avp_with_values(Session_Server_Failover, 271) {
150 TRY_AGAIN_ALLOW_SERVICE = 3
154 anna_diameter_helpers_define_avp(Multi_Round_Time_Out, 272);
155 anna_diameter_helpers_define_avp_with_values(Disconnect_Cause, 273) {
159 DO_NOT_WANT_TO_TALK_TO_YOU = 2
163 anna_diameter_helpers_define_avp_with_values(Auth_Request_Type, 274) {
166 AUTHENTICATE_ONLY = 1,
168 AUTHORIZE_AUTHENTICATE = 3
172 anna_diameter_helpers_define_avp(Auth_Grace_Period, 276);
173 anna_diameter_helpers_define_avp_with_values(Auth_Session_State, 277) {
175 STATE_MAINTAINED = 0,
176 NO_STATE_MAINTAINED = 1
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);
187 anna_diameter_helpers_define_avp_with_values(Re_Auth_Request_Type, 285) {
190 AUTHORIZE_AUTHENTICATE = 1
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);
199 anna_diameter_helpers_define_avp_with_values(Termination_Cause, 295) {
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
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);
215 anna_diameter_helpers_define_avp_with_values(Inband_Security_Id, 299) {
217 NO_INBAND_SECURITY = 0,
222 anna_diameter_helpers_define_avp(E2E_Sequence_AVP, 300); // deprecated
223 anna_diameter_helpers_define_avp_with_values(Accounting_Record_Type, 480) {
232 anna_diameter_helpers_define_avp(Accounting_Interim_Interval, 482);
233 anna_diameter_helpers_define_avp_with_values(Accounting_Realtime_Required, 483) {
235 DELIVER_AND_GRANT = 1,
241 anna_diameter_helpers_define_avp(Accounting_Record_Number, 485);
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);
257 anna_diameter_helpers_define_command_request(Re_Auth_Request, 258);
258 anna_diameter_helpers_define_command_answer(Re_Auth_Answer, 258);
259 anna_diameter_helpers_define_command_request(Session_Termination_Request, 275);
260 anna_diameter_helpers_define_command_answer(Session_Termination_Answer, 275);
269 #undef anna_diameter_helpers_define_avp
270 #undef anna_diameter_helpers_define_avp_with_values