# 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.**