ANNA Suite  2020b
Multipurpose development suite for Telco applications
Message.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_app_dcca_huawei_Message_hpp
10 #define anna_diameter_app_dcca_huawei_Message_hpp
11 
12 
13 // Local
15 
16 // AVPID's
18 
20 
21 
22 //------------------------------------------------------------------------------
23 //---------------------------------------------------------------------- #define
24 //------------------------------------------------------------------------------
25 
26 
27 
28 namespace anna {
29 
30 namespace diameter {
31 
32 namespace codec {
33 using namespace basetypes;
34 }
35 
36 namespace app {
37 
38 namespace dcca {
39 
40 namespace huawei {
41 
42 
47 
48 public:
49 
56  return getAvp(helpers::tgpp::AVPID__Service_Information)->
57  getAvp(helpers::tgpp::AVPID__PS_Information);
58  );
59  }
60 
67  return getAvp(helpers::tgpp::AVPID__Service_Information)->
68  getAvp(helpers::tgpp::AVPID__PS_Information)->
69  getAvp(helpers::radius::AVPID__Called_Station_Id)->getUTF8String();
70  );
71  }
72 
79  return getAvp(helpers::tgpp::AVPID__Service_Information)->
80  getAvp(helpers::tgpp::AVPID__PS_Information)->
81  getAvp(helpers::tgpp::AVPID__3GPP_PDP_Type)->getUnsigned32();
82  );
83  }
84 
91  return getAvp(helpers::tgpp::AVPID__Service_Information)->
92  getAvp(helpers::tgpp::AVPID__PS_Information)->
93  getAvp(helpers::tgpp::AVPID__3GPP_SGSN_MCC_MNC)->getUTF8String();
94  );
95  }
96 
103  return getAvp(helpers::tgpp::AVPID__Service_Information)->
104  getAvp(helpers::tgpp::AVPID__PS_Information)->
105  getAvp(helpers::tgpp::AVPID__3GPP_Charging_Characteristics)->getUTF8String();
106  );
107  }
108 
115  return getAvp(helpers::tgpp::AVPID__Service_Information)->
116  getAvp(helpers::tgpp::AVPID__PS_Information)->
117  getAvp(helpers::tgpp::AVPID__3GPP_GPRS_Neg_QoS_Profile)->getUTF8String();
118  );
119  }
120 
127  return getAvp(helpers::tgpp::AVPID__Service_Information)->
128  getAvp(helpers::tgpp::AVPID__PS_Information)->
129  getAvp(helpers::tgpp::AVPID__CG_Address)->getAddress();
130  );
131  }
132 
139  return getAvp(helpers::tgpp::AVPID__Service_Information)->
140  getAvp(helpers::tgpp::AVPID__PS_Information)->
141  getAvp(helpers::tgpp::AVPID__3GPP_Rat_Type)->getOctetString();
142  );
143  }
144 
151  return getAvp(helpers::tgpp::AVPID__Service_Information)->
152  getAvp(helpers::tgpp::AVPID__PS_Information)->
153  getAvp(helpers::tgpp::AVPID__SGSN_Address)->getAddress();
154  );
155  }
156 
163  return getAvp(helpers::tgpp::AVPID__Service_Information)->
164  getAvp(helpers::tgpp::AVPID__PS_Information)->
165  getAvp(helpers::tgpp::AVPID__GGSN_Address)->getAddress();
166  );
167  }
168 
175  return getAvp(helpers::tgpp::AVPID__Service_Information)->
176  getAvp(helpers::tgpp::AVPID__PS_Information)->
177  getAvp(helpers::tgpp::AVPID__3GPP_Charging_Id)->getUnsigned32();
178  );
179  }
180 
186  ASSERT_APP_GETAVP(return getAvp(helpers::dcca::AVPID__Multiple_Services_Credit_Control)->getAvp(helpers::tgpp::AVPID__Reporting_Reason)->getEnumerated());
187  }
188 
195  return getAvp(helpers::dcca::AVPID__Multiple_Services_Credit_Control)->
196  getAvp(helpers::tgpp::AVPID__Trigger)->
197  getAvp(helpers::tgpp::AVPID__Trigger_Type)->getEnumerated();
198  );
199  }
200 
207  return getAvp(helpers::dcca::AVPID__Multiple_Services_Credit_Control)->
208  getAvp(helpers::tgpp::AVPID__PS_Furnish_Charging_Information);
209  );
210  }
211 
218  return getAvp(helpers::dcca::AVPID__Multiple_Services_Credit_Control)->
219  getAvp(helpers::tgpp::AVPID__PS_Furnish_Charging_Information)->
220  getAvp(helpers::tgpp::AVPID__PS_Free_Format_Data)->getOctetString();
221  );
222  }
223 
230  return getAvp(helpers::dcca::AVPID__Multiple_Services_Credit_Control)->
231  getAvp(helpers::tgpp::AVPID__PS_Furnish_Charging_Information)->
232  getAvp(helpers::tgpp::AVPID__PS_Append_Free_Format_Data)->getEnumerated();
233  );
234  }
235 
241  const Address * getPDPAddress(int ocurrence = 1, anna::Exception::Mode::_v emode = anna::Exception::Mode::Throw) noexcept(false) {
243  return getAvp(helpers::tgpp::AVPID__Service_Information)->
244  getAvp(helpers::tgpp::AVPID__PS_Information)->
245  getAvp(helpers::tgpp::AVPID__PDP_Address)->getAddress();
246  );
247  }
248 };
249 
250 }
251 }
252 }
253 }
254 }
255 
256 #endif
Definition: Exception.hpp:26
_v
Definition: Exception.hpp:26
const anna::diameter::codec::Avp * getPSFurnishChargingInformation(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:205
const UTF8String * get3GPPChargingCharacteristics(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:101
const Enumerated * getPSAppendFreeFormatData(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:228
const Address * getSGSNAddress(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:149
const OctetString * getPSFreeFormatData(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:216
const UTF8String * get3GPPSGSNMCCMNC(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:89
const Address * getPDPAddress(int ocurrence=1, anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:241
Definition: Avp.hpp:125
Definition: OctetString.hpp:30
Definition: Message.hpp:70
const Address * getGGSNAddress(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:161
const Enumerated * getTriggerType(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:193
#define ASSERT_APP_GETAVP(source)
Definition: defines.hpp:15
const OctetString * get3GPPRatType(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:137
const UTF8String * getCalledStationId(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:65
Definition: app.hpp:12
const Address * getCGAddress(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:125
const Unsigned32 * get3GPPPDPType(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:77
const anna::diameter::codec::Avp * getPSInformation(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:54
const Unsigned32 * get3GPPChargingId(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:173
const Enumerated * getReportingReason(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:185
const UTF8String * get3GPPGPRSNegQoSProfile(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:113