Analytics event unable to send to Event Server

Hi I have an application written with Milestone SDK hosting on Milestone server. When triggered, it was able to send analytics event and Milestone server reflects that analytics event. But when I run the said application on another server, the analytics event does not appear on Milestone server.

I am using 2018 R3 release due to project requirement.

My firewall inbound rules on Milestone Server have already set port 9090, 22331 and 22333 open.

Kindly advise.

Can you please test an unmodified sample “Analytics Event Trigger via MIP .Net library” - This sample demonstrates how to submit an Analytics Event to the Milestone XProtect Event Server using the .Net library.

https://doc.developer.milestonesys.com/html/index.html?base=samples/analyticseventlibrary.html&tree=tree_2.html

Please test it and see if it gives the same issue.

Hi Kito

I’ve tried testing “Analytics Event Trigger via MIP .Net library” and faced error. Which I’m not sure why it’s pointing to localhost when I’m running this sample on a client and my Milestone is installed on a server:

MIP: Debug: LoginServerbase ():6:11 PM: New token posted [TOKEN#ce467993-3489-4798-ac40-79316d630b12#desktop-uq9o9v5//ServerConnector#] – Server: desktop-uq9o9v5

The thread 0x117e34 has exited with code 0 (0x0).

MIP: Debug: ServiceReg: ():https://localhost/ManagementServer/ServiceRegistrationService.svc

MIP: Error: AlarmClientManager ():Failed to create alarm client. Exception: Event server not found in registered services

MIP: Error: BaseEventHandler ():Exception source: VideoOS.Platform

Exception type: VideoOS.Platform.MIPException

Exception message: Alarm Client not created: Unable to find EventServer via Registered Services (localhost:443)

Exception target site: GetAlarmClient

at VideoOS.Platform.Proxy.AlarmClient.AlarmClientManager.GetAlarmClient(ServerId serverId)

at VideoOS.Platform.SDK.Platform.MessageManager.BaseEventHandler(Message message, FQID dest, FQID source)

BaseEventHandlerBaseEventHandler ()Alarm Client not created: Unable to find EventServer via Registered Services (localhost:443) at VideoOS.Platform.Proxy.AlarmClient.AlarmClientManager.GetAlarmClient(ServerId serverId)

at VideoOS.Platform.SDK.Platform.MessageManager.BaseEventHandler(Message message, FQID dest, FQID source)

Let me ask you a silly question but did you login to your server when you saw the login dialog?

Yes I was able to login using the server IP address, and able to see my devices. Which when trigger an analytics event, gives me the error as above.

I don’t get why the error shows I’m pointing to a ‘localhost’ address when I am accessing the milestone server from a client. Shouldn’t it point to the server IP address? Are there any config setting in IIS where I’ll have to change?

Can you please look into DNS and check it if it is correct? It might be something wrong with it.

Hi Kito

We do have problem with out DNS, thus we opted to add host name into the host file.

However when testing, after forcefully stopping IIS website, the debugging mode of Analytics Event Trigger via Library shows correct host name pointing to the Server Command Service:

"MIP: Debug: LoginServerSvc.QueryChanges ():There was no endpoint listening at https://desktop-uq9o9v5/ManagementServer/ServerCommandService.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details."

But after starting IIS, when triggering “Send Analytics Event”, it was still pointing to:

"MIP: Debug: ServiceReg: ():https://localhost/ManagementServer/ServiceRegistrationService.svc

MIP: Error: AlarmClientManager ():Failed to create alarm client. Exception: Event server not found in registered services"

I assume the 2 services are under the same root folder, but they are weirdly displaying different behavior. Thus I’m not sure if it is only the DNS problem.

Have you tried it from another machine? If not, can you please test it? Also can you test it on server itself ?