Remove dynamic exceptions
[anna.git] / include / anna / diameter / helpers / nokia / defines.hpp
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_nokia_defines_hpp
10 #define anna_diameter_helpers_nokia_defines_hpp
11
12
13 // Local
14 #include <anna/diameter/helpers/defines.hpp>
15
16 // STL
17 #include <string>
18
19
20 /** Contextualized definitions (avp id) */
21 #define anna_diameter_helpers_define_avp(avpname,code)  anna_diameter_helpers_define_avp_in_context(avpname,code,nokia)
22
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,nokia)
25
26
27 namespace anna {
28
29 namespace diameter {
30
31 namespace helpers {
32
33 namespace nokia {
34
35
36 /**
37 * Avps
38 */
39 anna_diameter_helpers_define_avp(Nokia_Access_Method, 5100);
40 anna_diameter_helpers_define_avp(Nokia_IMS_Media_Component_Id, 5101);
41 anna_diameter_helpers_define_avp_with_values(Nokia_Reporting_Reason, 5102) {
42   enum v_ {
43     QHT = 1,
44     TERMINATED = 2,
45     VALIDITY_TIME = 3,
46     CHANGED_QOS = 4,
47     CHANGED_SGSN = 5,
48     CHANGED_RAT = 6,
49     FORCED_REAUTHORIZATION = 7,
50     CREDIT_POOL_EXHAUSTED = 8,
51     EXHAUSTED_TIME = 9,
52     EXHAUSTED_TOTAL_OCTETS = 10,
53     EXHAUSTED_INPUT_OCTETS = 11,
54     EXHAUSTED_OUTPUT_OCTETS = 12,
55     EXHAUSTED_SERVICE_SPECIFIC_UNITS = 13
56   };
57 };
58
59 anna_diameter_helpers_define_avp(Time_Of_First_Usage, 5103);
60 anna_diameter_helpers_define_avp(Time_Of_Last_Usage, 5104);
61 anna_diameter_helpers_define_avp(Session_Start_Indicator, 5105);
62 anna_diameter_helpers_define_avp(Rule_Base_Id, 5106);
63 anna_diameter_helpers_define_avp(Trigger, 5107);
64 anna_diameter_helpers_define_avp_with_values(Trigger_Type, 5108) {
65   enum v_ {
66     CHANGE_IN_SGSN_IP_ADDRESS = 1,
67     CHANGE_IN_QOS_ANY = 2,
68     CHANGE_IN_RAT = 3
69   };
70 };
71
72 anna_diameter_helpers_define_avp(Quota_Holding_Time, 5110);
73 anna_diameter_helpers_define_avp(Default_Quota, 5111);
74
75
76 /**
77 * Commands
78 */
79
80
81 }
82 }
83 }
84 }
85
86
87 #undef anna_diameter_helpers_define_avp
88 #undef anna_diameter_helpers_define_avp_with_values
89
90 #endif
91