Remove dynamic exceptions
[anna.git] / include / anna / diameter / helpers / nas / 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_nas_defines_hpp
10 #define anna_diameter_helpers_nas_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,nas)
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,nas)
25
26
27 namespace anna {
28
29 namespace diameter {
30
31 namespace helpers {
32
33 namespace nas {
34
35
36 /**
37 * Avps
38 */
39 /*
40 anna_diameter_helpers_define_avp(Host_IP_Address, 257);
41 anna_diameter_helpers_define_avp_with_values(Redirect_Host_Usage, 261) {
42    enum v_ {
43       DONT_CACHE = 0,
44       ALL_SESSION = 1,
45       ALL_REALM = 2,
46       REALM_AND_APPLICATION = 3,
47       ALL_APPLICATION = 4,
48       ALL_HOST = 5,
49       ALL_USER = 6
50    };
51 };
52 <AA-Request> ::= < Diameter Header: 265, REQ, PXY >
53              < Session-Id >
54              { Auth-Application-Id }
55              { Origin-Host }
56              { Origin-Realm }
57              { Destination-Realm }
58              [ Destination-Host ]
59              [ AF-Application-Identifier ]
60             *[ Media-Component-Description ]
61              [ Service-Info-Status ]
62              [ AF-Charging-Identifier ]
63              [ SIP-Forking-Indication ]
64             *[ Specific-Action ]
65             *[ Subscription-Id ]
66             *[ Supported-Features ]
67              [ Reservation-Priority ]
68              [ Framed-IP-Address ]
69              [ Framed-IPv6-Prefix ]
70                                  [ Called-Station-Id ]
71              [ Service-URN ]
72              [ Sponsored-Connectivity-Data ]
73              [ MPS-Identifier ]
74              [ Rx-Request-Type ]
75                                  [ Origin-State-Id ]
76             *[ Proxy-Info ]
77             *[ Route-Record ]
78             *[ AVP ]
79
80 <AA-Answer> ::=  < Diameter Header: 265, PXY >
81              < Session-Id >
82              { Auth-Application-Id }
83              { Origin-Host }
84              { Origin-Realm }
85              [ Result-Code ]
86              [ Experimental-Result ]
87             *[ Access-Network-Charging-Identifier ]
88              [ Access-Network-Charging-Address ]
89              [ Acceptable-Service-Info ]
90              [ IP-CAN-Type ]
91              [ RAT-Type ]
92             *[ Flows ]
93             *[ Supported-Features ]
94                   *[ Class ]
95              [ Error-Message ]
96              [ Error-Reporting-Host ]
97             *[ Failed-AVP ]
98              [ Origin-State-Id ]
99                                 *[ Redirect-Host ]
100                                  [ Redirect-Host-Usage ]
101                                  [ Redirect-Max-Cache-Time ]
102             *[ Proxy-Info ]
103             *[ AVP ]
104
105 */
106
107
108 /**
109 * Commands
110 */
111 anna_diameter_helpers_define_command_request(AA_Request, 265);
112 anna_diameter_helpers_define_command_answer(AA_Answer, 265);
113
114
115 }
116 }
117 }
118 }
119
120
121 #undef anna_diameter_helpers_define_avp
122 #undef anna_diameter_helpers_define_avp_with_values
123
124 #endif