All Projects → ericgla → RTC-Call-Monitor

ericgla / RTC-Call-Monitor

Licence: other
Voice/video call detection by monitoring of UDP packet rate with notification via webhooks

Programming Languages

C#
18002 projects
Dockerfile
14818 projects
powershell
5483 projects

Projects that are alternatives of or similar to RTC-Call-Monitor

GoogleSpeak
No description or website provided.
Stars: ✭ 14 (-54.84%)
Mutual labels:  ifttt, homeassistant
ha-zoom-automation
Custom Home Assistant component for Zoom. Tracks when you are connected to a Zoom call by default but may allow you to track more.
Stars: ✭ 47 (+51.61%)
Mutual labels:  zoom, homeassistant
home-assistant-svt-play
Play SVT Play videos and channels via home assistant
Stars: ✭ 17 (-45.16%)
Mutual labels:  homeassistant
HeWeather
HomeAssistant HeWeather Plugin
Stars: ✭ 66 (+112.9%)
Mutual labels:  homeassistant
boozer
Kegerator Monitoring Platform. RPi + Docker + Beer + Metrics + Slack. k3s kubernetes friendly.
Stars: ✭ 93 (+200%)
Mutual labels:  homeassistant
ParadoxRs232toMqtt
esp8266, serial bus to mqtt for Paradox alarm systems
Stars: ✭ 66 (+112.9%)
Mutual labels:  homeassistant
Home-Assistant-Config
🏠 My huizebruin Home Assistant configuration, Be sure to 🌟 this repository for updates! huizebruin
Stars: ✭ 29 (-6.45%)
Mutual labels:  homeassistant
robusta
Open source Kubernetes monitoring, troubleshooting, and automation platform
Stars: ✭ 772 (+2390.32%)
Mutual labels:  msteams
integration blueprint
Blueprint for custom_component developers.
Stars: ✭ 151 (+387.1%)
Mutual labels:  homeassistant
zoomdda
📆 NuxtJS based TimeTable
Stars: ✭ 11 (-64.52%)
Mutual labels:  zoom
ZoomMarker
A jQuery plugin for scrolling and zooming in and out of the image
Stars: ✭ 81 (+161.29%)
Mutual labels:  zoom
github-custom-component-tutorial
A tutorial for creating a custom component for Home Assistant using GitHub's API.
Stars: ✭ 31 (+0%)
Mutual labels:  homeassistant
teams-api
Unofficial Microsoft Teams Library
Stars: ✭ 92 (+196.77%)
Mutual labels:  msteams
home assistant adax
Integration for Adax heaters
Stars: ✭ 24 (-22.58%)
Mutual labels:  homeassistant
org-mode-sms-inbox
Harvest org-mode todos with Dropbox, Twilio, and IFTTT.
Stars: ✭ 19 (-38.71%)
Mutual labels:  ifttt
zoomy-plugin
🔍 Zoomy Github Page
Stars: ✭ 73 (+135.48%)
Mutual labels:  zoom
panasonic smart app
Panasonic Smart App integration for Home Assistant.
Stars: ✭ 22 (-29.03%)
Mutual labels:  homeassistant
flex-table-card
Highly Flexible Lovelace Card - arbitrary contents/columns/rows, regex matched, perfect to show appdaemon created content and anything breaking out of the entity_id + attributes concept
Stars: ✭ 122 (+293.55%)
Mutual labels:  homeassistant
google fit hass
A Home assistant custom component to get your fitness information using Google Fitness API.
Stars: ✭ 23 (-25.81%)
Mutual labels:  homeassistant
addon-tor
Tor - Home Assistant Community Add-ons
Stars: ✭ 37 (+19.35%)
Mutual labels:  homeassistant

RTC-Call-Monitor

About

RTC-Call-Monitor is a tool to detect an active UDP based voice/video call by:

  • Monitoring the rate of incoming/outgoing UDP packets from your machine's IP address.
  • Checking the source/destination address against known network blocks for the major voice/video conference providers.

When an active call is detected, will invoke a webhook for the start and end of a call.

Supported Providers

  • Zoom
  • Microsoft Teams
  • WebEx
  • Slack
  • Google Meet
  • GoTo Meeting

Additional providers can be added by modifying the configuration file. See Adding new providers below.

Getting Started

Prerequisites

Minimal Configuration

Before starting the application for the first time, modify the value for LocalNetwork in appsettings.json with the details of your local network. The value is in CIDR Notation.

Most users will have a network configuration similar to the following:

  IP Address:  192.168.1.100
  Subnet Mask: 255.255.255.0

The configuration will be

"LocalNetwork": "192.168.1.0/24"

Build/Run

RTC-Call-Monitor requires that your console has elevated privileges in order to monitor network traffic.

Windows: Open a new Powershell or command prompt using Run as Administrator

cd src
dotnet run

Linux/macOS:

cd src
sudo dotnet run

Additional Configuration

Webhooks

All webhooks are HTTP POST requests and require a valid URL.

Call Start

CallStart in appsettings.json

POST body included when calling the webhook

{
  'provider': 'slack'
}

Call End

CallEnd in appsettings.json

POST body included when calling the webhook

{
  'duration': 123
}

duration is the call length in seconds.

Adding new providers

The configuration key KnownNetworks is a JSON dictionary with the key being the provider name, and value is an array of CIDR network blocks. To add a new provider, add a new key/value pair to KnownNetworks.

Adding new network blocks

If the application is not detecting the start of your call, the most likely reason is that the IP address is not in a known network block for your provider. To see the destination address of your call provider, enable debug logging.

In appsettings.json: "RtcCallMonitor": "Debug"

In the console a message similar to the following will show in the console:

Unmapped network 66.77.89.91 count 122

Find your provider in appsettings.json and add a new entry for the network block

66.77.0.0/16

Restart the application and your call should be detected.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].