Damit die HPBX mit Teams gekoppelt werden kann, ist es notwendig, dass die HPBX die selbe Domain, wie die Office365-User verwendet. 



Schritt 1

Erstellen Sie folgende DNS-Einträge für Ihre Domain. 

Als Beispiel: ihredomain.ch

[SRV-Eintrag1]
Host: _sip._tls 
Type: SRV
Priority: 100
Weight: 1
Port: 443
Target: sipdir.online.lync.com

[SRV-Eintrag2]
Host: _sipfederationtls._tcp 
Type: SRV
Priority: 100
Weight: 1
Port: 5061
Target: sipfed.online.lync.com

[CNAME-Record]
Host: HOSTNAME_DER_PBX 
Target: BESTEHENDER_FQDN_DER_PBX (beispiel.vpbx.nexphone.ch)

[CNAME-Record]
Host: lyncdiscover 
Target: webdir.online.lync.com

[CNAME-Record]
Host: sip 
Target: sipdir.online.lync.com



Schritt 2





Schritt 3



  • Auf der HPBX einloggen und den Menü-Punkt "PBX Einstellungen" öffnen

  • in das Feld "Domain" ihre Domain "ihredomain.ch" eintragen, Damit das Feld der Hostname/Domain erscheint, muss zuerst Schritt 4 durchgeführt werden 
    (Teams Kompatibilitätsmodus aktivieren)
  • speichern und anschliessend die PBX rebooten




Schritt 4



  • nach dem neustart der PBX den Teams-Kompatibilitätsmodus einschalten
    (wichtig ist, dass "TLS zulassen" und "SRTP zulassen" eingeschaltet sind)
  • anschliessend nochmals rebooten



Schritt 5

  • 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@ihredomain.ch heisst, so muss der Benutzer auf der PBX hans.beispiel heissen.

  • 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

    Nummerformat:
     International mit +


Schritt 6    

Voraussetzung ist ein installiertes Teams-Modul in Ihrer Powershell.

Sollten Sie dieses Modul noch nicht installiert haben, kann dies mit folgenden Schritten installiert werden:

  1. Powershell als Administrator öffnen
  2. führen Sie folgenden Befehl aus:

    Install-Module MicrosoftTeams
  3. folgen Sie den Anweisungen in der Konsole




Um sich mit dem Teams Server zu verbinden, führen Sie bitte folgende Schritte aus:

  1. Powershell als Administrator öffnen
  2. führen Sie folgenden Befehl aus:

    Connect-MicrosoftTeams -Credential $credential
  3. Sie werden anschiessend zu Ihrem Standart Browser geleitet um sich anzumelden
  4. Sobald die Registrierung abgeschlossen ist, erhalten Sie eine Ausgabe wie das nachfolgende Beispiel: 

    PS C:\Users\maxmeier> Connect-MicrosoftTeams -Credential $credential
    
    Account                           Environment Tenant                               TenantId
    -------                           ----------- ------                               --------
    max.meier@nexphone.ch AzureCloud  b993b72a-db0f-5gh2-9de1-de336773196d b993b72a-db0f-4fea-9de1-de336773196d




Schritt 7

Gateway erstellen und Direct Routing Service verbinden:

Ersetzen Sie MSTEAMS_URL im nachfolgenden Befehl durch die Domain der PBX.

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

Anschliessend werden Sie nach dem Port gefragt.

Die PBX verwendet den Port 5061 für MS Teams.


image2020-2-18_16-52-58.png

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

Get-CsOnlinePSTNGateway

image2020-2-18_16-58-32.png


Schritt 8

Voice Routing einrichten

  1. PSTN-Usage erstellen

    Set-CsOnlinePstnUsage -Identity Global -Usage @{Add="HPBXRoute"}
  2. Route erstellen

    Ersetzen Sie MSTEAMS_URL im nachfolgenden Befehl durch die URL der PBX.

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


  3. Mit dem folgenden Befehl kann die erstellte Route überprüft werden

    Get-CsOnlineVoiceRoute



image2020-2-18_17-2-39.png


Schritt 9

