diff --git a/proto/monitoring.proto b/proto/monitoring.proto
index 64d7bdbfe3528e87151aefb0909c7f155699104a..156cb32babfdc890d0519bb5c58df597060ff8da 100644
--- a/proto/monitoring.proto
+++ b/proto/monitoring.proto
@@ -35,8 +35,8 @@ service MonitoringService {
   rpc CreateKpiAlarm        (AlarmDescriptor    ) returns (AlarmID             ) {}
   rpc EditKpiAlarm          (AlarmDescriptor    ) returns (context.Empty       ) {}
   rpc GetAlarms             (context.Empty      ) returns (AlarmIDList         ) {}
-  rpc GetAlarmDescriptor    (AlarmSubscription  ) returns (AlarmDescriptor     ) {}
-  rpc GetAlarmResponseStream(AlarmID            ) returns (stream AlarmResponse) {}
+  rpc GetAlarmDescriptor    (AlarmID            ) returns (AlarmDescriptor     ) {}
+  rpc GetAlarmResponseStream(AlarmSubscription  ) returns (stream AlarmResponse) {}
   rpc GetStreamKpi          (KpiId              ) returns (stream Kpi          ) {}
   rpc GetInstantKpi         (KpiId              ) returns (KpiList             ) {}
 }
diff --git a/src/monitoring/client/MonitoringClient.py b/src/monitoring/client/MonitoringClient.py
index 50ef008b2f07a6df968a00dd6e3f2ab63d3fe056..637a88164afdde7254cc73413448dbdd0513c75d 100644
--- a/src/monitoring/client/MonitoringClient.py
+++ b/src/monitoring/client/MonitoringClient.py
@@ -22,7 +22,7 @@ from common.tools.grpc.Tools import grpc_message_to_json_string
 from common.proto.context_pb2 import Empty
 from common.proto.monitoring_pb2 import Kpi, KpiDescriptor, KpiId, MonitorKpiRequest, EditedKpiDescriptor, \
     KpiDescriptorList, BundleKpiDescriptor, KpiQuery, KpiList, SubsDescriptor, SubscriptionID, SubsIDList, \
-    AlarmDescriptor, AlarmID, AlarmIDList, AlarmResponse
+    AlarmDescriptor, AlarmID, AlarmIDList, AlarmResponse, AlarmSubscription
 from common.proto.monitoring_pb2_grpc import MonitoringServiceStub
 
 LOGGER = logging.getLogger(__name__)
@@ -168,7 +168,7 @@ class MonitoringClient:
         LOGGER.debug('GetAlarmDescriptor result: {:s}'.format(grpc_message_to_json_string(response)))
         return response
 
-    def GetAlarmResponseStream(self, request : AlarmID) -> AlarmResponse:
+    def GetAlarmResponseStream(self, request : AlarmSubscription) -> AlarmResponse:
         LOGGER.debug('GetAlarmResponseStream: {:s}'.format(grpc_message_to_json_string(request)))
         response = self.stub.GetAlarmResponseStream(request)
         LOGGER.debug('GetAlarmResponseStream result: {:s}'.format(grpc_message_to_json_string(response)))
diff --git a/src/monitoring/service/MonitoringServiceServicerImpl.py b/src/monitoring/service/MonitoringServiceServicerImpl.py
index e8db5943ebe01fbf95b9557fd8545a37d6ca246f..79a0519293307902fe1e6a405929ef7b9e2ada59 100644
--- a/src/monitoring/service/MonitoringServiceServicerImpl.py
+++ b/src/monitoring/service/MonitoringServiceServicerImpl.py
@@ -24,8 +24,9 @@ from common.proto.kpi_sample_types_pb2 import KpiSampleType
 from common.proto.monitoring_pb2_grpc import MonitoringServiceServicer
 from common.proto.monitoring_pb2 import AlarmResponse, AlarmDescriptor, AlarmIDList, SubsIDList, KpiId, \
     KpiDescriptor, KpiList, KpiQuery, SubsDescriptor, SubscriptionID, AlarmID, EditedKpiDescriptor, KpiDescriptorList, \
-    BundleKpiDescriptor, MonitorKpiRequest, Kpi
+    BundleKpiDescriptor, MonitorKpiRequest, Kpi, AlarmSubscription
 from common.rpc_method_wrapper.ServiceExceptions import ServiceException
+from common.tools.timestamp.Converters import timestamp_float_to_string
 
 from monitoring.service import SqliteTools, InfluxTools
 from device.client.DeviceClient import DeviceClient
@@ -184,7 +185,7 @@ class MonitoringServiceServicerImpl(MonitoringServiceServicer):
             deviceId        = kpiDescriptor.device_id.device_uuid.uuid
             endpointId      = kpiDescriptor.endpoint_id.endpoint_uuid.uuid
             serviceId       = kpiDescriptor.service_id.service_uuid.uuid
-            time_stamp      = request.timestamp
+            time_stamp      = timestamp_float_to_string(request.timestamp.timestamp)
             kpi_value       = getattr(request.kpi_value, request.kpi_value.WhichOneof('value'))
 
             # Build the structure to be included as point in the influxDB
@@ -346,7 +347,7 @@ class MonitoringServiceServicerImpl(MonitoringServiceServicer):
         except Exception as e:  # pragma: no cover
             LOGGER.exception('GetAlarmDescriptor exception')
 
-    def GetAlarmResponseStream(self, request : AlarmID, grpc_context : grpc.ServicerContext) -> Iterator[AlarmResponse]:
+    def GetAlarmResponseStream(self, request : AlarmSubscription, grpc_context : grpc.ServicerContext) -> Iterator[AlarmResponse]:
 
         LOGGER.info('GetAlarmResponseStream')
         try:
