Bitte befolgen Sie nachfolgende Anleitung für die initiale Einbindung von Microsoft Teams in unsere Telefonanlage. Bei Fragen oder Anmerkungen können Sie uns via support@wwcom.ch oder +41 41 541 41 41 kontaktieren.

Voraussetzungen für die Einbindung von Microsoft Teams

  • Microsoft 365 E5 Lizenz oder
  • Microsoft 365 E3, mit "Phone System" Lizenz oder
  • Microsoft 365 Business Standard, mit "Business Voice" Lizenz
  • Kompatibel ab wwcommunicator Version KVM302


Schritt 1

Zuerst muss man eine Teams-Domain festlegen, üblicherweise als Subdomain der Hauptdomain (z.b. teams.wwcom.ch).

Anschliessend muss man die Domain bei Microsoft aktivieren/überprüfen. Dies lässt sich mit nachfolgenden Schritten bewerkstelligen:

  1. Melden Sie sich auf https://admin.microsoft.com/AdminPortal/Home#/Domains an und geben Sie dort den FQDN an. Notieren Sie sich den TXT-Name / TXT-Wert.
  2. TXT-Name" / "TXT-Wert auf dem DNS-Server der entsprechenden Domain eintragen
  3. Melden Sie sich wiederum auf https://admin.microsoft.com/AdminPortal/Home#/Domains an und klicken Sie auf "Überprüfen"


Schritt 2

Bitte tragen Sie folgende DNS-Einträge für die entsprechende Domain ein:

Schritt 3

Skype for Business Onlinedienst aktivieren:

  1. Auf https://admin.microsoft.com/AdminPortal/Home#/Domains "Skype for Business" auswählen und auf "Weiter" klicken

  2. Anschliessend auf "DNS-Einstellungen aktualisieren" auf "Überprüfen" klicken

  3. Danach sollte in der Übersicht "Healthy" für Ihre entsprechende Subdomain erscheinen


Schritt 4

Bitte weisen Sie bei allen Benutzern die korrekten Microsoft Lizenzen zu.

  • 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 Business Lizenzen braucht es zusätzlich pro Benutzer die Business Voice Lizenz

Schritt 5

Im wwcommunicator unter "PBX Einstellungen" die Option "Teams-Kompatibilitätsmodus" aktivieren. Ebenso sicherstellen, dass "TLS zulassen" und "SRTP zulassen" aktiviert wurden. Zudem muss die Domain der Teams-Domain gleichgesetzt werden. Der Hostname kann frei gewählt werden (z.B. pbx als Hostname und beispielfirma.ch als Domain, wodurch sich der FQDN pbx.beispielfirma.ch für die PBX ergibt). Danach ist vorzugsweise "Let's Encrypt Zertifikat verwenden" zu aktivieren.

  

  1. Einen A-Record auf dem DNS-Server erzeugen, welcher auf die IP der PBX zeigt
  2. Die PBX neu starten
  3. Bis die Telefonzentrale unter dem neuen FQDN erreichbar ist, kann es eine Weile dauern (abhängig von den TTL Einstellungen auf dem DNS)
  4. Alle Benutzer auf der PBX erstellen. Wichtig: 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 PBX hans.beispiel heissen.
  5. Bei jedem Teams Benutzer ist nach dem Erstellen die Option "Microsoft Teams Benutzer" zu aktivieren und die Telefonnumer, mit welcher der Benutzer in der Teams Umgebung verknüpft werden wird, unter "MS Teams Telefonnummer" einzutragen

Schritt 6

