Zuletzt bearbeitet vor 3 Wochen
von Jan Wild

Anbindung MS Teams an vPBX

Voraussetzungen vPBX+Teams

Icon-note.svg

Lizenzen
  • Microsoft 365 E5 Lizenz oder
  • Microsoft 365 E3, mit "Phone System" (und optional "Audio conferencing") Lizenz pro User oder
  • Microsoft 365 E1, mit "Phone System" (und optional "Audio conferencing") Lizenz pro User oder
  • Microsoft 365 Business Basic/Standard/Premium, mit "Phone System" Lizenz pro User, welcher telefonieren können soll

iWay AG bietet im Moment keine Microsoft-Lizenzen an.

Icon-note.svg

Zugriffe/Berechtigungen
  • Microsoft365 Global Admin User für "Microsoft 365 admin center", "Microsoft Teams admin center" und Powershell

Icon-note.svg

vPBX
  • Richtige Hypervisor-Umgebung sein, die vPBX-Version ab KVM304v3 und Menü "PBX Einstellungen" sichtbar: Kontaktieren Sie hierzu den iWay-VoIP-Support: 0435001111 oder voip@iway.ch


Vorbemerkungen zur MS Teams Domain

Icon-info.svg

Es wird davon ausgegangen, dass Sie die Domain "ihredomain.ch" schon in MS Teams verwenden. Es werden nun folgende 5 DNS-Einträge hinzugefügt: 4 Einträge für "Skype for Business" und A-Record von teams.ihredomain.ch auf Ihre vPBX xyz.vpbx.iway.ch.

Nach der Umstellung wird Ihre vPBX nur noch unter https://teams.ihredomain.ch erreichbar sein, da nicht zwei SSL-Zertifikate auf eine vPBX zeigen können. Ihre zuvor angemeldeten Telefone/CTI-Clients müssen entsprechend umkonfiguriert/neu provisioniert werden. Ebenfalls müssen die Teilnehmer-Logins den MS-Teams-Usern angeglichen werden, d. h. die Teilnehmer-Logins auf der vPBX müssen ebenfalls vorname.nachname lauten.


Schritt 1: Einrichten der Domain

Icon-info.svg

Dieser Schritt zeigt das Einrichten der Domain im "Microsoft 365 admin center" unter https://admin.microsoft.com/AdminPortal/Home#/Domains .




Erstellen der DNS-Server-Einträge

Tragen Sie auf Ihren DNS-Servern folgende Einträge für Ihre Domain "ihredomain.ch" ein:


Hostname Domain TTL IN Type Prio Content
sip .ihredomain.ch 3600 IN CNAME
sipdir.online.lync.com
lyncdiscover .ihredomain.ch 3600 IN CNAME
webdir.online.lync.com
_sip._tls .ihredomain.ch 3600 IN SRV 100 1 443 sipdir.online.lync.com
_sipfederationtls._tcp .ihredomain.ch 3600 IN SRV 100 1 5061 sipfed.online.lync.com


Erstellen Sie auch noch folgenden A-Eintrag, bei welchem teams.ihredomain.ch auf die IP Ihrer vPBX xyz.vpbx.iway.ch zeigt:


Hostname Domain TTL IN Type Prio Content
teams .ihredomain.ch 3600 IN A
IP.der.iWay.vPBX


Die IP Ihrer vPBX ist unten links zu finden:


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage-2023-11-24 15-30-16.png


Icon-note.svg

Zum Zeitpunkt der Umstellung der vPBX auf Teams muss dieser DNS-Eintrag weltweit verfügbar sein, da sonst das nötige Zertifikat nicht erstellt werden kann.


Aktivierung Ihrer Domain für "Skype for Business"

Öffnen Sie https://admin.microsoft.com/AdminPortal/Home#/Domains 

Klicken Sie auf "ihredomain.ch" (jene Domain, welche Sie schon für sich eingerichtet ist):


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-15 17-19-25.png


Klicken Sie auf "DNS records" und dann auf "Manage DNS":


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-15 17-26-32.png


Klicken Sie unten auf 
KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-15 17-30-30.png
:


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-15 17-30-1.png


Setzen Sie hier das Häkchen unter "Advanced Options" bei "Skype for Business":


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-15 17-32-23.png


Überprüfen Sie die DNS-Einträge und schliessen Sie diesen Schritt ab.


Schritt 2: Weisen Sie den MS Teams Usern die richtige Microsoft Lizenz zu

Icon-note.svg

MS Lizenzen

  • Bei Enterprise Lizenzen braucht es entweder eine E5 Lizenz (keine weitere Zusatzlizenz nötig) oder eine E3 Lizenz mit Phone System add-on (und, falls Konferenzen getätigt werden sollen, Audio Conferencing add-on)
  • Bei Microsoft 365 Lizenzen braucht es zusätzlich pro Benutzer die "Phone System"-Lizenz


