I’ve come back after an extended period away from XProtect and AI Bridge. I tried to run it along with the IVA I’ve been working on and I can see it sending analytic events along happily; however, they do not appear in the Alarm Manager in the Smart Client.
I’m guessing something has changed with the version of XProtect or AI Bridge I’m using since I last had this working with AI Bridge v1.6 (or 1.7) and a much earlier version of XProtect.
I’m currently running AI Bridge v2.0.0 with XProtect Corporate 2025 R1.
So, working through things, I updated the payload I send to be in line with “http://www.insights.data/2024/06/analytics-event.jsonld”. Here is a sample payload (sent to key “ae63bb5a-fc34-4516-bf0e-54e9a0ec5a8e/28dc44c3-079e-4c94-8ec9-60363451eb40”, which is the relevant stream ID):
{"@context":"http://www.insights.data/2024/06/analytics-event.jsonld","type":"AnalyticsEvent","name":"Event Name","timestamp":"2025-09-19T00:23:52.353Z","fromSource":{"type":"Reference","uuid":"ae63bb5a-fc34-4516-bf0e-54e9a0ec5a8e"},"includesSnapshot":[{"type":"Snapshot","name":"Image","description":"Image of person.","imageData":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCABeACADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwCaKWJmwsPPuxrQtYxKMS3UNuv+2RVHW9J1nw+YF1mKKCScEqiSBzgdzistxHN8zjLep5rruaHTSTx2nyWl3HM5/iUZA/SoW+13QxNeoF9NgFYkTCLhB+VX7KW0eaOO9SdPMbaGXpmqRUVcz/E2uSeIvEc1/tZLfy1jhQjG0Ac8e5yaqbto61LqmkXmkTCPUAsMhGQrHkj6daz2cnvWaJZfEhCgKck96t6PLFBq1vcXsZniiyQvo3Y1jxOV57Vu+HdF1DWj/ocYK4J3McDFORvRqRh8SuO8WXI8Q3R1VAIPIjI2O5ZmwOmfSuYR9wqwwlFi8zKVQ8c5qlGcd6lM5y0h6jNd/wCD/FWmeGNGNxcyCe4lUhYAec+/oK84MgHep7ZfNP7uMsy8gqpNDKR0GqW6tpMybVChWYAcc4rh4p3IAPWu9lw0LQD+LiuBlHl3sijoCRTRnckZ2AyTXomhaaiWkchRQzBc5X2rztIpbqRYYRl24AJxXqEF9i3QKPuqB+lTI0izDt1bz49xY4IPP1ritRxHqlwo4Ac16jFCN+CoINea+IhGmvXgi6Bs49KDI0fCUPn6o3/TIBvrXXxx7EAANc/8P49slzcSKdhGFNdbGwZBxQyloT2+BIryfKinLHHQV5HrDrLrV9MjZjcjBr1WS832VwNvWNh+leY2umeeXy4yGxzUxZCO28F24GgM3GCxH610EKKEUAVk+D7K4FlLD5kWxTnpW9GgXC4GR3psq5//2Q=="}]
I can see in the proxy logs things like: “2025-09-19T00:04:25Z Sending analytics event to ‘http://:22331/Central/AlarmServiceToken’ succeeded.”
(The event map is also successfully updated to point “event.12355b21-5a25-4a1d-b6d2-f6e02c9b95b5.event_name.analytics_event” to the management server host.)
If I run tcpdump in the proxy container, I can see the calls succeed with an HTTP 200 OK response. If it matters, here is the HTTP request:
POST /Central/AlarmServiceToken HTTP/1.1
Host: <management-server>:22331
User-Agent: Go-http-client/1.1
Content-Length: 3514
Content-Type: text/xml; charset=utf-8
Soapaction: http://videoos.net/2/CentralServerAlarmCommand/IAlarmCommandToken/AddEvent
Accept-Encoding: gzip
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><AddEvent xmlns="http://videoos.net/2/CentralServerAlarmCommand"><token>TOKEN#7dcfa633-219a-40a3-a66f-a85945632f70#<management-server>//ServerConnector#</token><baseEvent i:type="a:AnalyticsEvent" xmlns:a="urn:milestone-systems" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:EventHeader><a:ID>7dc8cc60-d4ca-48d2-8c96-8d8c40c9a0ef</a:ID><a:Timestamp>2025-09-19T00:29:48.311Z</a:Timestamp><a:Class></a:Class><a:Type></a:Type><a:Version>1.0</a:Version><a:Priority>0</a:Priority><a:PriorityName></a:PriorityName><a:Name>Event Name</a:Name><a:Message>Event detection / reporting</a:Message><a:CustomTag></a:CustomTag><a:Source><a:Name></a:Name><a:Description></a:Description><a:FQID><a:ServerId><a:Type>XPCORS</a:Type><a:Hostname><management-server></a:Hostname><a:Port>7563</a:Port><a:Id>911c2e50-71d1-46af-bfde-b7043a521b77</a:Id><a:Scheme>http</a:Scheme></a:ServerId><a:ParentId>911c2e50-71d1-46af-bfde-b7043a521b77</a:ParentId><a:ObjectId>ae63bb5a-fc34-4516-bf0e-54e9a0ec5a8e</a:ObjectId><a:FolderType>0</a:FolderType><a:Kind>5135ba21-f1dc-4321-806a-6ce2017343c0</a:Kind></a:FQID></a:Source><a:ExpireTimestamp>2025-09-20T00:29:48.311Z</a:ExpireTimestamp><a:MessageID>831b73ca-512a-4187-b96e-e5c32d63717a</a:MessageID></a:EventHeader><a:Description></a:Description><a:StartTime>2025-09-19T00:29:45.311Z</a:StartTime><a:EndTime>2025-09-19T00:29:51.311Z</a:EndTime><a:Location></a:Location><a:Count>0</a:Count><a:RuleList i:nil="true"/><a:ObjectList i:nil="true"/><a:ReferenceList i:nil="true"/><a:SnapshotList><a:Snapshot><a:TimeOffset>0</a:TimeOffset><a:Width>0</a:Width><a:Height>0</a:Height><a:HasOverlay>false</a:HasOverlay><a:SizeInBytes>0</a:SizeInBytes><a:Image>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCABeACADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwCaKWJmwsPPuxrQtYxKMS3UNuv+2RVHW9J1nw+YF1mKKCScEqiSBzgdzistxHN8zjLep5rruaHTSTx2nyWl3HM5/iUZA/SoW+13QxNeoF9NgFYkTCLhB+VX7KW0eaOO9SdPMbaGXpmqRUVcz/E2uSeIvEc1/tZLfy1jhQjG0Ac8e5yaqbto61LqmkXmkTCPUAsMhGQrHkj6daz2cnvWaJZfEhCgKck96t6PLFBq1vcXsZniiyQvo3Y1jxOV57Vu+HdF1DWj/ocYK4J3McDFORvRqRh8SuO8WXI8Q3R1VAIPIjI2O5ZmwOmfSuYR9wqwwlFi8zKVQ8c5qlGcd6lM5y0h6jNd/wCD/FWmeGNGNxcyCe4lUhYAec+/oK84MgHep7ZfNP7uMsy8gqpNDKR0GqW6tpMybVChWYAcc4rh4p3IAPWu9lw0LQD+LiuBlHl3sijoCRTRnckZ2AyTXomhaaiWkchRQzBc5X2rztIpbqRYYRl24AJxXqEF9i3QKPuqB+lTI0izDt1bz49xY4IPP1ritRxHqlwo4Ac16jFCN+CoINea+IhGmvXgi6Bs49KDI0fCUPn6o3/TIBvrXXxx7EAANc/8P49slzcSKdhGFNdbGwZBxQyloT2+BIryfKinLHHQV5HrDrLrV9MjZjcjBr1WS832VwNvWNh+leY2umeeXy4yGxzUxZCO28F24GgM3GCxH610EKKEUAVk+D7K4FlLD5kWxTnpW9GgXC4GR3psq5//2Q==</a:Image></a:Snapshot></a:SnapshotList><a:Vendor><a:Name></a:Name><a:CustomData></a:CustomData></a:Vendor></baseEvent></AddEvent></s:Body></s:Envelope>
I have a corresponding analytic event setup in the Management Server as well as a corresponding Alarm Definition tied to that event and with the appropriate stream/camera as a source trigger.
If I run the “Test Event” function from the Analytic Event screen, the alarm triggers just fine in the Smart Client’s Alarm Manager.
If it matters, I’m running the AI Bridge with “vps-authorization” set to “false” as this is in a local development environment.
Any help would be greatly appreciated.
Thanks as always.