We’re working on a SCADA system integration to get Motion events with as low latency as possible using the Alarm Command protocol. Our previous solution is based on the Recorder Status Protocol which has too high latency for our use case.
The approach of sending a SOAP StartEventLineSession request followed by GetSessionEventLines requests seems to work using a predefined test event. Now we need to simulate Motion events to finish the integration.
We’ve got a camera simulator with different streams. The Siemens Siveillance VMS Video Client shows that there are pending motion events that can also be acquitted. But these events don’t show up in the GetSessionEventLinesResponse.
The StartEventLineSession request:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<StartEventLineSession xmlns="http://videoos.net/2/CentralServerAlarmCommand"><token>TOKEN#4721970c-d005-493e-9670-6299b15a6ce4#configcenter//ServerConnector#</token><filter xmlns:a="http://schemas.datacontract.org/2004/07/VideoOS.Platform.Proxy.Alarm" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:Conditions/>
<a:Orders>
<a:OrderBy>
<a:Order>Descending</a:Order>
<a:Target>Timestamp</a:Target>
</a:OrderBy>
</a:Orders>
</filter>
</StartEventLineSession>
</env:Body>
The GetSessionEventLines request:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<GetSessionEventLines xmlns="http://videoos.net/2/CentralServerAlarmCommand">
<token>TOKEN#0dc961ff-50cd-48aa-8e77-36434aeca26c#configcenter//ServerConnector#</token>
<sessionId>5cec94a1-abd4-45a6-9c3e-cd8f5b3b49c5</sessionId>
<maxCount>20</maxCount>
</GetSessionEventLines>
</env:Body>
</env:Envelope>
The GetSessionEventLinesResponse for the test event:
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetSessionEventLinesResponse xmlns="http://videoos.net/2/CentralServerAlarmCommand">
<GetSessionEventLinesResult xmlns:a="http://schemas.datacontract.org/2004/07/VideoOS.Platform.Proxy.Alarm" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:Deleted xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<a:Inserted>
<a:EventLine>
<a:CameraId>00000000-0000-0000-0000-000000000000</a:CameraId>
<a:CustomTag i:nil="true"/>
<a:Id>864bc2da-3eaa-4139-929d-d9749e837dae</a:Id>
<a:LocalId>10014</a:LocalId>
<a:Message>External Event</a:Message>
<a:Name>External Event</a:Name>
<a:ObjectValue i:nil="true"/>
<a:RuleType i:nil="true"/>
<a:SourceId>191754f0-7ff7-49fa-8724-4e19aa3d08a1</a:SourceId>
<a:SourceName>ghfgh</a:SourceName>
<a:Timestamp>2022-03-07T14:54:10.4898705Z</a:Timestamp>
<a:Type>System Event</a:Type>
<a:VendorName i:nil="true"/>
</a:EventLine>
</a:Inserted>
</GetSessionEventLinesResult>
</GetSessionEventLinesResponse>
</s:Body>
</s:Envelope>