PBX anbinden und Benutzer aktivieren

  1. Verbinden mit dem Skype for Business Server

    1. Powershell als Administrator öffnen

    2. Skype for Business-Session erstellen

    3. Import des Skype for Business Moduls

      Import-Module SkypeOnlineConnector


      Falls bei diesem Schritt ein Fehler auftritt könnte es sein, das auf Ihrem Windows System das "Skype for Business online connector module" nicht vorinstalliert ist. Infos zur Installation finden Sie in der offiziellen Microsoft Anleitung.


    4. Credentials-Objekt erstellen (Zugangsdaten eines Microsoft 365-Admins werden benötigt)

      $userCredential = Get-Credential


    5. Session zum Skype for Business-Server erstellen

      $sfbSession = New-CsOnlineSession -Credential $userCredential
      Import-PSSession $sfbSession


  2. PSTN-Gateway erstellen

    1. Gateway erstellen und Direct Routing Service verbinden

      New-CsOnlinePSTNGateway -Fqdn MSTEAMS_URL -MaxConcurrentSessions 100 -Enabled $true -ForwardPai $true -ForwardCallHistory $true


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


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

      Get-CsOnlinePSTNGateway


  3. Voice Routing und entsprechende Policy einrichten

    1. PSTN-Usage erstellen

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


    2. Route erstellen, der Wert MSTEAMS_URL wird Ihnen mitgeteilt

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


    3. Überprüfen der Route

      Get-CsOnlineVoiceRoute


    4. User-Routing-Policy erstellen

      New-CsOnlineVoiceRoutingPolicy "Unrestricted" -OnlinePstnUsages "Unrestricted"


    5. Überprüfen der User-Routing-Policy

      Get-CsOnlineVoiceRoutingPolicy


  4. Benutzer aktivieren

    Damit nun ein Benutzer aktiviert und mit einer Nummer ausgestattet werden kann, muss sich dieser im Microsoft 365-Admin-Portal bereits erstellt worden sein. Bei weiteren Benutzern sind jeweils nur die Aktivierung und das Zuweisen der Voice Routing Policy nötig. Die vorhergehenden Schritte sind nicht mehr notwendig.


    1. Benutzer aktivieren, Telefonnummer und Voicemail Box zuweisen

      Set-CsUser -Identity OFFICE365_USER -OnPremLineURI tel:RUFNUMMER -EnterpriseVoiceEnabled $true -HostedVoiceMail $true


Schritt 7

MS Teams UUID pro Benutzer auslesen

  1. Neue PowerShell Session, mit dem Azuere Active Directory verbinden:

    Import-Module AzureAD
    Connect-AzureAD


  2. Pro Benutzer die ObjectId auslesen:

    Get-AzureADUser -ObjectId "user@domain"

    Ausgabe wie folgt:

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


  3. Die ObjectId in das Feld "MS Teams UUID" auf der PBX eintragen


Schritt 8

Nächster Schritt: Die PBX an Azure anbinden, damit die Graph API angesteuert werden kann:

  1. Die URL https://portal.azure.com/ öffnen, Menü -> Azure Active Directory >App-Registrierungen
  2. Neue Registrierung, Name: wwcomteamsbridge
    1. Nur Konten in diesem Organisationsverzeichnis
    2. Umleitungs-URI: https://pbx.beispielfirma.ch/oauth/
  3. Zertifikate & Geheimnisse: Clientschlüssel erzeugen und den öffentlichen Schlüssel unter "PBX Einstellungen"->"Teams App Key" speichern, sowie die App ID kopieren und unter "Teams App id" speichern
  4. API-Berechtigungen: User.Read, Presence.Read, Presence.ReadAll
  5. Danach die PBX an der Microsoft Umgebung anmelden, damit ein Presence-Abgleich ermöglicht wird:
    1. https://pbx.beispielfirma.ch/oauth/ aufrufen
    2. Zugangsdaten eingeben
    3. Zugriffsrechte bestätigen


Schritt 9

MS Teams Status-Mapping definieren via wwcommunicator:

Weitere Einstellungs-Optionen zum wwcommunicator können Sie diesem Wiki in der Rubrik "wwcommunicator" entnehmen.


Please follow the instructions below for the initial integration of Microsoft Teams into our telephone system. If you have any questions or comments, you can contact us via support@wwcom.ch or +41 41 541 41 41.

Requirements for the integration of Microsoft Teams

  • Microsoft 365 E5 licence or
  • Microsoft 365 E3, with "Phone System" licence or
  • Microsoft 365 Business Standard, with "Business Voice" licence
  • Compatible from wwcommunicator Version KVM302

Step 1

First, you have to define a Teams domain, usually as a subdomain of the main domain (e.g. teams.wwcom.ch).

You then have to activate/verify the domain at Microsoft. This can be done with the following steps:

  1. Log on to https://admin.microsoft.com/AdminPortal/Home#/Domains and enter the FQDN there. Make a note of the TXT name / TXT value.
  2. Enter "TXT name" / "TXT value" on the DNS server of the corresponding domain
  3. Again, log on to https://admin.microsoft.com/AdminPortal/Home#/Domains and click on "Verify"


Step 2

Please enter the following DNS entries for the corresponding domain:

Step 3

Activate Skype for Business online service:

  1. At https://admin.microsoft.com/AdminPortal/Home#/Domains select "Skype for Business" and click on "Next"
  2. Then click on "Update DNS settings" and click on “Verify"
  3. After that, "Healthy" should appear in the overview for your corresponding subdomain
     

Step 4

Please assign the correct Microsoft licences to all users.

  • Enterprise licences require either an E5 license (no additional licence required) or an E3 licence with Phone System add-on (and, if conferencing is required, Audio Conferencing add-on)
  • For Microsoft 365 Business licences, the Business Voice licence is also required per use

Step 5

