at our joint customer needs some technical support which may or may not require custom development.

at our joint customer needs some technical support which may or may not require custom development.

we are able currently to see motion alarms etc., however, Milestone did a custom integration where they are bringing in DMP events into Milestone via a MIPS plugin.

Milestone are using Interconnect where the local system in using PRO or PRO+ with the DMP alarms tagging video locally, as well as,

they are sending the event to a Corporate system.

we are not able to see the DMP alarm.

is that because the events are in a different table or possibly something to do with the MIPS plugin?

Can you take lead on this or point me in the right direction?

Hi @Boaz Halamish​ ,

Could you please contact us via our email - customdevelopment@milestonesys.com and describe us the environment you have and give us more details about the problem you are facing.

Best regards,

Anton Polimenov

hello team

I am reposting my request / question: at our joint customer we are trying to get DMP events from the Milestone system. from some reason we are not able to.

we know that we can get other events from Milestone, such as Motion Detection events.

Milestone are using Interconnect where the local system in using PRO or PRO+ with the DMP alarms tagging video locally and they are sending the event to a Corporate system. however, we are not able to see the DMP alarm.

can we refer the question to engineering team as well to assist?

thanks

Hi Boaz,

Sorry for the delay on this. There has been a bit of confusion at least on our side, so let me try to get this back on track.

It sounds to me like you already know how to get events in general out of XProtect and the problem is that you just don’t get the events from the DMP integration. Is that correct?

Could you please let me know a bit more about the architecture? You mention Interconnect, so is the DMP integration running on the interconnected (child) system or on the Corporate (parent) system? In either case from which of the two systems are you requesting the DMP events? I am asking because event transfer between child and parent on an Interconnect setup is not supported, so if you are running the DMP integration on the child and requesting the events from the parents that will not work. You have then to connect directly to the child system and ask for the events there.

Best regards,

Peter

thanks for your prompt reply, I will try to gather the information and will revert back on it.

Some additional info collected:

o Qognify dev *does* see Milestone motion detection events

o Qognify dev *does* see DB deleting recording events

o Qognify dev *does not* see any other type of events (even manually triggered centrally) - Including DMP events

Can you clarify if there are multiple ways to call, and/or multiple ways to set parameters that might filter out events from being distributed to third parties? Best case, as they are a PSIM, would be to distribute ALL events.

Events can be received in different ways. E.g. by querying them directly on the alarm protocol API, or by subscribing to them on the Event Server using message communication.

To further troubleshoot what is going wrong it would be very helpful if you could post just the few lines of code used for subscribing to events?

this is how we subscribe to events in Milestone. we are if working in federate mode, we perform this logic for each server we have in the federation.

public void Init(ServerId masterSiteId)

{

  \_masterSiteId = masterSiteId;

  MessageCommunicationManager.Start(masterSiteId);

  \_messageCommunication = MessageCommunicationManager.Get(masterSiteId);

  {

    \_log.InfoFormat("Subscribing to alarms notifications");

    \_messageCommunication.RegisterCommunicationFilter(NewAlarmMessageHandler,

      new CommunicationIdFilter(MessageId.Server.NewAlarmIndication));

    \_messageCommunication.RegisterCommunicationFilter(ChangedEventMessageHandler,

      new CommunicationIdFilter(MessageId.Server.ChangedAlarmIndication));

    \_alarmClient = \_alarmManager.GetAlarmClient(\_masterSiteId);

  }

  \_messageCommunication.RegisterCommunicationFilter(StatusEventHandler,

    new CommunicationIdFilter(MessageId.Server.NewEventIndication));

  \_messageCommunication.RegisterCommunicationFilter(CurrentStateResponseHandler,

    new CommunicationIdFilter(MessageCommunication.ProvideCurrentStateResponse));

}