1 // ANNA - Anna is Not 'N' Anymore
3 // (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo
5 // https://bitbucket.org/testillano/anna
7 // Redistribution and use in source and binary forms, with or without
8 // modification, are permitted provided that the following conditions
11 // * Redistributions of source code must retain the above copyright
12 // notice, this list of conditions and the following disclaimer.
13 // * Redistributions in binary form must reproduce the above
14 // copyright notice, this list of conditions and the following disclaimer
15 // in the documentation and/or other materials provided with the
17 // * Neither the name of Google Inc. nor the names of its
18 // contributors may be used to endorse or promote products derived from
19 // this software without specific prior written permission.
21 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 // Authors: eduardo.ramos.testillano@gmail.com
34 // cisco.tierra@gmail.com
37 #ifndef anna_diameter_helpers_tgpp_defines_hpp
38 #define anna_diameter_helpers_tgpp_defines_hpp
42 #include <anna/diameter/helpers/defines.hpp>
48 /** Contextualized definitions (avp id) */
49 #define anna_diameter_helpers_define_avp(avpname,code) anna_diameter_helpers_define_avp_in_context(avpname,code,tgpp)
51 /** Contextualized definitions (avp id and values) */
52 #define anna_diameter_helpers_define_avp_with_values(avpname,code) anna_diameter_helpers_define_avp_with_values_in_context(avpname,code,tgpp)
67 anna_diameter_helpers_define_avp_with_values(Node_Functionality, 862) {
83 anna_diameter_helpers_define_avp(User_Session_Id, 830);
84 anna_diameter_helpers_define_avp(Outgoing_Session_Id, 2320);
85 anna_diameter_helpers_define_avp_with_values(Session_Priority, 650) {
95 anna_diameter_helpers_define_avp(Called_Asserted_Identity, 1250);
96 anna_diameter_helpers_define_avp(Number_Portability_Routing_Information, 2024);
97 anna_diameter_helpers_define_avp(Carrier_Select_Routing_Information, 2023);
98 anna_diameter_helpers_define_avp(Alternate_Charged_Party_Address, 1280);
99 anna_diameter_helpers_define_avp(Requested_Party_Address, 1251);
100 anna_diameter_helpers_define_avp(Associated_URI, 856);
101 anna_diameter_helpers_define_avp(Time_Stamps, 833);
102 anna_diameter_helpers_define_avp(SIP_Request_Timestamp, 834);
103 anna_diameter_helpers_define_avp(SIP_Response_Timestamp, 835);
104 anna_diameter_helpers_define_avp(SIP_Request_Timestamp_Fraction, 2301);
105 anna_diameter_helpers_define_avp(SIP_Response_Timestamp_Fraction, 2302);
106 anna_diameter_helpers_define_avp(Application_Server_Information, 850);
107 anna_diameter_helpers_define_avp(Application_Server, 836);
108 anna_diameter_helpers_define_avp(Application_Provided_Called_Party_Address, 837);
109 anna_diameter_helpers_define_avp(IMS_Charging_Identifier, 841);
110 anna_diameter_helpers_define_avp(SDP_Session_Description, 842);
111 anna_diameter_helpers_define_avp(Served_Party_IP_Address, 848);
112 anna_diameter_helpers_define_avp(Server_Capabilities, 603);
113 anna_diameter_helpers_define_avp(Mandatory_Capability, 604);
114 anna_diameter_helpers_define_avp(Optional_Capability, 605);
115 anna_diameter_helpers_define_avp(Server_Name, 602);
116 anna_diameter_helpers_define_avp(Trunk_Group_ID, 851);
117 anna_diameter_helpers_define_avp(Incoming_Trunk_Group_ID, 852);
118 anna_diameter_helpers_define_avp(Outgoing_Trunk_Group_ID, 853);
119 anna_diameter_helpers_define_avp(Bearer_Service, 854);
120 anna_diameter_helpers_define_avp(Service_Id, 855);
121 anna_diameter_helpers_define_avp(Service_Specific_Info, 1249);
122 anna_diameter_helpers_define_avp(Service_Specific_Type, 1257);
123 anna_diameter_helpers_define_avp(Service_Specific_Data, 863);
124 anna_diameter_helpers_define_avp(Number_Of_Participants, 885);
125 anna_diameter_helpers_define_avp(Message_Body, 889);
126 anna_diameter_helpers_define_avp(Content_Disposition, 828);
127 anna_diameter_helpers_define_avp_with_values(Originator, 864) {
134 anna_diameter_helpers_define_avp(Cause_Code, 861);
135 anna_diameter_helpers_define_avp_with_values(Address_Type, 899) {
141 NUMERIC_SHORTCODE = 4,
142 ALPHANUMERIC_SHORTCODE = 5,
147 anna_diameter_helpers_define_avp(Access_Network_Information, 1263);
148 anna_diameter_helpers_define_avp(Early_Media_Description, 1272);
149 anna_diameter_helpers_define_avp(SDP_TimeStamps, 1273);
150 anna_diameter_helpers_define_avp(SDP_Offer_Timestamp, 1274);
151 anna_diameter_helpers_define_avp(SDP_Answer_Timestamp, 1275);
152 anna_diameter_helpers_define_avp(IMS_Communication_Service_Identifier, 1281);
153 anna_diameter_helpers_define_avp_with_values(Online_Charging_Flag, 2303) {
155 ECF_ADDRESS_NOT_PROVIDED = 0,
156 ECF_ADDRESS_PROVIDED = 1
160 anna_diameter_helpers_define_avp(Real_Time_Tariff_Information, 2305);
161 anna_diameter_helpers_define_avp(Tariff_Information, 2060);
162 anna_diameter_helpers_define_avp(Tariff_XML, 2306);
163 anna_diameter_helpers_define_avp(Current_Tariff, 2056);
164 anna_diameter_helpers_define_avp(Next_Tariff, 2057);
165 anna_diameter_helpers_define_avp(Scale_Factor, 2059);
166 anna_diameter_helpers_define_avp(Rate_Element, 2058);
167 anna_diameter_helpers_define_avp_with_values(Reason_Code, 2316) {
171 COMMUNICATION_ATTEMPT_CHARGE = 2,
177 anna_diameter_helpers_define_avp(Unit_Cost, 2061);
178 anna_diameter_helpers_define_avp(Account_Expiration, 2309);
179 anna_diameter_helpers_define_avp(Application_Server_ID, 2101);
180 anna_diameter_helpers_define_avp_with_values(Application_Service_Type, 2102) {
191 anna_diameter_helpers_define_avp(Application_Session_ID, 2103);
192 anna_diameter_helpers_define_avp(Delivery_Status, 2104);
193 anna_diameter_helpers_define_avp(3GPP_Charging_Id, 2);
194 anna_diameter_helpers_define_avp_with_values(3GPP_PDP_Type, 3) {
202 anna_diameter_helpers_define_avp(3GPP_CG_Address, 4);
203 anna_diameter_helpers_define_avp(3GPP_GPRS_Neg_QoS_Profile, 5);
204 anna_diameter_helpers_define_avp(3GPP_SGSN_Address, 6);
205 anna_diameter_helpers_define_avp(3GPP_GGSN_Address, 7);
206 anna_diameter_helpers_define_avp(3GPP_IMSI_MCC_MNC, 8);
207 anna_diameter_helpers_define_avp(3GPP_GGSN_MCC_MNC, 9);
208 anna_diameter_helpers_define_avp(3GPP_NSAPI, 10);
209 anna_diameter_helpers_define_avp(3GPP_Session_Stop_Indicator, 11);
210 anna_diameter_helpers_define_avp(3GPP_Selection_Mode, 12);
211 anna_diameter_helpers_define_avp(3GPP_Charging_Characteristics, 13);
212 anna_diameter_helpers_define_avp(3GPP_SGSN_IPv6_Address, 15);
213 anna_diameter_helpers_define_avp(3GPP_GGSN_IPv6_Address, 16);
214 anna_diameter_helpers_define_avp(3GPP_SGSN_MCC_MNC, 18);
215 anna_diameter_helpers_define_avp(3GGP_IMEISV, 20);
216 anna_diameter_helpers_define_avp(3GPP_Rat_Type, 21);
217 anna_diameter_helpers_define_avp(3GPP_User_Location_Info, 22);
218 anna_diameter_helpers_define_avp(3GPP_MS_TimeZone, 23);
219 anna_diameter_helpers_define_avp(3GPP_CAMEL_Charging_Info, 24);
220 anna_diameter_helpers_define_avp(Access_Network_Charging_Identifier_Value, 503);
221 anna_diameter_helpers_define_avp(Quota_Consumption_Time, 811);
222 anna_diameter_helpers_define_avp(Event_Type, 823);
223 anna_diameter_helpers_define_avp(SIP_Method, 824);
224 anna_diameter_helpers_define_avp(Event, 825);
225 anna_diameter_helpers_define_avp(Content_Type, 826);
226 anna_diameter_helpers_define_avp(Content_Length, 827);
227 anna_diameter_helpers_define_avp_with_values(Role_Of_Node, 829) {
229 ORIGINATING_ROLE = 0,
230 TERMINATING_ROLE = 1,
236 anna_diameter_helpers_define_avp(Calling_Party_Address, 831);
237 anna_diameter_helpers_define_avp(Called_Party_Address, 832);
238 anna_diameter_helpers_define_avp(Inter_Operator_Identifier, 838);
239 anna_diameter_helpers_define_avp(Originating_IOI, 839);
240 anna_diameter_helpers_define_avp(Terminating_IOI, 840);
241 anna_diameter_helpers_define_avp(SDP_Media_Component, 843);
242 anna_diameter_helpers_define_avp(SDP_Media_Name, 844);
243 anna_diameter_helpers_define_avp(SDP_Media_Description, 845);
244 anna_diameter_helpers_define_avp(CG_Address, 846);
245 anna_diameter_helpers_define_avp(GGSN_Address, 847);
246 anna_diameter_helpers_define_avp(Authorized_QoS, 849);
247 anna_diameter_helpers_define_avp(PS_Furnish_Charging_Information, 865);
248 anna_diameter_helpers_define_avp(PS_Free_Format_Data, 866);
249 anna_diameter_helpers_define_avp_with_values(PS_Append_Free_Format_Data, 867) {
256 anna_diameter_helpers_define_avp(Time_Quota_Threshold, 868);
257 anna_diameter_helpers_define_avp(Volume_Quota_Threshold, 869);
258 anna_diameter_helpers_define_avp_with_values(Trigger_Type, 870) {
260 CHANGE_IN_SGSN_IP_ADDRESS = 1,
262 CHANGE_IN_LOCATION = 3,
264 CHANGEINQOS_TRAFFIC_CLASS = 10,
265 CHANGEINQOS_RELIABILITY_CLASS = 11,
266 CHANGEINQOS_DELAY_CLASS = 12,
267 CHANGEINQOS_PEAK_THROUGHPUT = 13,
268 CHANGEINQOS_PRECEDENCE_CLASS = 14,
269 CHANGEINQOS_MEAN_THROUGHPUT = 15,
270 CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK = 16,
271 CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK = 17,
272 CHANGEINQOS_RESIDUAL_BER = 18,
273 CHANGEINQOS_SDU_ERROR_RATIO = 19,
274 CHANGEINQOS_TRANSFER_DELAY = 20,
275 CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY = 21,
276 CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK = 22,
277 CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK = 23,
278 CHANGEINLOCATION_MCC = 30,
279 CHANGEINLOCATION_MNC = 31,
280 CHANGEINLOCATION_RAC = 32,
281 CHANGEINLOCATION_LAC = 33,
282 CHANGEINLOCATION_CellId = 34,
283 CHANGE_IN_MEDIA_COMPOSITION = 40,
284 CHANGEINPARTICIPANTS_NMB = 50
288 anna_diameter_helpers_define_avp_with_values(Reporting_Reason, 872) {
295 OTHER_QUOTA_TYPE = 5,
296 RATING_CONDITION_CHANGE = 6,
297 FORCED_REAUTHORISATION = 7,
302 anna_diameter_helpers_define_avp(Service_Information, 873);
303 anna_diameter_helpers_define_avp(PS_Information, 874);
304 anna_diameter_helpers_define_avp(IMS_Information, 876);
305 anna_diameter_helpers_define_avp_with_values(Media_Initiator_Flag, 882) {
313 anna_diameter_helpers_define_avp(Expires, 888);
314 anna_diameter_helpers_define_avp(Charging_Rule_Base_Name, 1004);
315 anna_diameter_helpers_define_avp_with_values(Type_Number, 1204);
316 anna_diameter_helpers_define_avp(Unit_Quota_Threshold, 1226);
317 anna_diameter_helpers_define_avp(PDP_Address, 1227);
318 anna_diameter_helpers_define_avp(SGSN_Address, 1228);
319 anna_diameter_helpers_define_avp(PDP_Context_Type, 1247);
320 anna_diameter_helpers_define_avp(Service_Generic_Information, 1256);
321 anna_diameter_helpers_define_avp(Trigger, 1264);
322 anna_diameter_helpers_define_avp(Media_Initiator_Party, 1288);
323 anna_diameter_helpers_define_avp_with_values(Low_Balance_Indication, 2020) {
330 anna_diameter_helpers_define_avp(Remaining_Balance, 2021);
331 anna_diameter_helpers_define_avp(Refund_Information, 2022);
332 anna_diameter_helpers_define_avp_with_values(SDP_Type, 2036) {
351 #undef anna_diameter_helpers_define_avp
352 #undef anna_diameter_helpers_define_avp_with_values