Milestone XProtect 2023 Will Only Processes the First Generic Event in A TCP stream

I am hoping to get some assistance with the setup of Generic Event in my lab environment. When I send an event into XProtect 2023 using the Milestone (MS) Generic Event Tool, the event is processed successfully each time. But when I pass an event into XProtect 2023 from my server software only a single event activation occurs.

My server event is passed as part of the initial TCP session setup, at which time, my server passes a sensor heartbeat “HB” which gets processed on the MS end, after that activation, all other events sent by my server fail to get processed. If I restart the TCP session on my server side, I will always get an event activation on the sensor heartbeat “HB”, but no other events get processed if the TCP session remains up.

Additionally, it looks like someone else might have encountered a similar problem when the TCP stream remains open, “see link below” I have attempted some of the recommended steps I found in the link, but they have not corrected the behavior I am getting. If this issue is similar, I am curious as to how it was resolved.

https://developer.milestonesys.com/s/question/0D53X000085WDrPSAW/it-seems-we-have-found-an-issue-that-milestone-xprotect-only-processes-the-first-generic-event-in-a-tcp-stream

Thank you in advance for your feedback.

Can you please tell me, does the TriggerGenericEventStream sample work for you?

If yes, what are you doing differently?

https://doc.developer.milestonesys.com/html/index.html?base=samples/protocolsamples/triggergenericeventstream/readme.html&tree=tree_3.html

https://github.com/milestonesys

Hi Bo,
Thank you for your follow up on my question, I have not tested with the TriggerGenericEventStream sample, but when I use the Generic Event Tester to send an event, the event is processed each time by Milestone (MS). The data stream I require a hit on is:

^SI:S6474F600385C;MT:DET;ST:GRDN_2;MSC:2;DD:20230912122653;DT:EV_FLASHBANG;CL:HIGH;DIR:RIGHT;RNG:10;DSC:FSASIM;TMP:30;EF:simulator.nofile;NIP:10.10.1.23;NFC:SDS Rowlely;NFL:Floor 1;NLC:Tech Room;NDS:S1;NSI:0$

A screenshot of how the Generic Event is set up is shown below. When I send the above data stream from Generic Event Tester it is processed on the MS end, (see screenshot of Generic Event Tool and log messaging below for results) The same data stream when sent from my software does not get processed by MS.

To add, I have run packet captures for an event sent by the Generic Event Tool, and my software. If you look at the packets for both events, they appear to be identical, “See frame 217 SDS_Tool & Frame 157 Generic_Event_Tool”. I am hoping you can look at the attached capture to see if I am missing something between them.

[cid:image001.png@01D9EC78.9F25B720]

[cid:image002.png@01D9EC78.9F25B720]

[cid:image003.png@01D9EC78.9F25B720]

Hi Bo,

I wanted to add to my previous response. I believe one of the differences between my software sending the event and the Generic Event Tool sending the event is that, the Generic Event Tool closes the TCP connection after each send, and my software does not. My software must maintain the TCP session.

We have a sample which I believe does what you want. I you try it it will establish a common source code understanding. Please try this. - https://doc.developer.milestonesys.com/html/index.html?base=samples/protocolsamples/triggergenericeventstream/readme.html&tree=tree_3.html

Sorry but I think you uploaded pictures that I am not able to see. Without this I can only hope you will try the sample and refer to it.

Hi Bo,
Thank you for your response. I wanted to provide you more details on the event processing issue between my server software and Milestone XProtect 2023. The software on my end has been successfully using Milestone Generic Events as far back as, XProtect 2017 R2. Additionally, I currently can connect my server into XProtect 2022 R3 and when I send in events to XProtect 2022 R3, they are processed without a problem. So based on previous work with Milestone, I know my software works using Generic events that are passed through a constantly established TCP session. At present, I am trying to understand why I cannot get events/data passed into XProtect 2023 to be processed, when the same event data works with earlier versions of XProtect.

To add, I had a case open (MSC1768780 / Generic event is not being triggered) with Milestone Support on this issue, and they were unable to resolve the problem. And as a result, they directed me to the Developer Forum for potential assistance. Based on your availability, would it be possible on your end to jump on a remote session and look at my XProtect 2023 setup? As far as I can tell, the non-working XProtect 2023 looks no different the working XProtect 2022 R3 setup. I am hoping you might be able to identify some difference in the setup that I am missing. Thank you in advance for your continuing assistance on this issue.

I am sorry you have been given wrong advise. It is possible to do remote assistance on a support case but not on a Developer Forum thread where all communication is public. Please continue the case and ask that the supporter escalates or seeks counsel inside Milestone.

Please try the sample. Alternatively:

Please put on the case some source code of yours that will enable Milestone to reproduce the issue in the Milestone lab.

You are welcome to post your source code here in the public forum, but I expect you to get better help if you use the support case.

PS. I am never happy to counter others advise, I hope you will experience it as a step towards the resolution of the issue.

Hi Bo,
Thank you for your response, I will follow up with support again to see if they can be of further assistance.

I have asked you to use the support case. The optimal would be if you share the source code for a small simulator that we at Milestone can use the reproduce the issue. You can share the code here, which is public, or on the case, which only Milestone Support will see.