diff --git a/src/phoenix_mock_socket.h b/src/phoenix_mock_socket.h
index 06219c62841adfd0363a83057aea54555de97d88..421856802294af05cf4d144d68b6646be133dea5 100644
--- a/src/phoenix_mock_socket.h
+++ b/src/phoenix_mock_socket.h
@@ -14,6 +14,22 @@
 ///Vector of messages
 typedef std::vector<std::vector<char> > PVecMockMessage;
 
+///Add Data in a sequence of mock messages
+/**	@param[out] vecOutput : vector of messages (sequence of message)
+ * 	@param data : data to be added into the message
+ * 	@return true if the message has been added successfully to the vecOutput, false otherwise
+*/
+template<typename T>
+bool phoenix_addMockMessage(PVecMockMessage & vecOutput, const T & data){
+	std::vector<char> vecData(data_size(data));
+	char* iter = (char*)vecData.data();
+	if(data_message_save(iter, data)){
+		vecOutput.push_back(vecData);
+		return true;
+	}
+	return false;
+}
+
 
 bool phoenix_createMockSocket(PVecMockMessage & vecInput, std::string & inputFileName, std::string & outputFileName, const std::string & address, size_t port);