Overview
This guide explains how to integrate multiple Integriti controllers for Peer-to-Peer (P2P) communications. P2P enables controllers on the same Ethernet LAN to communicate directly using multicast UDP packets, supporting three key functions:
- Peer Reporting — relay alarm reports through another controller’s dialler.
- Foreign Entities — allow a controller to monitor the state of entities on another controller.
- User Locations — enable global anti-passback across multiple controllers.
This feature requires multicast UDP networking. Controllers must be on the same Ethernet LAN segment, or connected via VPN with multicast forwarding.
Prerequisites
- Integriti Professional software installed (required for configuration and time synchronization).
- Controllers running firmware V3.2.1 or later.
- Controller Hardware Smart Card Options License (part of licensing) for each controller using Foreign Entities or User Locations.
- All controllers on the same Ethernet LAN (or VPN with multicast support).
- Unique Peer-to-Peer ID for each controller (automatically allocated by the software — do not change manually).
Check Peer-to-Peer IDs
- In Integriti System Designer, click the Controllers tab followed by the controller list.
- Double-click a controller to open the Editor Window.
- Under Module Details, expand Peer-to-Peer.
- Confirm the Peer-to-Peer ID is a unique, non-zero number allocated by the software.
Step-by-Step
Configure Peer-to-Peer on Each Controller
- In Integriti System Designer, click the Controllers tab followed by the controller list.
- Double-click a controller to open the Editor Window.
- Expand Peer-to-Peer under Module Details.
- Specify an Encryption Key — exactly 32 hexadecimal characters, identical on all controllers. (Optional but recommended.)
- Tick the required options:
- Receive Alarms — if this controller will receive review events from other controllers.
- Receive State — if this controller will monitor states of foreign entities from other controllers.
- Send State — if entities on this controller will be monitored by other controllers.
- Locations — if configuring the system for global anti-passback.
- Save and close the Editor Window.
- Repeat steps 1–6 for all remaining controllers.
Configure Peer Reporting (Controller Sending Reports)
- Click the Comms Tasks tab followed by New.
- Give the Communications Task a name.
- Under Comms Task Setup, set Type to Peer Reporting.
- Expand Peer Reporting Programming:
- Optionally enter a Client Code. If left blank, the area client code is used.
- Set the Destination Controller ID to the Peer-to-Peer ID of the receiving controller.
- Tick General Open/Close if required.
- Save and close the Editor Window.
Client Code Priority: Area client code (originating controller) → Comms task client code (originating controller) → Comms task client code (relaying controller).
Configure Test Reports for Monitoring
- Peer-to-peer messages use UDP multicast — controllers cannot detect if communications have failed.
- Configure Test Reports on each controller sending peer reports to verify operational status.
- Optionally configure a Backup Task on the Peer Reporting communications task for redundancy.
Configure Foreign Entities
- Foreign entities are automatically created by System Designer when you program something using an entity from another controller.
- Click the Foreign Entities tab to view automatically configured foreign entities.
- Foreign entity states report as Boolean only (True/False). States can be used for:
- Combining into compound entities
- Qualifiers (area re-arm, BMS, generic access, actions, LCD messages)
- BMS mapped entities
- Trigger/sense entities for named actions
- Setting general variables to foreign entity states
- Macro expressions
Foreign entities are state-based (not edge-based) and can miss quick transitions.
Configure User Locations for Global Anti-Passback
- In the Controller Editor, under Module Details → Peer-to-Peer, select the Locations option.
- Save and close. Repeat for all participating controllers.
- Refer to Global Anti-Passback for full door and permission configuration.
Important: User Locations is not designed to work with AURM. Disable AURM if User Locations is enabled.
Verification
- Verify Peer-to-Peer IDs are unique and non-zero across all controllers.
- Confirm the encryption key is identical on all controllers.
- Check that controllers appear online in System Designer with correct time synchronization.
- For peer reporting: trigger a test report and verify it reaches the receiving controller.
- For foreign entities: verify entity state changes on one controller are reflected on another.
- For user locations: badge a user at one controller and verify location updates across controllers.
Troubleshooting
| Problem | Resolution |
|---|---|
| ”Peer 2 Peer: Error: Not licensed” | Ensure each controller has the Controller Hardware Smart Card Options License. |
| ”Peer 2 Peer: Error: Received invalid CRC” | Verify the encryption key is identical (32 hex characters) on all controllers. |
| ”Peer 2 Peer: Error: Time shifted” | Check time/date settings between controllers. Ensure the Time Window (secs) is set to a reasonable value (default: 60). Connect controllers to Integriti Professional for time sync. |
| ”Comms Task xx (Peer Reporting) Alarm transmission failed” | The originating controller tries 3 times before logging failure. Check receiving controller configuration — ensure same multicast address and port. Verify network connectivity. |
| Controllers not communicating | All controllers must be on the same Ethernet LAN. Default multicast settings: IP 239.255.43.99, Port 69, Time Window 60 seconds. |
| Duplicate Peer-to-Peer IDs | Manually re-allocate IDs via the Controller Editor if import/restore/downgrade caused duplicates. |
Default Peer-to-Peer Settings
| Field | Default Value |
|---|---|
| Multicast IP Address | 239.255.43.99 |
| Port | 69 |
| Time Window (secs) | 60 |