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_nokia_Message_hpp
10 #define anna_diameter_app_dcca_nokia_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 nokia {
41 
42 
47 
48 public:
49 
50 
56  ASSERT_APP_GETAVP(return getAvp(helpers::tgpp::AVPID__3GPP_PDP_Type)->getUnsigned32());
57  }
58 
59 
66  int pdpType = get3GPPPDPType()->getValue();
67 
68  if(pdpType == helpers::tgpp::AVPVALUES__3GPP_PDP_Type::IPV4)
69  return getAvp(helpers::radius::AVPID__Framed_IP_Address)->getOctetString();
70  if(pdpType == helpers::tgpp::AVPVALUES__3GPP_PDP_Type::IPV6)
71  return getAvp(helpers::radius::AVPID__Framed_IPv6_Prefix)->getOctetString();
72  return NULL;
73  );
74  }
75 
81  ASSERT_APP_GETAVP(return getAvp(helpers::radius::AVPID__Called_Station_Id)->getUTF8String());
82  }
83 
89  ASSERT_APP_GETAVP(return getAvp(helpers::tgpp::AVPID__3GPP_SGSN_MCC_MNC)->getUTF8String());
90  }
91 
97  ASSERT_APP_GETAVP(return getAvp(helpers::tgpp::AVPID__3GPP_SGSN_Address)->getOctetString());
98  }
99 
105  ASSERT_APP_GETAVP(return getAvp(helpers::tgpp::AVPID__3GPP_Charging_Characteristics)->getUTF8String());
106  }
107 
113  ASSERT_APP_GETAVP(return getAvp(helpers::tgpp::AVPID__3GPP_CG_Address)->getOctetString());
114  }
115 
121  ASSERT_APP_GETAVP(return getAvp(helpers::tgpp::AVPID__3GPP_Rat_Type)->getOctetString());
122  }
123 
129  ASSERT_APP_GETAVP(return getAvp(helpers::nokia::AVPID__Nokia_IMS_Media_Component_Id)->getUnsigned32());
130  }
131 
137  ASSERT_APP_GETAVP(return getAvp(helpers::nokia::AVPID__Time_Of_Last_Usage)->getTime());
138  }
139 
145  ASSERT_APP_GETAVP(return getAvp(helpers::nokia::AVPID__Time_Of_First_Usage)->getTime());
146  }
147 
153  ASSERT_APP_GETAVP(return getAvp(helpers::nokia::AVPID__Session_Start_Indicator)->getOctetString());
154  }
155 
161  ASSERT_APP_GETAVP(return getAvp(helpers::nokia::AVPID__Rule_Base_Id)->getUTF8String());
162  }
163 
169  ASSERT_APP_GETAVP(return getAvp(helpers::tgpp::AVPID__3GPP_GGSN_Address)->getOctetString());
170  }
171 
177  ASSERT_APP_GETAVP(return getAvp(helpers::dcca::AVPID__Multiple_Services_Credit_Control)->getAvp(helpers::nokia::AVPID__Nokia_Reporting_Reason)->getEnumerated());
178  }
179 
185  ASSERT_APP_GETAVP(return getAvp(helpers::tgpp::AVPID__3GPP_Charging_Id)->getUnsigned32());
186  }
187 
194  ASSERT_APP_GETAVP(return getAvp(helpers::tgpp::AVPID__3GPP_GPRS_Neg_QoS_Profile)->getUTF8String());
195  }
196 };
197 
198 }
199 }
200 }
201 }
202 }
203 
204 #endif
Definition: Exception.hpp:26
const UTF8String * getRuleBaseId(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:160
const UTF8String * get3GPPChargingCharacteristics(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:104
_v
Definition: Exception.hpp:26
const OctetString * get3GPPRatType(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:120
const Enumerated * getNOKIAReportingReason(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:176
const Unsigned32 * getNokiaIMSMediaComponentId(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:128
const OctetString * get3GPPGGSNAddress(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:168
const Time * getTimeOfFirstUsage(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:144
const OctetString * getSessionStartIndicator(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:152
Definition: OctetString.hpp:30
const UTF8String * get3GPPSGSNMCCMNC(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:88
Definition: Message.hpp:70
const OctetString * getFramedIP(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:64
#define ASSERT_APP_GETAVP(source)
Definition: defines.hpp:15
const OctetString * get3GPPSGSNAddress(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:96
Definition: app.hpp:12
const UTF8String * getCalledStationId(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:80
const Time * getTimeOfLastUsage(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:136
const UTF8String * get3GPPGPRSNegQoSProfile(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:193
const OctetString * get3GPPCGAddress(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:112
const Unsigned32 * get3GPPPDPType(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:55
const Unsigned32 * get3GPPChargingId(anna::Exception::Mode::_v emode=anna::Exception::Mode::Throw) noexcept(false)
Definition: Message.hpp:184