diff --git a/src/monitoring/tests/Messages.py b/src/monitoring/tests/Messages.py
index 95f2be65e776a2cad7e091fc82209b040ef3c480..7b7f4150e5c084bbf25c6a4d9c1c47b70e3f76a0 100644
--- a/src/monitoring/tests/Messages.py
+++ b/src/monitoring/tests/Messages.py
@@ -14,6 +14,8 @@
 
 from common.proto import monitoring_pb2
 from common.proto.kpi_sample_types_pb2 import KpiSampleType
+from common.tools.timestamp.Converters import timestamp_string_to_float
+
 
 def kpi():
     _kpi                    = monitoring_pb2.Kpi()
@@ -44,6 +46,6 @@ def monitor_kpi_request(kpi_uuid, monitoring_window_s, sampling_rate_s):
 def include_kpi_request():
     _include_kpi_request                        = monitoring_pb2.Kpi()
     _include_kpi_request.kpi_id.kpi_id.uuid     = str(1)    # pylint: disable=maybe-no-member
-    _include_kpi_request.timestamp    = "2021-10-12T13:14:42Z"
-    _include_kpi_request.kpi_value.intVal       = 500       # pylint: disable=maybe-no-member
+    _include_kpi_request.timestamp.timestamp    = timestamp_string_to_float("2021-10-12T13:14:42Z")
+    _include_kpi_request.kpi_value.int32Val       = 500       # pylint: disable=maybe-no-member
     return _include_kpi_request
diff --git a/src/monitoring/tests/test_unitary.py b/src/monitoring/tests/test_unitary.py
index 87a4b4d3e33d3ea6c69b569f4008d794574226f6..913c6003b56689cdf74cbc04142a8bd9858becfc 100644
--- a/src/monitoring/tests/test_unitary.py
+++ b/src/monitoring/tests/test_unitary.py
@@ -22,10 +22,11 @@ from common.orm.Database import Database
 from common.orm.Factory import get_database_backend, BackendEnum as DatabaseBackendEnum
 from common.message_broker.Factory import get_messagebroker_backend, BackendEnum as MessageBrokerBackendEnum
 from common.message_broker.MessageBroker import MessageBroker
+from common.proto.monitoring_pb2 import KpiId, KpiDescriptor
 
 from context.client.ContextClient import ContextClient
 from context.service.grpc_server.ContextService import ContextService
-from common.proto.context_pb2 import EventTypeEnum, DeviceEvent, Device
+from common.proto.context_pb2 import EventTypeEnum, DeviceEvent, Device, Empty
 
 from device.client.DeviceClient import DeviceClient
 from device.service.DeviceService import DeviceService
@@ -166,7 +167,7 @@ def test_create_kpi(monitoring_client): # pylint: disable=redefined-outer-name
     LOGGER.warning('test_create_kpi requesting')
     response = monitoring_client.CreateKpi(create_kpi_request())
     LOGGER.debug(str(response))
-    assert isinstance(response, monitoring_pb2.KpiId)
+    assert isinstance(response, KpiId)
 
 # Test case that makes use of client fixture to test server's MonitorKpi method
 def test_monitor_kpi(
@@ -201,7 +202,7 @@ def test_monitor_kpi(
     _monitor_kpi_request = monitor_kpi_request(response.kpi_id.uuid, 120, 5) # pylint: disable=maybe-no-member
     response = monitoring_client.MonitorKpi(_monitor_kpi_request)
     LOGGER.debug(str(response))
-    assert isinstance(response, context_pb2.Empty)
+    assert isinstance(response, Empty)
 
 
 # Test case that makes use of client fixture to test server's IncludeKpi method
@@ -210,21 +211,21 @@ def test_include_kpi(monitoring_client): # pylint: disable=redefined-outer-name
     LOGGER.warning('test_include_kpi requesting')
     response = monitoring_client.IncludeKpi(include_kpi_request())
     LOGGER.debug(str(response))
-    assert isinstance(response, context_pb2.Empty)
+    assert isinstance(response, Empty)
 
 # Test case that makes use of client fixture to test server's GetStreamKpi method
 def test_get_stream_kpi(monitoring_client): # pylint: disable=redefined-outer-name
     LOGGER.warning('test_getstream_kpi begin')
     response = monitoring_client.GetStreamKpi(kpi())
     LOGGER.debug(str(response))
-    #assert isinstance(response, monitoring_pb2.Kpi)
+    #assert isinstance(response, Kpi)
 
 # Test case that makes use of client fixture to test server's GetInstantKpi method
 # def test_get_instant_kpi(monitoring_client): # pylint: disable=redefined-outer-name
 #     LOGGER.warning('test_getinstant_kpi begin')
 #     response = monitoring_client.GetInstantKpi(kpi_id())
 #     LOGGER.debug(str(response))
-#     # assert isinstance(response, monitoring_pb2.Kpi)
+#     # assert isinstance(response, Kpi)
 
 # Test case that makes use of client fixture to test server's GetInstantKpi method
 def test_get_kpidescritor_kpi(monitoring_client): # pylint: disable=redefined-outer-name
@@ -232,7 +233,7 @@ def test_get_kpidescritor_kpi(monitoring_client): # pylint: disable=redefined-ou
     response = monitoring_client.CreateKpi(create_kpi_request())
     response = monitoring_client.GetKpiDescriptor(response)
     LOGGER.debug(str(response))
-    assert isinstance(response, monitoring_pb2.KpiDescriptor)
+    assert isinstance(response, KpiDescriptor)
 
 def test_sqlitedb_tools_insert_kpi(sql_db): # pylint: disable=redefined-outer-name
     LOGGER.warning('test_sqlitedb_tools_insert_kpi begin')