I want to create a sensor that detects if a video call is taking place on any of my devices (or at least: PCs and laptops). I found solutions that require to install services on the devices in question, but since some of them are managed work-laptops, this is a no-go.
Instead, I was thinking whether it might be possible to detect video calls at the router level (maybe even detecting the device that makes them). I have a PfSense setup, including the integration in HA.
I run QoS software on my Asus router to classify traffic for prioritization. For video calls, I id traffic based on ports, e.g. Zoom is remote ports 3478 and 3479 and 8801-8810 local or remote for udp/tcp.
I don’t have any experience with pfsense, but my understanding is it’s typically running on a Linux box. In theory you should be able to run scripts to identify traffic on those ports and send an MQTT event to HA when it’s detected which toggles a binary sensor.
I’ll leave the details to someone more skilled than I…
Thanks for the suggestions. The problem for me, however, is that the work-laptops are connected via work-vpn, so no port-information on the router I believe.
The best solution I came up with so far is to monitor outgoing traffic from the specific devices (and above a certain upload speed treshhold, assuming it is a video call. However, I think that may result in a lot of false positives