Corridor Behavior Service (CBS)
CBS is the unified processing component responsible for detecting and publishing all zone-level behavioral events. Unlike VPP and CIGS, which have dedicated Hub adapters, CBS acts as both the source system and its own adapter — it consumes raw data from VPP and CIGS directly, applies behavioral logic, and publishes normalized events to the biometric_events exchange without an intermediary.
Responsibilities
- Detecting pedestrians without a visible face (avoidance behavior)
- Monitoring zone occupancy and raising violations when thresholds are exceeded
- Detecting corridor entry and exit events
- Tracking person count changes within the corridor
- Reporting individual person movement and position updates
- Publishing all zone-level notifications directly to the message broker
Notifications
| Topic | Description | v0.0.1 source |
|---|---|---|
zone.person_entered | A pedestrian has entered the monitored zone | VPP / CIGS fallback |
zone.person_left | A pedestrian has left the monitored zone | VPP / CIGS fallback |
zone.person_avoiding_identification | A pedestrian is present but no face is detected | VPP / CIGS fallback |
zone.occupancy_violation | Zone occupancy exceeds the configured threshold | CBS logic |
zone.persons_count_changed | The count of persons in the corridor has changed | CBS logic |
zone.person_moved | A person's position within the zone has changed | CBS logic |
Zone occupancy violation
CBS monitors the number of people present within a defined zone and raises zone.occupancy_violation when the detected count exceeds the configured threshold. The event carries both the allowed count and the actual detected count, allowing subscribers to determine the severity of the violation. Thresholds are configured per zone and defined at deployment time.
MCT fallback
Topics zone.person_entered, zone.person_left, and zone.person_avoiding_identification are initially derived from VPP and CIGS data in the absence of MCT. This is less precise than tracking-based detection but ensures these notifications are available from the first deployment.
When MCT is integrated, CBS will use MCT as the primary source for these topics while keeping the fallback logic active for deployments without MCT — both implementations can coexist, allowing gradual MCT rollout. Topic names and payload structures will not change; subscribers require no updates.