Weisen Sie unter "Users" / "Active Users" den MS Teams Usern die richtige Microsoft Linzenz zu:


Schritt 3: Auf vPBX "Teams-Kompatibilitätsmodus" einschalten und Domain ändern

Auf der vPBX unter "PBX Einstellungen" bei "Teams-Kompatibilitätsmodus" auf "VoIP+Presence" umstellen und auf "Speichern" klicken:


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-9-21 8-24-32.png


Im selben Menü unter "Allgemeine Einstellungen" den Hostname (z. B. "teams") und die Domain (ihredomain.ch) angeben:

Icon-note.svg

Zu diesem Zeitpunkt muss der neue DNS-Eintrag (teams.ihredomain.ch) weltweit verfügbar sein, da sonst das nötige Zertifikat nicht erstellt werden kann.

Nach dieser Umstellung ist Ihre vPBX nur noch unter https://teams.ihredomain.ch mit Zertifikat erreichbar. Alle Telefone und CTI-Clients müssen auf die neue Domain umkonfiguriert werden.


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-9-21 8-26-42.png


Schritt 4: In Azure Wert-Schlüssel-Paar erzeugen und auf vPBX übertragen

Icon-info.svg

In diesem Schritt wird in Azure ein Wert-Schlüssel-Paar ("Teams app id" / "Teams app key") erstellt, welches zur Abfrage des Presence-Status von MS Teams nötig ist.


"Anwendungs-ID (Client)" erstellen



