Skip to main content

Generic ONVIF Integration

This guide explains how Anava ONVIF events work and how to integrate them with any ONVIF-compliant video management system.

How Anava Emits ONVIF Events

When Anava detects something, it instructs the camera to emit standard ONVIF events.

Generic ONVIF Event Flow

ONVIF Event Structure

Event Topic

Anava events are published under the camera's ACAP event namespace:

tnsaxis:CameraApplicationPlatform/AnavaAgent/[ObjectName]

Examples:

  • tnsaxis:CameraApplicationPlatform/AnavaAgent/Person
  • tnsaxis:CameraApplicationPlatform/AnavaAgent/Weapon
  • tnsaxis:CameraApplicationPlatform/AnavaAgent/Vehicle

Event Data

Each event includes:

FieldTypeDescription
StateBooleantrue (detected) / false (cleared)
TimestampDateTimeWhen detection occurred
SourceStringCamera serial number

Stateful vs Pulse Events

TypeBehaviorVMS Use
StatefulTrue→False lifecycle"Is True" conditions
PulseSingle triggerCount/log events
VMS Compatibility

Configure Anava objects as Stateful for best VMS compatibility. This enables rules like "Record while Person is True".

VMS Configuration Steps

Step 1: Add Camera

Ensure your VMS has the Axis camera added:

  • Use ONVIF discovery or manual IP entry
  • Verify ONVIF capabilities are detected
  • Confirm event subscription is working

Step 2: Discover Events

Trigger an Anava detection to make events discoverable:

  1. Walk in front of camera (motion trigger)
  2. Wait for analysis to complete
  3. In VMS, refresh event list or rediscover camera

Step 3: Create Rules

Map Anava events to VMS actions:

EventSuggested Actions
Person (State=True)Start recording, log event
Person (State=False)Stop recording (if stateful)
Weapon (State=True)High-priority alarm, notify
Vehicle (State=True)Log, low-priority alert

Step 4: Test

  1. Generate detection
  2. Verify event received by VMS
  3. Confirm actions execute
  4. Check recording/logs

Common VMS Configuration

Bosch VMS

  1. Add camera via ONVIF
  2. Event mapping: Configure → Devices → Events
  3. Rules: Configure → Events → Action triggers

Hanwha Wave

  1. Add camera via ONVIF discovery
  2. Events: Settings → Events → Device events
  3. Rules: Settings → Event rules

Avigilon Control Center

  1. Add camera via ONVIF
  2. Alarms: Administration → Device → Alarms
  3. Rules: Site → Alarm Management

Exacq exacqVision

  1. Add camera via ONVIF
  2. Events: Config → Events → Camera Events
  3. Actions: Config → Events → Event Linking

Qognify (NICE) VMS

  1. Add camera via ONVIF
  2. Events: Administration → Event Sources
  3. Rules: Administration → Event Rules

Manual ONVIF Subscription

For systems requiring manual configuration, use these ONVIF parameters:

Event Service Endpoint

http://[camera-ip]/onvif/event/subscription

Subscribe Request

<Subscribe xmlns="http://docs.oasis-open.org/wsn/b-2">
<ConsumerReference>
<Address>[callback-url]</Address>
</ConsumerReference>
<Filter>
<TopicExpression Dialect="http://www.onvif.org/ver10/tev/topicExpression/ConcreteSet">
tnsaxis:CameraApplicationPlatform/AnavaAgent//
</TopicExpression>
</Filter>
</Subscribe>

Notification Message Structure

<NotificationMessage>
<Topic>tnsaxis:CameraApplicationPlatform/AnavaAgent/Person</Topic>
<Message>
<Source>
<SimpleItem Name="device" Value="B8A44F45D624"/>
</Source>
<Data>
<SimpleItem Name="isDetected" Value="true"/>
</Data>
</Message>
</NotificationMessage>

Virtual Input Triggering

For VMS-to-Anava triggering, use virtual inputs:

Activate Virtual Input (Trigger Analysis)

http://[camera-ip]/axis-cgi/io/virtualinput.cgi?action=6%3A%2F

Deactivate Virtual Input (Reset)

http://[camera-ip]/axis-cgi/io/virtualinput.cgi?action=6%3A%5C

This allows VMS operators to trigger on-demand Anava analysis.

Troubleshooting

Events Not Received

  1. Check ONVIF subscription

    • Verify VMS is subscribed to camera events
    • Check network connectivity
  2. Check Anava is emitting events

    • View Sessions in Anava dashboard
    • Confirm objects are detected
  3. Check event topic filter

    • Ensure filter includes Anava namespace
    • Try broader filter initially

Events Received But Not Matching

  1. Check event name

    • Object names are case-sensitive
    • Match exactly as configured in Anava skill
  2. Check state handling

    • Some VMS need explicit True/False handling
    • Verify stateful is enabled for objects

Performance Issues

  1. Reduce event volume

    • Use Object Analytics triggers (pre-filter at camera)
    • Add schedules to profiles
  2. Optimize VMS rules

    • Limit complex rule conditions
    • Use appropriate recording quality

Best Practices

Event Naming

Use consistent, descriptive object names in skills:

GoodAvoid
Personperson (case issues)
WeaponWeapon Detected (complex)
Vehiclecar (too specific)

Testing

  1. Test each object type individually
  2. Verify both True and False states
  3. Test under production-like conditions
  4. Document working configuration

Documentation

Maintain records of:

  • Anava object names
  • VMS rule mappings
  • Expected behaviors
  • Troubleshooting steps

ONVIF Resources