+void comm::Engine::setClientDWR(const std::string & dwrPathfile) noexcept(false) {
+
+ // Check for base protocol codec engine health:
+ assertBaseProtocolHealth();
+
+ anna::diameter::codec::Message diameterDWR(getBaseProtocolCodecEngine());
+ std::string OH = getOriginHostName();
+ std::string OR = getOriginRealmName();
+
+ if (!dwrPathfile.empty()) {
+ try {
+ diameterDWR.loadXMLFile(dwrPathfile);
+ } catch(anna::RuntimeException &ex) {
+ anna::Logger::error("DWR file not found or unable to parse. Nothing done !", ANNA_FILE_LOCATION);
+ return;
+ }
+ }
+
+ // DEFAULT VERSION:
+ // Build DWR
+ // <DWR> ::= < Diameter Header: 280, REQ >
+ // { Origin-Host }
+ // { Origin-Realm }
+ diameterDWR.setId(anna::diameter::helpers::base::COMMANDID__Device_Watchdog_Request);
+ diameterDWR.setApplicationId(0); // base protocol
+ diameterDWR.addAvp(anna::diameter::helpers::base::AVPID__Origin_Host)->getDiameterIdentity()->setValue(OH);
+ diameterDWR.addAvp(anna::diameter::helpers::base::AVPID__Origin_Realm)->getDiameterIdentity()->setValue(OR);
+
+ // Assignment for internal encoded version:
+ setClientDWR(diameterDWR.code());
+}
+
+void comm::Engine::setClientCER(const anna::U32 &applicationId) noexcept(false) {