Azure öffnen (https://portal.azure.com/) und dann unter "Azure Active Directory" / "App-Registrierungen" eine "Neue Registrierung" erstellen:



Direktlink: https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-18 16-49-38.png














Unter "Name" einen frei gewählten Namen angeben, z. B. "iwayteamsbridge" (es kann eine eigene Bezeichnung verwendet werden):





Bei "Unterstützte Kontotypen" "Nur Konten in diesem Organisationsverzeichnis" auswählen:


















Unter "Umleitung-URI (optional)" die neue URL Ihrer vPBX https://teams.ihredomain.ch/oauth/ angeben:

Zuunterst auf 
KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-18 17-5-9.png
klicken.


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-18 16-53-55.png


Den Wert hinter "Anwendungs-ID (Client)" kopieren ....





























... und auf der vPBX in den"PBX Einstellungen" ins Feld "Teams app id" kopieren:


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-18 17-8-22.png

KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-9-21 8-50-25.png


"Geheimer Clientschlüssel" erzeugen

Unter "Zertifikate & Geheimnisse" auf "Neuer geheimer Clientschlüssel" klicken, ...


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-18 17-11-45.png



... "Geheimen Clientschlüssel hinzufügen", ...


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-18 17-17-2.png


... diesen auf der vPBX in den "PBX Einstellungen" ins Feld "Teams app key" kopieren und danach auf "Speichern" klicken.


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-9-21 8-57-48.png


API-Berechtigungen

API-Berechtigungen müssen folgende gesetzt werden:

  • User.Read
  • Presence.Read
  • Presence.ReadAll


Authentifizierung der vPBX an Teams

Zum Abschluss die vPBX an der Microsoft Umgebung anmelden:


Schritt 5: Aktivieren von "Microsoft Teams Benutzer" und Eintragen der "MS Teams Telefonnummer" pro Teilnehmer auf der vPBX

Alle Benutzer auf der PBX erstellen bzw. entsprechend dieser Regel ändern: Der Benutzername muss identisch sein, wie der Microsoft 365 Benutzername (ohne @Domain). Beispiel: wenn der Microsoft 365 Benutzer hans.beispiel@beispielfirma.ch heisst, so muss der Benutzer auf der vPBX hans.beispiel heissen.

Bei jedem Teams Benutzer ist nach dem Erstellen die Option "Microsoft Teams Benutzer" zu aktivieren und die Telefonnummer (Format +41...), mit welcher der Benutzer in der Teams Umgebung verknüpft werden wird, unter "MS Teams Telefonnummer" einzutragen, siehe Screenshot rechts.

Update Juli 2021: Als "MS Teams Telefonnummer" muss keine gültige Telefonnummer verwendet werden und auch das Format +41... muss nicht beachtet werden: Es können auch (z. B. vierstellige) interne Telefonnummern verwendet werden, wie z. B. 1000, 1001, 1002 etc. 
Das Eintragen von Internen Nummern ins Feld "MS Teams Telefonnummer" scheint nur zuverlässig zu funktionieren wenn alle User ausschliesslich MS Teams verwenden. Ansonsten gibt es Probleme beim Weiterleiten von Anrufen von MS Teams zu Hardware-Telefonen oder CTI-Client. 


KB VoIP Telefonie vPBX Anbindung MS Teams an vPBX2021-09-21 09 14 29-172.18.5.89 - Remotedesktopverbindung.png


Schritt 6: In Powershell an Teams anmelden

Powershell-Befehle


Anmerkungen / Screenshots


Import des MicrosoftTeams Moduls
Import-Module MicrosoftTeams





Falls das Modul noch nicht installiert ist, wie folgt installieren:

Find-Module -Name MicrosoftTeams | Install-Module

Falls keine Rechte für's Ausführen von Scripten:

Set-ExecutionPolicy Unrestricted

Changelog Microsoft Teams PowerShell: https://docs.microsoft.com/de-de/MicrosoftTeams/teams-powershell-release-notes

Modul upgraden
Update-Module MicrosoftTeams

Welche Version vom MicrosoftTeams-Modul ist installiert?

Get-InstalledModule -Name MicrosoftTeams

Credentials-Objekt erstellen (Zugangsdaten eines Office365-Admins werden benötigt)
Connect-MicrosoftTeams

Hier müssen die Zugangsdaten vom Admin-User eingegeben werden.



Schritt 7: PSTN-Gateway erstellen (einmalig)

MSTEAMS_FQDN = teams.ihredomain.ch

Gateway erstellen und Direct Routing Service verbinden (MSTEAMS_URL wird Ihnen von iWay AG mitgeteilt)
New-CsOnlinePSTNGateway -Fqdn MSTEAMS_FQDN -MaxConcurrentSessions 100 -Enabled $true -ForwardPai $true -ForwardCallHistory $true

Icon-note.svg

Sie werden nun nach dem SipSignalingPort (PORT_VON_SBC) gefragt. Geben Sie hier 5061 ein.


Mit dem folgenden Befehl kann die Konfiguration überprüft werden:

Get-CsOnlinePSTNGateway

PSTN-Gateway wieder löschen:

Remove-CsOnlinePSTNGateway -Identity MSTEAMS_FQDN

Schritt 8: Voice Routing und entsprechende Policy einrichten (einmalig)

PSTN-Usage erstellen

Set-CsOnlinePstnUsage -Identity Global -Usage @{Add="Unrestricted"}



Route erstellen

New-CsOnlineVoiceRoute -Identity "Unrestricted" -OnlinePstnGatewayList MSTEAMS_FQDN -Priority 1 -OnlinePstnUsages "Unrestricted" -NumberPattern ".*"

Überprüfen der Route

Get-CsOnlineVoiceRoute

OnlineVoiceRoute wieder löschen:

Remove-CsOnlineVoiceRoute -Identity "Unrestricted"

User-Routing-Policy erstellen

New-CsOnlineVoiceRoutingPolicy "Unrestricted" -OnlinePstnUsages "Unrestricted"

Überprüfen der User-Routing-Policy:

Get-CsOnlineVoiceRoutingPolicy

OnlineVoiceRoutingPolicy wieder löschen:


Remove-CsOnlineVoiceRoutingPolicy -Identity "Unrestricted"

Schritt 9: Benutzer aktivieren und MS Teams UUID auf vPBX eintragen (für jeden Benutzer)

Powershell-Einträge

Benutzer aktivieren, Telefonnummer und Voicemail Box zuweisen:

OFFICE365_USER Username des Microsoft 365-Accounts (z. B.: max.muster@ihredomain.ch)
RUFNUMMER "MS Teams Telefonnummer" der vPBX im Format +41435001111

Update 1.7.21: Offensichtlich können dort beliebige Nummern gewählt werden, auch z. B. vierstellige, interne Nummern.

Set-CsPhoneNumberAssignment -Identity OFFICE365_USER -PhoneNumber RUFNUMMER -PhoneNumberType DirectRouting
Set-CsPhoneNumberAssignment -Identity OFFICE365_USER -EnterpriseVoiceEnabled $true

Zuweisen der User-Routing-Policy:

Grant-CsOnlineVoiceRoutingPolicy -Identity OFFICE365_USER -PolicyName "Unrestricted"

KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-18 17-39-38.png



MS Teams UUID pro Benutzer auslesen und in die vPBX übertragen

Neue PowerShell Session mit dem Azure Active Directory verbinden

Import-Module AzureAD
Connect-AzureAD

Falls das Modul noch nicht installiert ist, wie folgt installieren:

Find-Module -Name AzureAD | Install-Module

Pro Benutzer die ObjectId auslesen...

Get-AzureADUser -ObjectId "vorname.nachname@ihredomain.ch"

Ausgabe wie folgt:

ObjectId DisplayName UserPrincipalName UserType
-------- ----------- ----------------- --------
abcabcab-abca-abca-abca-abcabcabcabc Hans Beispiel hans.beispiel@ihredomain.ch Member

...und auf beim vPBX-Teilnehmer im Feld "MS Teams UUID" auf der vPBX eintragen:



KB VoIP Telefonie vPBX Anbindung MS Teams an vPBXimage2021-3-18 17-30-31.png


Attachments