diff --git a/src/Services/EventActionService.cpp b/src/Services/EventActionService.cpp
index d9ace2a4fcbc7666b9eaa5581a89c56772c4b01d..6fb59212dc078db140fbcc02d0aa9c891329ceb5 100755
--- a/src/Services/EventActionService.cpp
+++ b/src/Services/EventActionService.cpp
@@ -11,8 +11,9 @@ EventActionService::EventActionDefinition::EventActionDefinition(uint16_t applic
 }
 
 void EventActionService::addEventActionDefinitions(Message& message) {
-	// TC[19,1]
-	message.assertTC(EventActionService::ServiceType, EventActionService::MessageType::AddEventAction);
+	if (!message.assertTC(ServiceType, MessageType::AddEventAction)) {
+		return;
+	}
 	uint8_t numberOfEventActionDefinitions = message.readUint8();
 	while (numberOfEventActionDefinitions-- != 0) {
 		uint16_t applicationID = message.readEnum16();
@@ -24,7 +25,7 @@ void EventActionService::addEventActionDefinitions(Message& message) {
 				if (element.second.enabled) {
 					canBeAdded = false;
 					ErrorHandler::reportError(message, ErrorHandler::EventActionEnabledError);
-				} else if (not element.second.enabled) {
+				} else {
 					eventActionDefinitionMap.erase(eventDefinitionID);
 				}
 				break;
@@ -33,17 +34,18 @@ void EventActionService::addEventActionDefinitions(Message& message) {
 		if (canBeAdded) {
 			if (eventActionDefinitionMap.size() == ECSSEventActionStructMapSize) {
 				ErrorHandler::reportError(message, ErrorHandler::EventActionDefinitionsMapIsFull);
-			} else {
-				EventActionDefinition temporaryEventActionDefinition(applicationID, eventDefinitionID, message);
-				eventActionDefinitionMap.insert(std::make_pair(eventDefinitionID, temporaryEventActionDefinition));
+				continue;
 			}
+			EventActionDefinition temporaryEventActionDefinition(applicationID, eventDefinitionID, message);
+			eventActionDefinitionMap.insert(std::make_pair(eventDefinitionID, temporaryEventActionDefinition));
 		}
 	}
 }
 
 void EventActionService::deleteEventActionDefinitions(Message& message) {
-	// TC[19,2]
-	message.assertTC(EventActionService::ServiceType, EventActionService::MessageType::DeleteEventAction);
+	if (!message.assertTC(ServiceType, MessageType::DeleteEventAction)) {
+		return;
+	}
 	uint8_t numberOfEventActionDefinitions = message.readUint8();
 	while (numberOfEventActionDefinitions-- != 0) {
 		uint16_t applicationID = message.readEnum16();
@@ -70,16 +72,17 @@ void EventActionService::deleteEventActionDefinitions(Message& message) {
 }
 
 void EventActionService::deleteAllEventActionDefinitions(Message& message) {
-	// TC[19,3]
-	message.assertTC(EventActionService::ServiceType, EventActionService::MessageType::DeleteAllEventAction);
-
+	if (!message.assertTC(ServiceType, MessageType::DeleteAllEventAction)) {
+		return;
+	}
 	setEventActionFunctionStatus(false);
 	eventActionDefinitionMap.clear();
 }
 
 void EventActionService::enableEventActionDefinitions(Message& message) {
-	// TC[19,4]
-	message.assertTC(EventActionService::ServiceType, EventActionService::MessageType::EnableEventAction);
+	if (!message.assertTC(ServiceType, MessageType::EnableEventAction)) {
+		return;
+	}
 	uint8_t numberOfEventActionDefinitions = message.readUint8();
 	if (numberOfEventActionDefinitions != 0U) {
 		while (numberOfEventActionDefinitions-- != 0) {
@@ -110,8 +113,9 @@ void EventActionService::enableEventActionDefinitions(Message& message) {
 }
 
 void EventActionService::disableEventActionDefinitions(Message& message) {
-	// TC[19,5]
-	message.assertTC(EventActionService::ServiceType, EventActionService::MessageType::DisableEventAction);
+	if (!message.assertTC(ServiceType, MessageType::DisableEventAction)) {
+		return;
+	}
 	uint8_t numberOfEventActionDefinitions = message.readUint8();
 	if (numberOfEventActionDefinitions != 0U) {
 		while (numberOfEventActionDefinitions-- != 0) {
@@ -142,14 +146,13 @@ void EventActionService::disableEventActionDefinitions(Message& message) {
 }
 
 void EventActionService::requestEventActionDefinitionStatus(Message& message) {
-	// TC[19,6]
-	message.assertTC(EventActionService::ServiceType, EventActionService::MessageType::ReportStatusOfEachEventAction);
-
+	if (!message.assertTC(ServiceType, MessageType::ReportStatusOfEachEventAction)) {
+		return;
+	}
 	eventActionStatusReport();
 }
 
 void EventActionService::eventActionStatusReport() {
-	// TM[19,7]
 	Message report = createTM(EventActionStatusReport);
 	uint16_t count = eventActionDefinitionMap.size();
 	report.appendUint16(count);
@@ -162,16 +165,16 @@ void EventActionService::eventActionStatusReport() {
 }
 
 void EventActionService::enableEventActionFunction(Message& message) {
-	// TC[19,8]
-	message.assertTC(EventActionService::ServiceType, EventActionService::MessageType::EnableEventActionFunction);
-
+	if (!message.assertTC(ServiceType, MessageType::EnableEventActionFunction)) {
+		return;
+	}
 	setEventActionFunctionStatus(true);
 }
 
 void EventActionService::disableEventActionFunction(Message& message) {
-	// TC[19,9]
-	message.assertTC(EventActionService::ServiceType, EventActionService::MessageType::DisableEventActionFunction);
-
+	if (!message.assertTC(ServiceType, MessageType::DisableEventActionFunction)) {
+		return;
+	}
 	setEventActionFunctionStatus(false);
 }
 
diff --git a/src/Services/EventReportService.cpp b/src/Services/EventReportService.cpp
index 1e3858d1c7759ba8808116931a57a7bc9c93780a..5f2b23a4080ab397f0d0db21cb1b4daaed6a3979 100644
--- a/src/Services/EventReportService.cpp
+++ b/src/Services/EventReportService.cpp
@@ -1,8 +1,8 @@
 #include "ECSS_Configuration.hpp"
 #ifdef SERVICE_EVENTREPORT
 
-#include <Services/EventReportService.hpp>
 #include <Services/EventActionService.hpp>
+#include <Services/EventReportService.hpp>
 #include "Message.hpp"
 
 /**
@@ -22,8 +22,7 @@ void EventReportService::informativeEventReport(Event eventID, const String<ECSS
 	}
 }
 
-void
-EventReportService::lowSeverityAnomalyReport(Event eventID, const String<ECSSEventDataAuxiliaryMaxSize>& data) {
+void EventReportService::lowSeverityAnomalyReport(Event eventID, const String<ECSSEventDataAuxiliaryMaxSize>& data) {
 	lowSeverityEventCount++;
 	// TM[5,2]
 	if (stateOfEvents[static_cast<uint16_t>(eventID)]) {
@@ -39,8 +38,7 @@ EventReportService::lowSeverityAnomalyReport(Event eventID, const String<ECSSEve
 	}
 }
 
-void
-EventReportService::mediumSeverityAnomalyReport(Event eventID, const String<ECSSEventDataAuxiliaryMaxSize>& data) {
+void EventReportService::mediumSeverityAnomalyReport(Event eventID, const String<ECSSEventDataAuxiliaryMaxSize>& data) {
 	mediumSeverityEventCount++;
 	// TM[5,3]
 	if (stateOfEvents[static_cast<uint16_t>(eventID)]) {
@@ -56,8 +54,7 @@ EventReportService::mediumSeverityAnomalyReport(Event eventID, const String<ECSS
 	}
 }
 
-void
-EventReportService::highSeverityAnomalyReport(Event eventID, const String<ECSSEventDataAuxiliaryMaxSize>& data) {
+void EventReportService::highSeverityAnomalyReport(Event eventID, const String<ECSSEventDataAuxiliaryMaxSize>& data) {
 	highSeverityEventCount++;
 	// TM[5,4]
 	if (stateOfEvents[static_cast<uint16_t>(eventID)]) {
@@ -75,7 +72,9 @@ EventReportService::highSeverityAnomalyReport(Event eventID, const String<ECSSEv
 
 void EventReportService::enableReportGeneration(Message message) {
 	// TC[5,5]
-	message.assertTC(EventReportService::ServiceType, EventReportService::MessageType::EnableReportGenerationOfEvents);
+	if (!message.assertTC(ServiceType, MessageType::EnableReportGenerationOfEvents)) {
+		return;
+	}
 
 	/**
 	 * @todo: Report an error if length > numberOfEvents
@@ -91,7 +90,9 @@ void EventReportService::enableReportGeneration(Message message) {
 
 void EventReportService::disableReportGeneration(Message message) {
 	// TC[5,6]
-	message.assertTC(EventReportService::ServiceType, EventReportService::MessageType::DisableReportGenerationOfEvents);
+	if (!message.assertTC(ServiceType, MessageType::DisableReportGenerationOfEvents)) {
+		return;
+	}
 
 	/**
 	 * @todo: Report an error if length > numberOfEvents
@@ -107,7 +108,9 @@ void EventReportService::disableReportGeneration(Message message) {
 
 void EventReportService::requestListOfDisabledEvents(Message message) {
 	// TC[5,7]
-	message.assertTC(EventReportService::ServiceType, EventReportService::MessageType::ReportListOfDisabledEvents);
+	if (!message.assertTC(ServiceType, MessageType::ReportListOfDisabledEvents)) {
+		return;
+	}
 
 	listOfDisabledEventsReport();
 }
diff --git a/src/Services/FunctionManagementService.cpp b/src/Services/FunctionManagementService.cpp
index 703c71874c78f9ba810c6b863328c8ea202bf0a5..e299d0a5b82b654b1cf45f0d231b24e056d12b02 100644
--- a/src/Services/FunctionManagementService.cpp
+++ b/src/Services/FunctionManagementService.cpp
@@ -5,15 +5,13 @@
 
 void FunctionManagementService::call(Message& msg) {
 	msg.resetRead();
-	ErrorHandler::assertRequest(msg.packetType == Message::TC, msg,
-	                            ErrorHandler::AcceptanceErrorType::UnacceptableMessage);
-	ErrorHandler::assertRequest(msg.messageType == FunctionManagementService::MessageType::PerformFunction, msg,
-		ErrorHandler::AcceptanceErrorType::UnacceptableMessage);
-	ErrorHandler::assertRequest(msg.serviceType == FunctionManagementService::ServiceType, msg,
-		ErrorHandler::AcceptanceErrorType::UnacceptableMessage);
 
-	uint8_t funcName[ECSSFunctionNameLength] = { 0 }; // the function's name
-	uint8_t funcArgs[ECSSFunctionMaxArgLength] = { 0 }; // arguments for the function
+	if (!msg.assertTC(ServiceType, MessageType::PerformFunction)) {
+		return;
+	}
+
+	uint8_t funcName[ECSSFunctionNameLength] = {0};   // the function's name
+	uint8_t funcArgs[ECSSFunctionMaxArgLength] = {0}; // arguments for the function
 
 	msg.readString(funcName, ECSSFunctionNameLength);
 	msg.readString(funcArgs, ECSSFunctionMaxArgLength);
@@ -41,7 +39,7 @@ void FunctionManagementService::call(Message& msg) {
 }
 
 void FunctionManagementService::include(String<ECSSFunctionNameLength> funcName,
-	void (* ptr)(String<ECSSFunctionMaxArgLength>)) {
+                                        void (*ptr)(String<ECSSFunctionMaxArgLength>)) {
 	if (not funcPtrIndex.full()) { // CAUTION: etl::map won't check by itself if it's full
 		// before attempting to insert a key-value pair, causing segmentation faults. Check first!
 		funcName.append(ECSSFunctionNameLength - funcName.length(), 0);
diff --git a/src/Services/HousekeepingService.cpp b/src/Services/HousekeepingService.cpp
index d7c8f9dfa2a2d5b98cb19db8f8bca91c7dc00866..0a714e065f10a7101447559927a949397e28308a 100644
--- a/src/Services/HousekeepingService.cpp
+++ b/src/Services/HousekeepingService.cpp
@@ -2,7 +2,9 @@
 #include "ServicePool.hpp"
 
 void HousekeepingService::createHousekeepingReportStructure(Message& request) {
-	request.assertTC(ServiceType, MessageType::CreateHousekeepingReportStructure);
+	if (!request.assertTC(ServiceType, MessageType::CreateHousekeepingReportStructure)) {
+		return;
+	}
 
 	uint8_t idToCreate = request.readUint8();
 	if (hasAlreadyExistingStructError(idToCreate, request)) {
@@ -29,7 +31,9 @@ void HousekeepingService::createHousekeepingReportStructure(Message& request) {
 }
 
 void HousekeepingService::deleteHousekeepingReportStructure(Message& request) {
-	request.assertTC(ServiceType, MessageType::DeleteHousekeepingReportStructure);
+	if (!request.assertTC(ServiceType, MessageType::DeleteHousekeepingReportStructure)) {
+		return;
+	}
 	uint8_t numOfStructuresToDelete = request.readUint8();
 	for (uint8_t i = 0; i < numOfStructuresToDelete; i++) {
 		uint8_t structureId = request.readUint8();
@@ -45,7 +49,9 @@ void HousekeepingService::deleteHousekeepingReportStructure(Message& request) {
 }
 
 void HousekeepingService::enablePeriodicHousekeepingParametersReport(Message& request) {
-	request.assertTC(ServiceType, MessageType::EnablePeriodicHousekeepingParametersReport);
+	if (!request.assertTC(ServiceType, MessageType::EnablePeriodicHousekeepingParametersReport)) {
+		return;
+	}
 
 	uint8_t numOfStructIds = request.readUint8();
 	for (uint8_t i = 0; i < numOfStructIds; i++) {
@@ -58,7 +64,9 @@ void HousekeepingService::enablePeriodicHousekeepingParametersReport(Message& re
 }
 
 void HousekeepingService::disablePeriodicHousekeepingParametersReport(Message& request) {
-	request.assertTC(ServiceType, MessageType::DisablePeriodicHousekeepingParametersReport);
+	if (!request.assertTC(ServiceType, MessageType::DisablePeriodicHousekeepingParametersReport)) {
+		return;
+	}
 
 	uint8_t numOfStructIds = request.readUint8();
 	for (uint8_t i = 0; i < numOfStructIds; i++) {
@@ -71,7 +79,9 @@ void HousekeepingService::disablePeriodicHousekeepingParametersReport(Message& r
 }
 
 void HousekeepingService::reportHousekeepingStructures(Message& request) {
-	request.assertTC(ServiceType, MessageType::ReportHousekeepingStructures);
+	if (!request.assertTC(ServiceType, MessageType::ReportHousekeepingStructures)) {
+		return;
+	}
 
 	uint8_t numOfStructsToReport = request.readUint8();
 	for (uint8_t i = 0; i < numOfStructsToReport; i++) {
@@ -121,7 +131,9 @@ void HousekeepingService::housekeepingParametersReport(uint8_t structureId) {
 }
 
 void HousekeepingService::generateOneShotHousekeepingReport(Message& request) {
-	request.assertTC(ServiceType, MessageType::GenerateOneShotHousekeepingReport);
+	if (!request.assertTC(ServiceType, MessageType::GenerateOneShotHousekeepingReport)) {
+		return;
+	}
 
 	uint8_t numOfStructsToReport = request.readUint8();
 	for (uint8_t i = 0; i < numOfStructsToReport; i++) {
@@ -135,7 +147,9 @@ void HousekeepingService::generateOneShotHousekeepingReport(Message& request) {
 }
 
 void HousekeepingService::appendParametersToHousekeepingStructure(Message& request) {
-	request.assertTC(ServiceType, MessageType::AppendParametersToHousekeepingStructure);
+	if (!request.assertTC(ServiceType, MessageType::AppendParametersToHousekeepingStructure)) {
+		return;
+	}
 
 	uint8_t targetStructId = request.readUint8();
 	if (hasNonExistingStructExecutionError(targetStructId, request)) {
@@ -164,7 +178,9 @@ void HousekeepingService::appendParametersToHousekeepingStructure(Message& reque
 }
 
 void HousekeepingService::modifyCollectionIntervalOfStructures(Message& request) {
-	request.assertTC(ServiceType, MessageType::ModifyCollectionIntervalOfStructures);
+	if (!request.assertTC(ServiceType, MessageType::ModifyCollectionIntervalOfStructures)) {
+		return;
+	}
 
 	uint8_t numOfTargetStructs = request.readUint8();
 	for (uint8_t i = 0; i < numOfTargetStructs; i++) {
@@ -178,7 +194,9 @@ void HousekeepingService::modifyCollectionIntervalOfStructures(Message& request)
 }
 
 void HousekeepingService::reportHousekeepingPeriodicProperties(Message& request) {
-	request.assertTC(ServiceType, MessageType::ReportHousekeepingPeriodicProperties);
+	if (!request.assertTC(ServiceType, MessageType::ReportHousekeepingPeriodicProperties)) {
+		return;
+	}
 
 	uint8_t numOfValidIds = 0;
 	uint8_t numOfStructIds = request.readUint8();
diff --git a/src/Services/MemoryManagementService.cpp b/src/Services/MemoryManagementService.cpp
index fc3e1b19be2be7f12ec4ae0ed264bf0e570df9f4..fba8b0e0315d3f6d5c4219c70a63ea956abe0c05 100644
--- a/src/Services/MemoryManagementService.cpp
+++ b/src/Services/MemoryManagementService.cpp
@@ -67,7 +67,9 @@ void MemoryManagementService::loadRawData(Message& request) {
 }
 
 void MemoryManagementService::RawDataMemoryManagement::dumpRawData(Message& request) {
-	request.assertTC(MemoryManagementService::ServiceType, MemoryManagementService::MessageType::DumpRawMemoryData);
+	if (!request.assertTC(ServiceType, MessageType::DumpRawMemoryData)) {
+		return;
+	}
 
 	Message report = mainService.createTM(MemoryManagementService::MessageType::DumpRawMemoryDataReport);
 	uint8_t memoryID = request.readEnum8();
@@ -105,7 +107,9 @@ void MemoryManagementService::RawDataMemoryManagement::dumpRawData(Message& requ
 }
 
 void MemoryManagementService::RawDataMemoryManagement::checkRawData(Message& request) {
-	request.assertTC(MemoryManagementService::ServiceType, MemoryManagementService::MessageType::CheckRawMemoryData);
+	if (!request.assertTC(ServiceType, MessageType::CheckRawMemoryData)) {
+		return;
+	}
 
 	Message report = mainService.createTM(MemoryManagementService::MessageType::CheckRawMemoryDataReport);
 	uint8_t memoryID = request.readEnum8();
diff --git a/src/Services/OnBoardMonitoringService.cpp b/src/Services/OnBoardMonitoringService.cpp
index f644546db72bc8f8bfc59ec14352064893258cb1..06bbefd252acb63ff82d6af5d5f76160b5137f92 100644
--- a/src/Services/OnBoardMonitoringService.cpp
+++ b/src/Services/OnBoardMonitoringService.cpp
@@ -5,7 +5,9 @@
 #include "etl/map.h"
 
 void OnBoardMonitoringService::enableParameterMonitoringDefinitions(Message& message) {
-	message.assertTC(ServiceType, EnableParameterMonitoringDefinitions);
+	if (!message.assertTC(ServiceType, EnableParameterMonitoringDefinitions)) {
+		return;
+	}
 
 	uint16_t numberOfPMONDefinitions = message.readUint16();
 	for (uint16_t i = 0; i < numberOfPMONDefinitions; i++) {
@@ -22,7 +24,9 @@ void OnBoardMonitoringService::enableParameterMonitoringDefinitions(Message& mes
 }
 
 void OnBoardMonitoringService::disableParameterMonitoringDefinitions(Message& message) {
-	message.assertTC(ServiceType, DisableParameterMonitoringDefinitions);
+	if (!message.assertTC(ServiceType, DisableParameterMonitoringDefinitions)) {
+		return;
+	}
 
 	uint16_t numberOfPMONDefinitions = message.readUint16();
 	for (uint16_t i = 0; i < numberOfPMONDefinitions; i++) {
@@ -39,12 +43,16 @@ void OnBoardMonitoringService::disableParameterMonitoringDefinitions(Message& me
 }
 
 void OnBoardMonitoringService::changeMaximumTransitionReportingDelay(Message& message) {
-	message.assertTC(ServiceType, ChangeMaximumTransitionReportingDelay);
+	if (!message.assertTC(ServiceType, ChangeMaximumTransitionReportingDelay)) {
+		return;
+	}
 	maximumTransitionReportingDelay = message.readUint16();
 }
 
 void OnBoardMonitoringService::deleteAllParameterMonitoringDefinitions(Message& message) {
-	message.assertTC(ServiceType, DeleteAllParameterMonitoringDefinitions);
+	if (!message.assertTC(ServiceType, DeleteAllParameterMonitoringDefinitions)) {
+		return;
+	}
 	if (parameterMonitoringFunctionStatus) {
 		ErrorHandler::reportError(
 		    message, ErrorHandler::ExecutionStartErrorType::InvalidRequestToDeleteAllParameterMonitoringDefinitions);
diff --git a/src/Services/ParameterService.cpp b/src/Services/ParameterService.cpp
index 552c309ee3ae3e0f94f31b1ff9d4814c729be2ca..60ebd04c1c9e66647eb2e4a617a1a68e50839945 100644
--- a/src/Services/ParameterService.cpp
+++ b/src/Services/ParameterService.cpp
@@ -7,7 +7,9 @@
 
 void ParameterService::reportParameters(Message& paramIds) {
 
-	paramIds.assertTC(ServiceType, ReportParameterValues);
+	if (!paramIds.assertTC(ServiceType, ReportParameterValues)) {
+		return;
+	}
 	Message parameterReport = createTM(ParameterValuesReport);
 
 	uint16_t numOfIds = paramIds.readUint16();
@@ -23,30 +25,33 @@ void ParameterService::reportParameters(Message& paramIds) {
 	numOfIds = paramIds.readUint16();
 	for (uint16_t i = 0; i < numOfIds; i++) {
 		uint16_t currId = paramIds.readUint16();
-		if (auto parameter = getParameter(currId)) {
-			parameterReport.appendUint16(currId);
-			parameter->get().appendValueToMessage(parameterReport);
-		} else {
+		auto parameter = getParameter(currId);
+		if (!parameter) {
 			ErrorHandler::reportError(paramIds, ErrorHandler::GetNonExistingParameter);
+			continue;
 		}
+		parameterReport.appendUint16(currId);
+		parameter->get().appendValueToMessage(parameterReport);
 	}
 
 	storeMessage(parameterReport);
 }
 
 void ParameterService::setParameters(Message& newParamValues) const {
-	newParamValues.assertTC(ServiceType, MessageType::SetParameterValues);
+	if (!newParamValues.assertTC(ServiceType, MessageType::SetParameterValues)) {
+		return;
+	}
 
 	uint16_t numOfIds = newParamValues.readUint16();
 
 	for (uint16_t i = 0; i < numOfIds; i++) {
 		uint16_t currId = newParamValues.readUint16();
-		if (auto parameter = getParameter(currId)) {
-			parameter->get().setValueFromMessage(newParamValues);
-		} else {
+		auto parameter = getParameter(currId);
+		if (!parameter) {
 			ErrorHandler::reportError(newParamValues, ErrorHandler::SetNonExistingParameter);
 			break; // Setting next parameters is impossible, since the size of value to be read is unknown
 		}
+		parameter->get().setValueFromMessage(newParamValues);
 	}
 }
 
diff --git a/src/Services/ParameterStatisticsService.cpp b/src/Services/ParameterStatisticsService.cpp
index 1f452f171c6449ecfdafa9f92eac99364bb81877..6bcfc9b489bc5195bec737dfbbd86fc413d2b42a 100644
--- a/src/Services/ParameterStatisticsService.cpp
+++ b/src/Services/ParameterStatisticsService.cpp
@@ -9,7 +9,9 @@ ParameterStatisticsService::ParameterStatisticsService() : evaluationStartTime(T
 }
 
 void ParameterStatisticsService::reportParameterStatistics(Message& request) {
-	request.assertTC(ServiceType, MessageType::ReportParameterStatistics);
+	if (!request.assertTC(ServiceType, MessageType::ReportParameterStatistics)) {
+		return;
+	}
 	parameterStatisticsReport();
 
 	if (hasAutomaticStatisticsReset or request.readBoolean()) {
@@ -55,7 +57,9 @@ void ParameterStatisticsService::parameterStatisticsReport() {
 }
 
 void ParameterStatisticsService::resetParameterStatistics(Message& request) {
-	request.assertTC(ServiceType, MessageType::ResetParameterStatistics);
+	if (!request.assertTC(ServiceType, MessageType::ResetParameterStatistics)) {
+		return;
+	}
 	resetParameterStatistics();
 }
 
@@ -73,7 +77,9 @@ void ParameterStatisticsService::enablePeriodicStatisticsReporting(Message& requ
 	 */
 	uint16_t SAMPLING_PARAMETER_INTERVAL = 5;
 
-	request.assertTC(ServiceType, MessageType::EnablePeriodicParameterReporting);
+	if (!request.assertTC(ServiceType, MessageType::EnablePeriodicParameterReporting)) {
+		return;
+	}
 
 	uint16_t timeInterval = request.readUint16();
 	if (timeInterval < SAMPLING_PARAMETER_INTERVAL) {
@@ -85,14 +91,18 @@ void ParameterStatisticsService::enablePeriodicStatisticsReporting(Message& requ
 }
 
 void ParameterStatisticsService::disablePeriodicStatisticsReporting(Message& request) {
-	request.assertTC(ServiceType, MessageType::DisablePeriodicParameterReporting);
+	if (!request.assertTC(ServiceType, MessageType::DisablePeriodicParameterReporting)) {
+		return;
+	}
 
 	periodicStatisticsReportingStatus = false;
 	reportingIntervalMs = 0;
 }
 
 void ParameterStatisticsService::addOrUpdateStatisticsDefinitions(Message& request) {
-	request.assertTC(ServiceType, MessageType::AddOrUpdateParameterStatisticsDefinitions);
+	if (!request.assertTC(ServiceType, MessageType::AddOrUpdateParameterStatisticsDefinitions)) {
+		return;
+	}
 
 	uint16_t numOfIds = request.readUint16();
 	for (uint16_t i = 0; i < numOfIds; i++) {
@@ -135,7 +145,9 @@ void ParameterStatisticsService::addOrUpdateStatisticsDefinitions(Message& reque
 }
 
 void ParameterStatisticsService::deleteStatisticsDefinitions(Message& request) {
-	request.assertTC(ServiceType, MessageType::DeleteParameterStatisticsDefinitions);
+	if (!request.assertTC(ServiceType, MessageType::DeleteParameterStatisticsDefinitions)) {
+		return;
+	}
 
 	uint16_t numOfIds = request.readUint16();
 	if (numOfIds == 0) {
@@ -157,7 +169,9 @@ void ParameterStatisticsService::deleteStatisticsDefinitions(Message& request) {
 }
 
 void ParameterStatisticsService::reportStatisticsDefinitions(Message& request) {
-	request.assertTC(ServiceType, MessageType::ReportParameterStatisticsDefinitions);
+	if (!request.assertTC(ServiceType, MessageType::ReportParameterStatisticsDefinitions)) {
+		return;
+	}
 	statisticsDefinitionsReport();
 }
 
diff --git a/src/Services/RealTimeForwardingControlService.cpp b/src/Services/RealTimeForwardingControlService.cpp
index af7c3a04a267a5b9112c24439bac65a96b0299f0..994b2cfd3007905963831d27d898a687c6129533 100644
--- a/src/Services/RealTimeForwardingControlService.cpp
+++ b/src/Services/RealTimeForwardingControlService.cpp
@@ -100,7 +100,9 @@ bool RealTimeForwardingControlService::reportExistsInAppProcessConfiguration(uin
 }
 
 void RealTimeForwardingControlService::addReportTypesToAppProcessConfiguration(Message& request) {
-	request.assertTC(ServiceType, MessageType::AddReportTypesToAppProcessConfiguration);
+	if (!request.assertTC(ServiceType, MessageType::AddReportTypesToAppProcessConfiguration)) {
+		return;
+	}
 	uint8_t numOfApplications = request.readUint8();
 
 	for (uint8_t i = 0; i < numOfApplications; i++) {
diff --git a/src/Services/RequestVerificationService.cpp b/src/Services/RequestVerificationService.cpp
index 33546c778b51a0d57832080b7acc3a4e86e6832f..42b0ab05393ad17563d100804c32198c3095b1c8 100644
--- a/src/Services/RequestVerificationService.cpp
+++ b/src/Services/RequestVerificationService.cpp
@@ -8,11 +8,11 @@ void RequestVerificationService::successAcceptanceVerification(const Message& re
 
 	Message report = createTM(RequestVerificationService::MessageType::SuccessfulAcceptanceReport);
 
-	report.appendEnumerated(3, CCSDSPacketVersion); // packet version number
-	report.appendEnumerated(1, request.packetType); // packet type
-	report.appendBits(1, 1); // secondary header flag
+	report.appendEnumerated(3, CCSDSPacketVersion);     // packet version number
+	report.appendEnumerated(1, request.packetType);     // packet type
+	report.appendBits(1, 1);                            // secondary header flag
 	report.appendEnumerated(11, request.applicationId); // application process ID
-	report.appendEnumerated(2, ECSSSequenceFlags); // sequence flags
+	report.appendEnumerated(2, ECSSSequenceFlags);      // sequence flags
 	report.appendBits(14, request.packetSequenceCount); // packet sequence count
 
 	storeMessage(report);
@@ -24,13 +24,13 @@ void RequestVerificationService::failAcceptanceVerification(const Message& reque
 
 	Message report = createTM(RequestVerificationService::MessageType::FailedAcceptanceReport);
 
-	report.appendEnumerated(3, CCSDSPacketVersion); // packet version number
-	report.appendEnumerated(1, request.packetType); // packet type
-	report.appendBits(1, 1); // secondary header flag
+	report.appendEnumerated(3, CCSDSPacketVersion);     // packet version number
+	report.appendEnumerated(1, request.packetType);     // packet type
+	report.appendBits(1, 1);                            // secondary header flag
 	report.appendEnumerated(11, request.applicationId); // application process ID
-	report.appendEnumerated(2, ECSSSequenceFlags); // sequence flags
+	report.appendEnumerated(2, ECSSSequenceFlags);      // sequence flags
 	report.appendBits(14, request.packetSequenceCount); // packet sequence count
-	report.appendEnum16(errorCode); // error code
+	report.appendEnum16(errorCode);                     // error code
 
 	storeMessage(report);
 }
@@ -40,11 +40,11 @@ void RequestVerificationService::successStartExecutionVerification(const Message
 
 	Message report = createTM(RequestVerificationService::MessageType::SuccessfulStartOfExecution);
 
-	report.appendEnumerated(3, CCSDSPacketVersion); // packet version number
-	report.appendEnumerated(1, request.packetType); // packet type
-	report.appendBits(1, 1); // secondary header flag
+	report.appendEnumerated(3, CCSDSPacketVersion);     // packet version number
+	report.appendEnumerated(1, request.packetType);     // packet type
+	report.appendBits(1, 1);                            // secondary header flag
 	report.appendEnumerated(11, request.applicationId); // application process ID
-	report.appendEnumerated(2, ECSSSequenceFlags); // sequence flags
+	report.appendEnumerated(2, ECSSSequenceFlags);      // sequence flags
 	report.appendBits(14, request.packetSequenceCount); // packet sequence count
 
 	storeMessage(report);
@@ -56,13 +56,13 @@ void RequestVerificationService::failStartExecutionVerification(const Message& r
 
 	Message report = createTM(RequestVerificationService::MessageType::FailedStartOfExecution);
 
-	report.appendEnumerated(3, CCSDSPacketVersion); // packet version number
-	report.appendEnumerated(1, request.packetType); // packet type
-	report.appendBits(1, 1); // secondary header flag
+	report.appendEnumerated(3, CCSDSPacketVersion);     // packet version number
+	report.appendEnumerated(1, request.packetType);     // packet type
+	report.appendBits(1, 1);                            // secondary header flag
 	report.appendEnumerated(11, request.applicationId); // application process ID
-	report.appendEnumerated(2, ECSSSequenceFlags); // sequence flags
+	report.appendEnumerated(2, ECSSSequenceFlags);      // sequence flags
 	report.appendBits(14, request.packetSequenceCount); // packet sequence count
-	report.appendEnum16(errorCode); // error code
+	report.appendEnum16(errorCode);                     // error code
 
 	storeMessage(report);
 }
@@ -72,13 +72,13 @@ void RequestVerificationService::successProgressExecutionVerification(const Mess
 
 	Message report = createTM(RequestVerificationService::MessageType::SuccessfulProgressOfExecution);
 
-	report.appendEnumerated(3, CCSDSPacketVersion); // packet version number
-	report.appendEnumerated(1, request.packetType); // packet type
-	report.appendBits(1, 1); // secondary header flag
+	report.appendEnumerated(3, CCSDSPacketVersion);     // packet version number
+	report.appendEnumerated(1, request.packetType);     // packet type
+	report.appendBits(1, 1);                            // secondary header flag
 	report.appendEnumerated(11, request.applicationId); // application process ID
-	report.appendEnumerated(2, ECSSSequenceFlags); // sequence flags
+	report.appendEnumerated(2, ECSSSequenceFlags);      // sequence flags
 	report.appendBits(14, request.packetSequenceCount); // packet sequence count
-	report.appendByte(stepID); // step ID
+	report.appendByte(stepID);                          // step ID
 
 	storeMessage(report);
 }
@@ -90,14 +90,14 @@ void RequestVerificationService::failProgressExecutionVerification(const Message
 
 	Message report = createTM(RequestVerificationService::MessageType::FailedProgressOfExecution);
 
-	report.appendEnumerated(3, CCSDSPacketVersion); // packet version number
-	report.appendEnumerated(1, request.packetType); // packet type
-	report.appendBits(1, 1); // secondary header flag
+	report.appendEnumerated(3, CCSDSPacketVersion);     // packet version number
+	report.appendEnumerated(1, request.packetType);     // packet type
+	report.appendBits(1, 1);                            // secondary header flag
 	report.appendEnumerated(11, request.applicationId); // application process ID
-	report.appendEnumerated(2, ECSSSequenceFlags); // sequence flags
+	report.appendEnumerated(2, ECSSSequenceFlags);      // sequence flags
 	report.appendBits(14, request.packetSequenceCount); // packet sequence count
-	report.appendByte(stepID); // step ID
-	report.appendEnum16(errorCode); // error code
+	report.appendByte(stepID);                          // step ID
+	report.appendEnum16(errorCode);                     // error code
 
 	storeMessage(report);
 }
@@ -107,11 +107,11 @@ void RequestVerificationService::successCompletionExecutionVerification(const Me
 
 	Message report = createTM(RequestVerificationService::MessageType::SuccessfulCompletionOfExecution);
 
-	report.appendEnumerated(3, CCSDSPacketVersion); // packet version number
-	report.appendEnumerated(1, request.packetType); // packet type
-	report.appendBits(1, 1); // secondary header flag
+	report.appendEnumerated(3, CCSDSPacketVersion);     // packet version number
+	report.appendEnumerated(1, request.packetType);     // packet type
+	report.appendBits(1, 1);                            // secondary header flag
 	report.appendEnumerated(11, request.applicationId); // application process ID
-	report.appendEnumerated(2, ECSSSequenceFlags); // sequence flags
+	report.appendEnumerated(2, ECSSSequenceFlags);      // sequence flags
 	report.appendBits(14, request.packetSequenceCount); // packet sequence count
 
 	storeMessage(report);
@@ -123,13 +123,13 @@ void RequestVerificationService::failCompletionExecutionVerification(
 
 	Message report = createTM(RequestVerificationService::MessageType::FailedCompletionOfExecution);
 
-	report.appendEnumerated(3, CCSDSPacketVersion); // packet version number
-	report.appendEnumerated(1, request.packetType); // packet type
-	report.appendBits(1, 1); // secondary header flag
+	report.appendEnumerated(3, CCSDSPacketVersion);     // packet version number
+	report.appendEnumerated(1, request.packetType);     // packet type
+	report.appendBits(1, 1);                            // secondary header flag
 	report.appendEnumerated(11, request.applicationId); // application process ID
-	report.appendEnumerated(2, ECSSSequenceFlags); // sequence flags
+	report.appendEnumerated(2, ECSSSequenceFlags);      // sequence flags
 	report.appendBits(14, request.packetSequenceCount); // packet sequence count
-	report.appendEnum16(errorCode); // error code
+	report.appendEnum16(errorCode);                     // error code
 
 	storeMessage(report);
 }
@@ -140,13 +140,13 @@ void RequestVerificationService::failRoutingVerification(const Message& request,
 
 	Message report = createTM(RequestVerificationService::MessageType::FailedRoutingReport);
 
-	report.appendEnumerated(3, CCSDSPacketVersion); // packet version number
-	report.appendEnumerated(1, request.packetType); // packet type
-	report.appendBits(1, 1); // secondary header flag
+	report.appendEnumerated(3, CCSDSPacketVersion);     // packet version number
+	report.appendEnumerated(1, request.packetType);     // packet type
+	report.appendBits(1, 1);                            // secondary header flag
 	report.appendEnumerated(11, request.applicationId); // application process ID
-	report.appendEnumerated(2, ECSSSequenceFlags); // sequence flags
+	report.appendEnumerated(2, ECSSSequenceFlags);      // sequence flags
 	report.appendBits(14, request.packetSequenceCount); // packet sequence count
-	report.appendEnum16(errorCode); // error code
+	report.appendEnum16(errorCode);                     // error code
 
 	storeMessage(report);
 }
diff --git a/src/Services/StorageAndRetrievalService.cpp b/src/Services/StorageAndRetrievalService.cpp
index b218ad844415c203f89a2bcc6344441c0bf20ae9..2b9e1d8cfdc6cef4c585cd5f9e6198aa273e929f 100644
--- a/src/Services/StorageAndRetrievalService.cpp
+++ b/src/Services/StorageAndRetrievalService.cpp
@@ -247,19 +247,25 @@ void StorageAndRetrievalService::executeOnPacketStores(Message& request,
 }
 
 void StorageAndRetrievalService::enableStorageFunction(Message& request) {
-	request.assertTC(ServiceType, MessageType::EnableStorageInPacketStores);
+	if (!request.assertTC(ServiceType, MessageType::EnableStorageInPacketStores)) {
+		return;
+	}
 
 	executeOnPacketStores(request, [](PacketStore& p) { p.storageStatus = true; });
 }
 
 void StorageAndRetrievalService::disableStorageFunction(Message& request) {
-	request.assertTC(ServiceType, MessageType::DisableStorageInPacketStores);
+	if (!request.assertTC(ServiceType, MessageType::DisableStorageInPacketStores)) {
+		return;
+	}
 
 	executeOnPacketStores(request, [](PacketStore& p) { p.storageStatus = false; });
 }
 
 void StorageAndRetrievalService::startByTimeRangeRetrieval(Message& request) {
-	request.assertTC(ServiceType, MessageType::StartByTimeRangeRetrieval);
+	if (!request.assertTC(ServiceType, MessageType::StartByTimeRangeRetrieval)) {
+		return;
+	}
 
 	uint16_t numOfPacketStores = request.readUint16();
 	bool errorFlag = false;
@@ -288,7 +294,9 @@ void StorageAndRetrievalService::startByTimeRangeRetrieval(Message& request) {
 }
 
 void StorageAndRetrievalService::deletePacketStoreContent(Message& request) {
-	request.assertTC(ServiceType, MessageType::DeletePacketStoreContent);
+	if (!request.assertTC(ServiceType, MessageType::DeletePacketStoreContent)) {
+		return;
+	}
 
 	uint32_t timeLimit = request.readUint32(); // todo: decide the time-format
 	uint16_t numOfPacketStores = request.readUint16();
@@ -330,7 +338,9 @@ void StorageAndRetrievalService::deletePacketStoreContent(Message& request) {
 }
 
 void StorageAndRetrievalService::packetStoreContentSummaryReport(Message& request) {
-	request.assertTC(ServiceType, MessageType::ReportContentSummaryOfPacketStores);
+	if (!request.assertTC(ServiceType, MessageType::ReportContentSummaryOfPacketStores)) {
+		return;
+	}
 
 	Message report = createTM(PacketStoreContentSummaryReport);
 	uint16_t numOfPacketStores = request.readUint16();
@@ -369,7 +379,9 @@ void StorageAndRetrievalService::packetStoreContentSummaryReport(Message& reques
 }
 
 void StorageAndRetrievalService::changeOpenRetrievalStartTimeTag(Message& request) {
-	request.assertTC(ServiceType, MessageType::ChangeOpenRetrievalStartingTime);
+	if (!request.assertTC(ServiceType, MessageType::ChangeOpenRetrievalStartingTime)) {
+		return;
+	}
 
 	uint32_t newStartTimeTag = request.readUint32();
 	/**
@@ -404,7 +416,9 @@ void StorageAndRetrievalService::changeOpenRetrievalStartTimeTag(Message& reques
 }
 
 void StorageAndRetrievalService::resumeOpenRetrievalOfPacketStores(Message& request) {
-	request.assertTC(ServiceType, MessageType::ResumeOpenRetrievalOfPacketStores);
+	if (!request.assertTC(ServiceType, MessageType::ResumeOpenRetrievalOfPacketStores)) {
+		return;
+	}
 
 	uint16_t numOfPacketStores = request.readUint16();
 	if (numOfPacketStores == 0) {
@@ -435,7 +449,9 @@ void StorageAndRetrievalService::resumeOpenRetrievalOfPacketStores(Message& requ
 }
 
 void StorageAndRetrievalService::suspendOpenRetrievalOfPacketStores(Message& request) {
-	request.assertTC(ServiceType, MessageType::SuspendOpenRetrievalOfPacketStores);
+	if (!request.assertTC(ServiceType, MessageType::SuspendOpenRetrievalOfPacketStores)) {
+		return;
+	}
 
 	uint16_t numOfPacketStores = request.readUint16();
 	if (numOfPacketStores == 0) {
@@ -455,7 +471,9 @@ void StorageAndRetrievalService::suspendOpenRetrievalOfPacketStores(Message& req
 }
 
 void StorageAndRetrievalService::abortByTimeRangeRetrieval(Message& request) {
-	request.assertTC(ServiceType, MessageType::AbortByTimeRangeRetrieval);
+	if (!request.assertTC(ServiceType, MessageType::AbortByTimeRangeRetrieval)) {
+		return;
+	}
 
 	uint16_t numOfPacketStores = request.readUint16();
 	if (numOfPacketStores == 0) {
@@ -475,7 +493,9 @@ void StorageAndRetrievalService::abortByTimeRangeRetrieval(Message& request) {
 }
 
 void StorageAndRetrievalService::packetStoresStatusReport(Message& request) {
-	request.assertTC(ServiceType, MessageType::ReportStatusOfPacketStores);
+	if (!request.assertTC(ServiceType, MessageType::ReportStatusOfPacketStores)) {
+		return;
+	}
 
 	Message report = createTM(PacketStoresStatusReport);
 	report.appendUint16(packetStores.size());
@@ -490,7 +510,9 @@ void StorageAndRetrievalService::packetStoresStatusReport(Message& request) {
 }
 
 void StorageAndRetrievalService::createPacketStores(Message& request) {
-	request.assertTC(ServiceType, MessageType::CreatePacketStores);
+	if (!request.assertTC(ServiceType, MessageType::CreatePacketStores)) {
+		return;
+	}
 
 	uint16_t numOfPacketStores = request.readUint16();
 	for (uint16_t i = 0; i < numOfPacketStores; i++) {
@@ -527,7 +549,9 @@ void StorageAndRetrievalService::createPacketStores(Message& request) {
 }
 
 void StorageAndRetrievalService::deletePacketStores(Message& request) {
-	request.assertTC(ServiceType, MessageType::DeletePacketStores);
+	if (!request.assertTC(ServiceType, MessageType::DeletePacketStores)) {
+		return;
+	}
 
 	uint16_t numOfPacketStores = request.readUint16();
 	if (numOfPacketStores == 0) {
@@ -590,7 +614,9 @@ void StorageAndRetrievalService::deletePacketStores(Message& request) {
 }
 
 void StorageAndRetrievalService::packetStoreConfigurationReport(Message& request) {
-	request.assertTC(ServiceType, MessageType::ReportConfigurationOfPacketStores);
+	if (!request.assertTC(ServiceType, MessageType::ReportConfigurationOfPacketStores)) {
+		return;
+	}
 	Message report = createTM(PacketStoreConfigurationReport);
 
 	report.appendUint16(packetStores.size());
@@ -606,7 +632,9 @@ void StorageAndRetrievalService::packetStoreConfigurationReport(Message& request
 }
 
 void StorageAndRetrievalService::copyPacketsInTimeWindow(Message& request) {
-	request.assertTC(ServiceType, MessageType::CopyPacketsInTimeWindow);
+	if (!request.assertTC(ServiceType, MessageType::CopyPacketsInTimeWindow)) {
+		return;
+	}
 
 	uint8_t typeOfTimeWindow = request.readEnum8();
 	switch (typeOfTimeWindow) {
@@ -626,7 +654,9 @@ void StorageAndRetrievalService::copyPacketsInTimeWindow(Message& request) {
 }
 
 void StorageAndRetrievalService::resizePacketStores(Message& request) {
-	request.assertTC(ServiceType, MessageType::ResizePacketStores);
+	if (!request.assertTC(ServiceType, MessageType::ResizePacketStores)) {
+		return;
+	}
 
 	uint16_t numOfPacketStores = request.readUint16();
 	for (uint16_t i = 0; i < numOfPacketStores; i++) {
@@ -662,7 +692,9 @@ void StorageAndRetrievalService::resizePacketStores(Message& request) {
 }
 
 void StorageAndRetrievalService::changeTypeToCircular(Message& request) {
-	request.assertTC(ServiceType, MessageType::ChangeTypeToCircular);
+	if (!request.assertTC(ServiceType, MessageType::ChangeTypeToCircular)) {
+		return;
+	}
 
 	auto idToChange = readPacketStoreId(request);
 	if (packetStores.find(idToChange) == packetStores.end()) {
@@ -690,7 +722,9 @@ void StorageAndRetrievalService::changeTypeToCircular(Message& request) {
 }
 
 void StorageAndRetrievalService::changeTypeToBounded(Message& request) {
-	request.assertTC(ServiceType, MessageType::ChangeTypeToBounded);
+	if (!request.assertTC(ServiceType, MessageType::ChangeTypeToBounded)) {
+		return;
+	}
 
 	auto idToChange = readPacketStoreId(request);
 	if (packetStores.find(idToChange) == packetStores.end()) {
@@ -718,7 +752,9 @@ void StorageAndRetrievalService::changeTypeToBounded(Message& request) {
 }
 
 void StorageAndRetrievalService::changeVirtualChannel(Message& request) {
-	request.assertTC(ServiceType, MessageType::ChangeVirtualChannel);
+	if (!request.assertTC(ServiceType, MessageType::ChangeVirtualChannel)) {
+		return;
+	}
 
 	auto idToChange = readPacketStoreId(request);
 	uint8_t virtualChannel = request.readUint8();
diff --git a/src/Services/TestService.cpp b/src/Services/TestService.cpp
index 4e5622dbd9beaaa9093562c24145bd23ae6fd765..e6dbc7e3fac8c9482dd2d1784e9eecfed7becf99 100644
--- a/src/Services/TestService.cpp
+++ b/src/Services/TestService.cpp
@@ -5,7 +5,9 @@
 #include "Services/TestService.hpp"
 
 void TestService::areYouAlive(Message& request) {
-	request.assertTC(TestService::ServiceType, TestService::MessageType::AreYouAliveTest);
+	if (!request.assertTC(TestService::ServiceType, TestService::MessageType::AreYouAliveTest)) {
+		return;
+	}
 	areYouAliveReport();
 }
 
@@ -15,7 +17,9 @@ void TestService::areYouAliveReport() {
 }
 
 void TestService::onBoardConnection(Message& request) {
-	request.assertTC(TestService::ServiceType, TestService::MessageType::OnBoardConnectionTest);
+	if (!request.assertTC(TestService::ServiceType, TestService::MessageType::OnBoardConnectionTest)) {
+		return;
+	}
 	uint16_t applicationProcessId = request.readUint16();
 	onBoardConnectionReport(applicationProcessId);
 }
diff --git a/src/Services/TimeBasedSchedulingService.cpp b/src/Services/TimeBasedSchedulingService.cpp
index 3af929afb31bf403070979aae16e68a7b9780dce..f5d2efc29226aac7d038fbefddb72aa738a9d064 100644
--- a/src/Services/TimeBasedSchedulingService.cpp
+++ b/src/Services/TimeBasedSchedulingService.cpp
@@ -23,24 +23,32 @@ Time::DefaultCUC TimeBasedSchedulingService::executeScheduledActivity(Time::Defa
 }
 
 void TimeBasedSchedulingService::enableScheduleExecution(Message& request) {
-	request.assertTC(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::EnableTimeBasedScheduleExecutionFunction);
+	if (!request.assertTC(ServiceType, MessageType::EnableTimeBasedScheduleExecutionFunction)) {
+		return;
+	}
 	executionFunctionStatus = true;
 }
 
 void TimeBasedSchedulingService::disableScheduleExecution(Message& request) {
-	request.assertTC(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::DisableTimeBasedScheduleExecutionFunction);
+	if (!request.assertTC(ServiceType, MessageType::DisableTimeBasedScheduleExecutionFunction)) {
+		return;
+	}
 	executionFunctionStatus = false;
 }
 
 void TimeBasedSchedulingService::resetSchedule(Message& request) {
-	request.assertTC(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::ResetTimeBasedSchedule);
+	if (!request.assertTC(ServiceType, MessageType::ResetTimeBasedSchedule)) {
+		return;
+	}
 	executionFunctionStatus = false;
 	scheduledActivities.clear();
 	// todo: Add resetting for sub-schedules and groups, if defined
 }
 
 void TimeBasedSchedulingService::insertActivities(Message& request) {
-	request.assertTC(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::InsertActivities);
+	if (!request.assertTC(ServiceType, MessageType::InsertActivities)) {
+		return;
+	}
 
 	// todo: Get the sub-schedule ID if they are implemented
 	uint16_t iterationCount = request.readUint16();
@@ -73,7 +81,9 @@ void TimeBasedSchedulingService::insertActivities(Message& request) {
 }
 
 void TimeBasedSchedulingService::timeShiftAllActivities(Message& request) {
-	request.assertTC(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::TimeShiftALlScheduledActivities);
+	if (!request.assertTC(ServiceType, MessageType::TimeShiftALlScheduledActivities)) {
+		return;
+	}
 
 	Time::DefaultCUC current_time = TimeGetter::getCurrentTimeDefaultCUC();
 
@@ -86,15 +96,17 @@ void TimeBasedSchedulingService::timeShiftAllActivities(Message& request) {
 	Time::RelativeTime relativeOffset = request.readRelativeTime();
 	if ((releaseTimes.first->requestReleaseTime + std::chrono::seconds(relativeOffset)) < (current_time + ECSSTimeMarginForActivation)) {
 		ErrorHandler::reportError(request, ErrorHandler::SubServiceExecutionStartError);
-	} else {
-		for (auto& activity: scheduledActivities) {
-			activity.requestReleaseTime += std::chrono::seconds(relativeOffset);
-		}
+		return;
+	}
+	for (auto& activity: scheduledActivities) {
+		activity.requestReleaseTime += std::chrono::seconds(relativeOffset);
 	}
 }
 
 void TimeBasedSchedulingService::timeShiftActivitiesByID(Message& request) {
-	request.assertTC(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::TimeShiftActivitiesById);
+	if (!request.assertTC(ServiceType, MessageType::TimeShiftActivitiesById)) {
+		return;
+	}
 
 	Time::DefaultCUC current_time = TimeGetter::getCurrentTimeDefaultCUC();
 
@@ -126,7 +138,9 @@ void TimeBasedSchedulingService::timeShiftActivitiesByID(Message& request) {
 }
 
 void TimeBasedSchedulingService::deleteActivitiesByID(Message& request) {
-	request.assertTC(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::DeleteActivitiesById);
+	if (!request.assertTC(ServiceType, MessageType::DeleteActivitiesById)) {
+		return;
+	}
 
 	uint16_t iterationCount = request.readUint16();
 	while (iterationCount-- != 0) {
@@ -149,7 +163,9 @@ void TimeBasedSchedulingService::deleteActivitiesByID(Message& request) {
 }
 
 void TimeBasedSchedulingService::detailReportAllActivities(Message& request) {
-	request.assertTC(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::DetailReportAllScheduledActivities);
+	if (!request.assertTC(ServiceType, MessageType::DetailReportAllScheduledActivities)) {
+		return;
+	}
 
 	timeBasedScheduleDetailReport(scheduledActivities);
 }
@@ -167,7 +183,9 @@ void TimeBasedSchedulingService::timeBasedScheduleDetailReport(const etl::list<S
 }
 
 void TimeBasedSchedulingService::detailReportActivitiesByID(Message& request) {
-	request.assertTC(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::DetailReportActivitiesById);
+	if (!request.assertTC(ServiceType, MessageType::DetailReportActivitiesById)) {
+		return;
+	}
 
 	etl::list<ScheduledActivity, ECSSMaxNumberOfTimeSchedActivities> matchedActivities;
 
@@ -196,7 +214,9 @@ void TimeBasedSchedulingService::detailReportActivitiesByID(Message& request) {
 }
 
 void TimeBasedSchedulingService::summaryReportActivitiesByID(Message& request) {
-	request.assertTC(TimeBasedSchedulingService::ServiceType, TimeBasedSchedulingService::MessageType::ActivitiesSummaryReportById);
+	if (!request.assertTC(ServiceType, MessageType::ActivitiesSummaryReportById)) {
+		return;
+	}
 
 	etl::list<ScheduledActivity, ECSSMaxNumberOfTimeSchedActivities> matchedActivities;