In wwcommunicator under "PBX settings", activate the option "Teams compatibility mode". Also make sure that "Allow TLS" and "Allow SRTP" have been enabled. In addition, the domain must be set the same as the Teams domain. The hostname can be chosen freely (e.g. pbx as hostname and examplecompany.ch as the domain, resulting in the FQDN pbx.examplecompany.ch for the PBX). After that, it is preferable to activate "Use Let's Encrypt certificate".

  

  1. Create an A record on the DNS server that points to the IP of the PBX
  2. Restart the PBX
  3. It may take a while until the switchboard is reachable under the new FQDN (depending on the TTL settings on the DNS)
  4. Create all users on the PBX. Important: the username must be identical to the Microsoft 365 username (without @domain). Example: if the Microsoft 365 user is hans.example@examplecompany.ch, the user on the PBX must be named hans.example.
  5. For each Teams user, the option "Microsoft Teams user" must be activated after creation and the telephone number with which the user will be linked in the Teams environment must be entered under "MS Teams telephone number"

Step 6

Connect PBX and activate users

  1. Connect to the Skype for Business Server
    1. Open Powershell as administrator
    2. Create a Skype for Business session
    3. Import the Skype for Business module


      Import-Module SkypeOnlineConnector


      If an error occurs during this step, it could be that the "Skype for Business online connector module" is not pre-installed on your Windows system. You can find information about the installation in the official Microsoft manual.


    4. Create Credentials object (credentials of a Microsoft 365 admin are required)

      $userCredential = Get-Credential


    5. Create a session on the Skype for Business server

      $sfbSession = New-CsOnlineSession -Credential $userCredential
      Import-PSSession $sfbSession


  2. Create PSTN gateway
    1. Create gateway and connect direct routing service

      New-CsOnlinePSTNGateway -Fqdn MSTEAMS_URL -MaxConcurrentSessions 100 -Enabled $true -ForwardPai $true -ForwardCallHistory $true


      You will now be asked for the SipSignalingPort (PORT_VON_SBC). Enter 5061 here.


    2. The following command can be used to check the configuration:

      Get-CsOnlinePSTNGateway


  3. Set up voice routing and corresponding policy
    1. Create PSTN usage

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


    2. Create route, the value MSTEAMS_URL will be given to you

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


    3. check the route

      Get-CsOnlineVoiceRoute


    4. Create a user routing policy

      New-CsOnlineVoiceRoutingPolicy "Unrestricted" -OnlinePstnUsages "Unrestricted"


    5. Check the user routing policy

      Get-CsOnlineVoiceRoutingPolicy


  4. Activate user

    Now, in order for a user to be activated and assigned a number, they must have already been created in the Microsoft 365 admin portal. For additional users, only the activation and assignment of the voice routing policy is necessary. The previous steps are no longer necessary.



    1. Activate user, assign telephone number and voicemail box

      Set-CsUser -Identity OFFICE365_USER -OnPremLineURI tel:TELEPHONENUMBER -EnterpriseVoiceEnabled $true -HostedVoiceMail $true


      OFFICE365_USER = Username of the Microsoft 365 account (e.g max.muster@pbx.wwcom.ch
      TELEPHONE NUMBER = telephone number from the MS Teams - SIP trunk in international format (e.g. +41415414141)


    2. Assign the user routing policy

      Grant-CsOnlineVoiceRoutingPolicy -Identity OFFICE365_USER -PolicyName "Unrestricted"


      OFFICE365_USER = username of the Microsoft 365 account (for example max.muster@pbx.wwcom.ch


Step 7

Obtain MS Teams UUID per user

  1. New PowerShell session, connect to Azure Active Directory:

    Import-Module AzureAD
    Connect-AzureAD


  2. Obtain the ObjectId per user:

    Get-AzureADUser -ObjectId "user@domain"

    Output as follows:

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


  3. Enter the ObjectId in the "MS Teams UUID" field on the PBX


Step 8

Next step: Connect the PBX to Azure so that the Graph API can be accessed:

  1. Open the URL https://portal.azure.com/, Menu -> Azure Active Directory >App Registrations
  2. New registration, name: wwcomteamsbridge
  3. Only accounts in this organisation directory
  4. Redirect URI https://pbx.examplecompany.ch/oauth/
  5. Certificates & secrets: Generate client key and save the public key under "PBX Settings"->"Teams App Key", as well as copy the App ID and save it under"Teams App id"
  6. API permissions: User.Read, Presence.Read, Presence.ReadAll
  7. Then log the PBX on to the Microsoft environment to enable presence matching:
  8. Go to https://pbx.examplecompany.ch/oauth/
  9. Enter access data
  10. Confirm access rights

Step 9

Define MS Teams status mapping via wwcommunicator:

You can find more settings options for wwcommunicator in this wiki in the section "wwcommunicator".