} else {
               throw new OCPPError(
                 ErrorType.PROTOCOL_ERROR,
-                `Cached request for message id ${messageId} response is not iterable`
+                `Cached request for message id ${messageId} response is not iterable`,
+                null,
+                cachedRequest as unknown as JsonType
               );
             }
             logger.debug(
               // Error
               throw new OCPPError(
                 ErrorType.INTERNAL_ERROR,
-                `Response for unknown message id ${messageId}`
+                `Response for unknown message id ${messageId}`,
+                null,
+                commandPayload
               );
             }
             responseCallback(commandPayload, requestPayload);
             } else {
               throw new OCPPError(
                 ErrorType.PROTOCOL_ERROR,
-                `Cached request for message id ${messageId} error response is not iterable`
+                `Cached request for message id ${messageId} error response is not iterable`,
+                null,
+                cachedRequest as unknown as JsonType
               );
             }
             logger.debug(
               // Error
               throw new OCPPError(
                 ErrorType.INTERNAL_ERROR,
-                `Error response for unknown message id ${messageId}`
+                `Error response for unknown message id ${messageId}`,
+                null,
+                { errorType, errorMessage, errorDetails }
               );
             }
             rejectCallback(