diff --git a/README.md b/README.md new file mode 100644 index 0000000..38e721a --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# Teams-NetPhone Status Synchronisation + +## Überblick +Dieses Programm synchronisiert den Anruf- und Meeting-Status zwischen Microsoft Teams und NetPhone (SwyxIt!). Dabei werden verschiedene APIs genutzt: +- **Microsoft Graph API**: Setzt und liest den Status von Teams. +- **Lokale Teams Drittanbieter API**: Liest den Meeting-Status aus Teams. +- **SwyxIt! Client SDK**: Setzt und liest den NetPhone-Anrufstatus. + +## Funktionen +- **Teams Meeting-/Anruf-Status wird abgerufen und zu NetPhone synchronisiert** +- **NetPhone Anruf-Status wird zu Teams synchronisiert** +- **Update Check und Updater für dieses Repository** +- **Speicherung der Microsoft-Anmeldedaten mit MSAL (optional)** +- **Abruf des Teams-Status nur über die Graph API (optional)** + +## Voraussetzungen +### 1. Microsoft Tenant Anwendung einrichten +Für die Nutzung des Programms muss eine App im Microsoft 365 Tenant erstellt werden: + +1. **Gehe zum Azure-Portal**: [https://portal.azure.com](https://portal.azure.com) +2. **Navigiere zu "App-Registrierungen"** und erstelle eine neue Anwendung. +3. **Vergib einen Namen** und wähle "Konten in diesem Organisationsverzeichnis". +4. **API-Berechtigungen setzen**: + - Füge die Berechtigung `Presence.ReadWrite` unter Microsoft Graph hinzu. + - Erteile Administratorzustimmung für diese Berechtigung. +5. **Plattformkonfiguration anpassen**: + - Gehe zu **"Authentifizierung"**. + - Unter "Plattformen" wähle **"Mobilgerät- und Desktopanwendungen"**. + - Füge die folgenden **Umleitungs-URIs** hinzu: + ``` + ms-appx-web://Microsoft.AAD.BrokerPlugin/ + msal://auth + http://localhost + ``` +6. **App-ID und Tenant-ID speichern**, diese werden später im Programm benötigt. + +### 2. Teams Drittanbieter API aktivieren +Um den Meeting-Status von Teams lokal abzurufen, muss die Teams Drittanbieter API aktiviert sein: +- Anleitung: [Microsoft Support](https://support.microsoft.com/de-de/office/herstellen-einer-verbindung-mit-drittanbieterger%C3%A4ten-in-microsoft-teams-aabca9f2-47bb-407f-9f9b-81a104a883d6) + +## Technische Details +- **Graph API** wird genutzt, um den Status in Teams zu setzen. +- **Lokale Teams Drittanbieter API** wird genutzt, um den Meeting-Status abzurufen. +- **SwyxIt! Client SDK** wird genutzt, um den NetPhone-Anrufstatus abzurufen und dort den Status zu setzen. + +## Installation & Nutzung +1. **Konfiguriere die App in M365 gemäß den oben beschriebenen Schritten.** +2. **Installiere und starte das Programm.** +3. **Hinterlege die App-ID und Tenant-ID in den Programmeinstellungen.** +4. **Synchronisation startet automatisch basierend auf den Statusänderungen in Teams und NetPhone.** +