Die Integration der eigenen Telefonie-Infrastruktur in Microsoft Teams via Direct Routing (mit einem Session Border Controller, kurz SBC) ist der Königsweg für Unternehmen, die maximale Flexibilität benötigen. Der SBC fungiert dabei als Brücke zwischen deinem lokalen SIP-Trunk/PSTN und der Microsoft-365-Cloud.
Das Ergebnis: Eine zentrale Plattform für Chat, Meetings und externe Telefonie. In diesem How-To zeigen wir dir, wie du Benutzer für Direct Routing konfigurierst und ihnen per PowerShell korrekt Rufnummern zuweist.
1. Der SBC: Dein Tor zur Außenwelt
Ein Session Border Controller (SBC) wird oft als „digitaler Türsteher“ beschrieben. Er sichert, verwaltet und routet VoIP-Gespräche zwischen unterschiedlichen Netzwerken. Im Kontext von Microsoft Teams ermöglicht er Direct Routing – also die Anbindung eigener Telefonleitungen, ohne dass du Rufnummern zu Microsoft portieren musst.
Deine Vorteile:
- Zentrale Administration: Teams wird zum einzigen Client für interne und externe Kommunikation.
- Sicherheit: Der SBC verschlüsselt Voice-Traffic (TLS/SRTP) und schützt vor DoS-Attacken.
- Interoperabilität: Anbindung von analogen Geräten (Fax, Türöffner) oder bestehenden PBX-Systemen parallel zu Teams.
2. Voraussetzungen für die Integration
Bevor du die PowerShell startest, checke bitte folgende Punkte:
- Lizenzen: Jeder User benötigt eine Lizenz, die die Telefonie freischaltet. Das ist meist eine Office 365 E5 oder eine E1/E3 mit dem Add-on „Microsoft Teams Phone Standard“.
- Admin-Rechte: Du benötigst Zugriff als Teams-Administrator oder Globaler Administrator im Tenant.
- SBC-Konfiguration: Der SBC muss korrekt mit dem Microsoft 365 Tenant gekoppelt sein (SIP Options müssen „Up“ sein).
- Domain: Die Domain des SBCs muss im M365-Tenant verifiziert sein.
3. PowerShell und Microsoft Teams
Die grafische Oberfläche im Teams Admin Center stößt bei Massenänderungen oder spezifischen Direct-Routing-Szenarien oft an Grenzen. PowerShell ist hier das Werkzeug der Wahl.
3.1 PowerShell-Modul installieren
- Starte deine PowerShell als Administrator und sorge dafür, dass du das aktuelle Modul nutzt:
Install-Module MicrosoftTeams- Sollte die PowerShell nach der Zustimmung fragen, bestätige diese mit „A“ (Alle).
3.2 Anmeldung bei Microsoft Teams
Die moderne Anmeldung unterstützt Multi-Faktor-Authentifizierung (MFA). Ein separates Speichern von Credentials ist meist nicht mehr nötig – es öffnet sich ein Browserfenster.
- Stellen Sie die Verbindung her:
Connect-MicrosoftTeams- Gebe die Administrator-Zugangsdaten ein. Achte darauf, dass das verwendete Konto im Tenant ausreichend Rechte (O365 Tenant Administrator) hat.
3.3 Nummern für Benutzer konfigurieren
Achtung: Früher wurde hierfür oft Set-CsUser genutzt. Dieser Befehl ist für die Zuweisung von Telefonnummern in aktuellen Modul-Versionen veraltet. Der neue Standard ist Set-CsPhoneNumberAssignment.
Hier ist das Skript, um einem Benutzer eine Direct-Routing-Nummer zuzuweisen und die passende Voice-Routing-Policy zu vergeben:
# Variablen definieren
$UserEmail = "max.mustermann@deine-firma.de"
$PhoneNumber = "+4971112345678" # Format E.164 ist zwingend!
$RoutingPolicy = "DE-National-Calls" # Name deiner Voice Routing Policy
# 1. Telefonnummer zuweisen (Typ: DirectRouting) & Enterprise Voice aktivieren
Set-CsPhoneNumberAssignment -Identity $UserEmail -PhoneNumber $PhoneNumber -PhoneNumberType DirectRouting -EnterpriseVoiceEnabled $true
# 2. Voice Routing Policy zuweisen (berechtigt den User für ausgehende Anrufe)
Grant-CsOnlineVoiceRoutingPolicy -Identity $UserEmail -PolicyName $RoutingPolicy
# 3. Optional: Voicemail aktivieren (wird meist automatisch gesetzt, aber zur Sicherheit)
Set-CsOnlineVoicemailUserSettings -Identity $UserEmail -VoicemailEnabled $true3.4 Überprüfung
Um sicherzustellen, dass alles geklappt hat, prüfst du die Einstellungen des Benutzers:
Get-CsOnlineUser -Identity $UserEmail | Select-Object OnPremLineURI, LineURI, EnterpriseVoiceEnabled, OnlineVoiceRoutingPolicyLineURI: Sollte deine gesetzte Nummer zeigen.EnterpriseVoiceEnabled: MussTruesein.OnlineVoiceRoutingPolicy: Muss deine Policy anzeigen.
Best Practices aus der Praxis
- Test-User (Canary User): Richte Änderungen an Routing-Policies immer erst an einem Test-User ein, bevor du sie global ausrollst.
- Normalisierung: Stelle sicher, dass dein SBC oder der Teams-Dialplan Rufnummern immer ins E.164-Format (
+49...) normalisiert. Teams arbeitet intern ausschließlich mit diesem Format. - Monitoring: Nutze das Call Quality Dashboard (CQD) in Teams sowie die Logs deines SBCs, um Probleme wie Jitter oder Packet Loss frühzeitig zu erkennen.
Stolpersteine bei der SBC-Integration
- DNS-Vergessen: Die SRV-Einträge sind für Direct Routing nicht nötig, aber die FQDNs des SBC müssen per A-Record öffentlich auflösbar sein.
- Firewall: Teams nutzt eine große Range an UDP-Ports (3478-3481) für Media-Traffic. Blockierte Ports führen zu „One-way Audio“ (man hört den anderen nicht).
- Zertifikate: Direct Routing erfordert gültige Public-Zertifikate auf dem SBC. Self-Signed Zertifikate werden von Microsoft abgelehnt.
Fazit
Die Anbindung via SBC und Direct Routing ist der professionelle Standard für Unternehmen, die ihre Telefonie in Microsoft Teams integrieren wollen. Während die Konfiguration des SBCs einmalig erfolgt, ist die Benutzerverwaltung per PowerShell ein wiederkehrender Prozess. Mit dem Cmdlet Set-CsPhoneNumberAssignment bist du dabei auf dem aktuellen Stand der Technik.
| Quelle | Link |
|---|---|
| Microsoft Teams-Dokumentation | https://learn.microsoft.com/de-de/microsoftteams/ |
| Microsoft 365 – VoIP und Team-Telefonie-Integration | https://learn.microsoft.com/de-de/microsoft-365/voice/ |
This post is also available in:
Deutsch