Routing Policy einrichten

  1. User-Routing-Policy erstellen

    New-CsOnlineVoiceRoutingPolicy "HPBXRoute" -OnlinePstnUsages "HPBXRoute"


  2. Mit dem folgenden Befehl kann die erstellte User-Routing-Policy überprüft werden

    Get-CsOnlineVoiceRoutingPolicy

image2020-2-18_17-4-13.png


Schritt 10

Benutzer aktivieren

(Die nachfolgenden beiden Befehle sind für jeden Office365-User durchzuführen)


  1. Aktivierung des Telefonsystems auf dem Benutzer, sowie Zuweisung einer Telefonnummer und der Voicemail Box 

    OFFICE365_USER = Username des Office 365-Accounts (zBsp: hans.beispiel@ihredomain.ch)
    RUFNUMMER = Rufnummer, welche auf dem PBX-User definiert wurde im internationalen Format (zBsp: +41445454088 )


    Ersetzen Sie diese Platzhalter im nachfolgenden Befehl durch die jeweiligen korrekten Angaben.

    Set-CsPhoneNumberAssignment -Identity OFFICE365_USER -PhoneNumber +41xxxxxxxxx -PhoneNumberType DirectRouting 
  2. Zuweisung der User-Routing-Policy

    OFFICE365_USER = Username des Office 365-Accounts (zBsp: hans.beispiel@ihredomain.ch)



    Ersetzen Sie diesen Platzhalter im nachfolgenden Befehl durch Ihre Angaben.

    Grant-CsOnlineVoiceRoutingPolicy -Identity OFFICE365_USER -PolicyName "HPBXRoute"

image2020-2-18_17-7-2.png


Nach dem Aktivieren eines Benutzers und dem Zuweisen der Nummer sowie der Policy kann es bis zu 24 Stunden dauern, bis das Wählfeld beim Benutzer im MS Teams Client erschtlich wird. Dennoch kann dieser bereits nach gut 15 Minuten die ersten Anrufe empfangen.



Schritt 11

MS Teams UUID pro Benutzer auslesen


  1. die UUID (ObjectID) des jeweiligen Users auslesen

    OFFICE365_USER = Username des Office 365-Accounts (zBsp: hans.beispiel@ihredomain.ch)

    Get-CsOnlineuser -Identity "OFFICE365_USER" | Out-String -stream | Select-String -Pattern "ObjectId"


    Ausgabe wie folgt:

    ObjectId                             : abcabcab-abca-abca-abca-abcabcabcabc 
  2. Anschliessend die ObjectId beim jeweiligen User auf der PBX im Feld "MS Teams UUID" eintragen


Schritt 12

PBX an Azure anbinden, damit die Graph API angesteuert werden kann

  1. Die URL https://portal.azure.com/ öffnen und zu folgendem Menü-Punkt wechseln:
    -> Azure Active Directory >App-Registrierungen
  2. Neue Registrierung, Name: wwcomteamsbridge
    1. Nur Konten in diesem Organisationsverzeichnis
    2. Umleitungs-URI: https://pbx.ihrdomain.ch/oauth/

PBX an Azure anmelden

  1. Zertifikate & Geheimnisse öffnen
  2. Clientschlüssel erzeugen und den öffentlichen Schlüssel (Wert) im Webzugang Ihrer PBX unter "PBX Einstellungen"->"Teams App Key" speichern
  3. sowie die App ID kopieren und unter "Teams App id" speichern


(API-Berechtigungen: User.Read, Presence.Read, Presence.ReadAll)






Danach die PBX an der Microsoft Umgebung anmelden, damit ein Presence-Abgleich ermöglicht wird:

  1. https://pbx.ihredomain.ch/oauth/ aufrufen
  2. Zugangsdaten eines berechtigten Users eingeben
  3. Zugriffsrechte bestätigen




Schritt 13


MS Teams Status-Mapping zu den CTI-Status definieren:

(Im Normalfall sind die Default-Einstellungen bereits korrekt)


*Schritt 13 kann vorerst nur durch Nexphone angepasst werden.

status-mapping.png