For IT — setup guide
Muster runs peer-to-peer on devices (tablets, phones, laptops) at the fire scene. Most of the time it doesn't need internet — the mesh is local. This guide covers what to enable on department networks so Muster works reliably, plus how to deploy Muster at scale on managed devices.
Testing Muster before your department goes live? tester_onboarding.md is the tester entry point. Testers install via TestFlight or Play Store internal-test, so most of the MDM deployment guidance below isn't applicable to the test cohort — read it when you're preparing for production rollout.
For the exhaustive network specification (protocol version numbers, port fallback logic, TLS cipher requirements, firewall diagnostic tests), contact support@safesignals.io to request the full technical network requirements document.
Table of contents
- What Muster needs from your network
- Firewall rules quick reference
- Local network discovery — mDNS / Bonjour
- Cloud services — for Tier 2 and above
- Windows-specific setup
- macOS and iOS-specific setup
- Android-specific setup
- MDM deployment
- Air-gapped environments
- Troubleshooting
What Muster needs from your network
On scene (essential):
- All Muster devices on the same Wi-Fi subnet during an incident. Peer discovery uses mDNS multicast — cross-subnet routing is possible but out of scope for standard deployments.
- Multicast enabled on that subnet (mDNS uses UDP port 5353 and the 224.0.0.251 multicast group).
- TCP port 58282 open between peers on the same subnet (Muster's peer-to-peer sync). Falls back to 58283-58291 if the primary is in use.
Off scene (for Tier 2 and above only):
- Outbound HTTPS (TCP 443) to
*.safesignals.iofor cloud archive sync, admin console, and license validation. - Outbound WebSocket (WSS, TCP 443) to
relay.safesignals.iofor the Phase 8a federated relay (extends the mesh beyond one Wi-Fi network).
Not needed:
- Cellular or Wi-Fi during an incident. Muster works fully offline; cloud sync catches up when connectivity returns.
- Public-internet-facing ports on Muster devices. All Muster connections are client-initiated outbound.
Firewall rules quick reference
| Direction | Protocol | Port | Purpose | Required? |
|---|---|---|---|---|
| Peer-to-peer (LAN) | TCP | 58282 (fallback 58283-58291) | Muster mesh sync | Yes |
| Peer-to-peer (LAN) | UDP | 5353 | mDNS peer discovery | Yes |
| Outbound | TCP | 443 | HTTPS to *.safesignals.io |
Only for Tier 2+ cloud features |
| Outbound | TCP | 443 | WSS to relay.safesignals.io |
Only for Tier 2+ federated relay |
| Outbound (iOS/APNS) | TCP | 443, 2197 | Apple push notifications | Only for iOS Mayday Critical Alerts |
| Outbound (Android/FCM) | TCP | 443, 5228-5230 | Firebase Cloud Messaging | Only for Android push |
Local network discovery — mDNS / Bonjour
Muster's core discovery mechanism. Every Muster device
advertises itself on _muster._tcp.local. via mDNS; other
Muster devices on the same subnet see the advertisement and
connect.
What to configure:
- Wi-Fi controllers: enable mDNS reflection / Bonjour gateway if VLANs partition your fire station Wi-Fi. Without this, devices on different VLANs won't discover each other.
- Guest Wi-Fi networks: disable AP isolation on any SSID Muster devices connect to. AP isolation prevents peer-to-peer discovery even on the same SSID.
- Corporate Wi-Fi with mDNS filtering: whitelist
_muster._tcpin your controller (Aruba, Cisco Meraki, Ubiquiti UniFi, and most enterprise controllers all support service-type filtering).
If mDNS is fully blocked (some corporate networks disable multicast entirely), Muster's fallback is QR bootstrap — one device shows a pairing QR from Settings → Peer Mesh, and other devices scan it. Slower first-time setup but fully functional; safety features work identically.
Cloud services — for Tier 2 and above
Only relevant for departments on Tier 2 or higher. Emergency and Tier 1 devices work fully with no cloud connectivity.
Endpoints:
admin.safesignals.io(admin console, chief/admin access).firefighter.safesignals.io(firefighter portal, individual personnel access to their own exposure records).api.safesignals.io(integrator API — CAD, RMS vendors).relay.safesignals.io(federated relay for extending mesh across multiple Wi-Fi networks).licensing.safesignals.io(License Key issuer for activation).releases.safesignals.io(signed installer downloads).- Google Firebase infrastructure at
*.googleapis.com+*.firebaseapp.com+*.firebaseio.com(Muster's Phase 5 cloud backend). Standard Firebase egress rules apply.
All HTTPS on port 443. No non-standard ports. Certificate
pinning to Muster's issued certs (published at
safesignals.io/trust/keys.json).
Windows-specific setup
Bonjour SDK for Windows is required for mDNS discovery.
Apple's mDNSResponder is the Windows implementation Muster's
bonsoir peer-discovery library uses.
Two installer paths:
- Inno Setup
.exefromreleases.safesignals.io— bundles Bonjour64.msi and chain-installs it silently on machines that don't already have it. This is the recommended path for department IT shops doing Group Policy or PDQ Deploy rollouts. - MSIX from the Microsoft Store — cannot chain-install other MSIs (sandbox restriction). MSIX users must install Bonjour for Windows separately from Apple's site. Muster warns at first launch if Bonjour isn't detected.
Verification after install:
services.mscshows Bonjour Service running.- Registry key
HKLM\SOFTWARE\Apple Inc.\Bonjourexists.
Windows Defender Firewall prompts on first launch for both
"Private networks" and "Public networks." Allow at least
Private networks for mesh peer discovery to work. For
department-managed devices, pre-approve via Group Policy
firewall rule targeting muster_app.exe on TCP 58282-58291
and UDP 5353.
Silent install for MDM / PDQ Deploy:
Muster-Setup-<version>.exe /VERYSILENT /SUPPRESSMSGBOXES
Or MSIX via Add-AppxPackage in an elevated PowerShell.
macOS and iOS-specific setup
mDNS is native — Bonjour is built into every macOS and iOS device. No additional install needed.
Local Network permission (iOS 14+ and macOS 12+): Muster prompts on first launch to access the local network. Firefighter must approve for peer discovery. For MDM-managed devices, the local-network entitlement is granted automatically at MDM enroll time.
Critical Alerts entitlement (iOS): Muster's Mayday and evacuation notifications bypass Do Not Disturb, silent mode, and Focus using the Apple Critical Alerts entitlement (granted 2026-05-11). The firefighter must accept the Critical Alerts prompt on first launch. Once granted, the entitlement persists until the user revokes it in Settings → Notifications → Muster.
Distribution options:
- App Store — end-user install path.
- Apple Business Manager + MDM — for department-managed devices. Assign licenses via VPP; deploy via any modern MDM (Jamf, Intune, Kandji, Mosyle, etc.).
- Testflight — for pilot deployments before store release.
Android-specific setup
NSD (Network Service Discovery) is Android's mDNS implementation. Works out of the box without runtime permission.
Bluetooth permissions (Android 12+): if you want to enable Phase 8a BLE peer discovery, grant the following at MDM enroll time:
BLUETOOTH_SCAN(withneverForLocationflag so location permission isn't required).BLUETOOTH_ADVERTISE.BLUETOOTH_CONNECT.
Older Android (11 and below) needs ACCESS_FINE_LOCATION for
BLE — required by the OS regardless of use case. Not needed on
Android 12+.
Location permission: only if your department uses the
Q2-2026 GPS Map view feature. When granted (ACCESS_FINE_LOCATION
or ACCESS_COARSE_LOCATION), Muster's LocationReportingService
auto-starts on both the IC board and the Crew Member screen —
each crew device streams UnitLocationReported events scoped
to (incident, unit, device) for the incident's Map view.
Reporting stops automatically when the crew switches roles,
the incident terminates, or the unit is cleared. Opt-in per
department; the admin console's Settings tab tunes the
accuracy threshold + minimum reporting interval per-dept.
Distribution options:
- Google Play — end-user install path.
- Play Console + Managed Google Play — for department- managed devices. Assign licenses; deploy via MDM (Intune, Google Workspace, VMware Workspace ONE, etc.).
- Sideload APK — available from
releases.safesignals.iofor departments that need out-of-band distribution.
MDM deployment
Muster ships APNs / GCM push tokens per device at activation time, so MDM deployments should:
- Push the Muster app to managed devices at enroll time.
- Provision a License Key per department that the app
reads at first launch. Contact
it@safesignals.iofor the License Key provisioning workflow. - Pre-approve local network permissions (iOS), Critical Alerts (iOS), and Bluetooth permissions (Android 12+ if using BLE).
- Configure any firewall / mDNS rules per the sections above.
Muster does not require single sign-on for firefighter or chief use in Phase 5. SSO / SAML / OIDC is a Tier 3 enterprise feature landing in Phase 8+.
Air-gapped environments
Some departments operate on physically-isolated networks. Muster works fine:
- All Phase 1-4 operational features (accountability, ISO, Mayday, PAR, evacuation, exposure capture, whiteboard, mesh sync) run entirely on the local network.
- Local archive generation works with no external connectivity.
- Firmware updates happen via out-of-band download + local-network distribution.
What air-gapped operation gives up:
- Cloud archive sync.
- Admin console.
- Firefighter portal.
- License activation from a fresh install (requires one-time internet during activation).
- Long-term exposure retention beyond the local device's storage.
For departments with hard air-gap requirements, Safe Signals
offers a Tier 3 on-premises deployment option. Contact
sales@safesignals.io for the Tier 3 dedicated-deployment
conversation.
Troubleshooting
Devices can't discover each other on the same Wi-Fi
- Verify AP isolation is disabled.
- Verify multicast is enabled on the subnet.
- Verify Bonjour SDK is installed on Windows devices.
- Test from the command line:
dns-sd -B _muster._tcpon macOS,avahi-browse -aon Linux, or use Bonjour Browser on Windows. - Fallback: use QR pairing (Settings → Peer Mesh → Show pairing QR).
Cloud relay not connecting
- Verify outbound TCP 443 to
relay.safesignals.iois allowed. - WebSocket handshake requires HTTP Upgrade — some deep-packet-
inspecting firewalls (Palo Alto, Zscaler) block this by
default. Add an exception for
relay.safesignals.io. - Verify the license tier is Tier 2 or higher.
iOS Critical Alerts not firing
- Verify the user granted the Critical Alerts prompt at first launch.
- Verify APNs port 2197 is open outbound (some restrictive firewalls block it).
- Check Settings → Notifications → Muster and confirm Critical Alerts is enabled.
Windows Bonjour service missing
- Reinstall from Apple's Bonjour Print Services for Windows distribution.
- Verify
services.mscshows Bonjour Service as Running and set to Automatic startup.
For deeper troubleshooting, contact
support@safesignals.io and request the full technical
network requirements document.