Trusted Application / UCMA
Die meisten 3rd Party Produkte, die serverseitig sich an Skype for Business (On-Premises) anbinden, machen dies als "Trusted Application" bzw. Trusted Server. Der Dienst authentifiziert sich dabei mittels einem Zertifikat gegenüber den Skype for Business Servern und gilt damit als "vertrauenswürdig". Er kann sich im Auftrag der Anwender handeln und vieles mehr. Das Schnittstelle stellt Microsoft dazu UCMA (Unified Communication Managed API) bereit. Microsoft beschreibt selbst als Funktionen.
- Trusted applications are not
challenged for authentication by Skype for Business Server
2015.
- Trusted applications are not throttled by Skype for
Business Server 2015 for SIP transactions, connections, or
outgoing Voice over Internet Protocol (VoIP) calls.
- Trusted applications can impersonate any User and can join
conferences without appearing in rosters.
- Trusted applications are highly available and resilient.
Quelle:
https://msdn.microsoft.com/en-us/library/office/dn466114(v=office.16).aspx
Damit ist UCMA eine ideale Plattform für 3rd Party Produkte. Folgende Schritte sind für die Einrichtung auf einem solchen Dienstserver erforderlich:
UCMA ist nur "On-Premises" verfügbar aber nicht in Office 365
Betriebssystembasis bereitstellen
UCMA läuft auf Windows. Bitte prüfen Sie aber, dass sie eine Plattform nutzen, die sowohl von UCMA aber auch von ihrer 3rd Party Applikation unterstützt wird. Nicht immer ist das die neueste Windows Version. Microsoft hat zwar veröffentlicht, welche Voraussetzungen alle zu installieren sind aber folgen Sie diesem Artikel bitte nicht!
- Install prerequisites for Skype for
Business Server 2015
https://technet.microsoft.com/en-us/library/dn933900.aspx
Diese Anleitung installiert u.a. auch einen IIS und der ist vielleicht gar nicht erforderlich. Wenn auf dem Server nur UCMA und ihre Anwendung laufen muss, dann reicht für die Skype for Business-Komponenten das NET 3.5 Framework und die Media Foundation
Add-WindowsFeature NET-Framework-Core, Server-Media-Foundation
Allerdings kann ihre 3rd Party Applikation natürlich schon noch weitere Komponenten benötigen. Natürlich wird der Server in der Domäne zu installieren sein und eine statische IP-Adresse benötigen.
Vergessen Sie danach nicht mit Windows Update die erforderlichen oder empfohlenen Updates für NET 3.5 und andere nachinstallierte Komponenten zu installieren.
Trusted Application einrichten
Der Server oder ein Pool mit mehreren Servern muss in der Skype for Business Topologie eingerichtet werden. Das geht per GUI geführt mit dem Assistenten oder natürlich per PowerShell. Ich habe hier einmal den Weg gewählt, einen einzelnen Server per PowerShell zu addieren. Zuerst wird der Eintrag addiert und dann zu aktivieren.
New-CSTrustedApplicationpool ` -identity cc4skype.naw.ovh ` -site naw ` -registrar sfbfe01.naw.ovh Enable-cstopology get-csmanagementstorereplicationstatus
Das sieht dann in etwa so aus:
Dass diese Änderung repliziert wurde, können Sie mit Get-CSManagementStoreReplicationStatus überprüfen. Es wird wenige Minuten dauern und der neu addiert Server ist erst mal auf "false". Noch gibt es dort ja keine SQL-Datenbank
OCSCore und Local Configuration Store
Das kommt nun im nächsten Schritt, in dem Sie auf dem Server zuerst einmal das Skype for Business Basis-Setup aufrufen, welches die Core Components installiert. Dazu gehört neben der passenden VC-Runtime auch die Skype for Business PowerShell und das eigentliche Installationsprogramm. Dort müssen Sie dann zuerst den Punkt "Install Local Configuration Store" auswählen.
Damit wird eine lokale SQL-Express-Instanz und die Replikationsdienste installiert. Den "Step 2 Setup or Remove Skype for Business Server Components" müssen Sie aber nicht ausführen, wenn auf diesem Server keine weiteren Skype for Business Rollen betrieben werden. Für eine reine UCMA-Plattform ist dies nicht der Fall.
Ich habe mir angewöhnt nach Schritt 2 im Anschluss das gewünschte Skype for Business Updates gleich mit zu installieren.
Zertifikate
Ehe Sie nun neu starten, sollten Sie gleich noch ein Zertifikat für den Computer anfordern und als "Default Zertifikat" zuweisen. Auch hierbei unterstützt Sie der Assistent. (Step3). Sie sollten Sie Zeit nutzen, ihre Überwachung bezüglich der Zertifikate entsprechend zu erweitern. Irgendwann läuft auch dieses Zertifikat aus und verhindern in der Regel die fehlerfreie Funktion.
UCMA installieren
Es gibt verschiedene Versionen der UCMA. Prüfen Sie mit ihrer 3rd Party Applikation, ob Sie z.B. noch UCMA 4.0 oder schon UCMA 5.0 nutzen kann. Microsoft unterscheidet auch noch nach der reinen UCMA Runtime oder dem viel größeren UCMA SDK, welches die Runtime enthält. Wenn Sie auf dem System nicht selbst "Programmieren" wollen, dann reicht die kleinere Runtime:
Unified Communications Managed API
5.0 Runtime
https://www.microsoft.com/en-us/download/details.aspx?id=47344
Unified Communications Managed API
4.0 Runtime
https://www.microsoft.com/en-us/download/details.aspx?id=34992
Achtung:
Prüfen Sie das Skype for Business Update, welches Sie
installiert habe. So enthält CU5 (Mai 2017) einen UCMA
5-Patch.
Services im AD
Auch wenn Skype for Business die wesentliche Konfiguration im Central Management Store (Lync CMS) hinterlegt, so sind einige Daten auch weiterhin im Active Directory eingetragen. Interessant sind dabei die beiden folgenden Bereiche:
- CN=Global Services,CN=RTC Service,CN=Services,CN=Configuration,DC=contoso,DC=com
Hier finden Sie neben den SIP-Domänen auch die "Trusted Servers" - CN=Trusted Services,CN=RTC Service,CN=Services,CN=Configuration,DC=contoso,DC=com
Hier finden Sie die Trusted Services.
Die Werte können Sie sich mit ADSIEDIT o.ä. wunderbar anschauen.
Warnung
Sie sollten hier nichts manuell verändern oder löschen, ohne sich der
Auswirkungen bewusst zu sein. Die Einträge sind oft nicht atomar sondern
verweisen auf andere Objekte oder werden von anderen Objekten referenziert.
Die verschiedenen Elemente haben einige Fehler, die interessant sind
- msRTCSIP-TrustedServiceType
Kennzeichnet die Version des Servers. Wer also kein OCS mehr hat, sollte idealerweise keine Einträge mit 4 oder 3 haben. Ansonsten wurden diese vermutlich nicht korrekt migriert.- 3 = Office Communication Server 2007
- 4 = Office Communication Server 2007 R2
- 5 = Lync 2010 Server
- msRTCSIP-TrustedServiceType
String mit der Klassifizierung. Es können mehrere Einträge enthalten sein, z.B. mit den Werten- CWA
- MediationServer
- Microsoft.RTC.Chat.ChannelServer
- UCMA application
- QoE
- MRAS
- OWA - UCMA application
- msRTCSIP-TrustedServerFQDN
Hier steht dann der FQDN des Servers, der diese Applikation hosted
Weitere Links
- Lync Development
- Deploying UCMA 4.0 and UCMA 5.0
Applications in a Skype for Business Server
2015 Environment
https://msdn.microsoft.com/en-us/library/office/dn962207(v=office.16).aspx - Activating a UCMA 5.0 trusted
application
https://msdn.microsoft.com/en-us/library/office/dn466114(v=office.16).aspx - Installing, configuring & provisioning a
Skype for Business trusted application server
https://wimvanhouts.wordpress.com/2015/09/09/installing-configuring-provisioning-a-skype-for-business-trusted-application-server/ - Office Communications Server 2007 R2 Resource Kit Tool: OCS Trust Entry
http://blogs.technet.com/b/drrez/archive/2011/03/07/office-communications-server-2007-r2-resource-kit-tool-ocs-trust-entry.aspx - Office Communications Server 2007 Resource Kit Tools
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=19625
Enthält "OCSTrustEntry Tool (OCSTrustEntry.vbs) This tool can be used to manage trusted server or service entries of Microsoft Office Communications Server 2007." - Server-Based Dial-In Conferencing Components
http://technet.microsoft.com/en-us/library/dd572377(v=office.13).aspx - Communications Server 2007 Attribute
Descriptions
https://technet.microsoft.com/en-us/library/bb663647(v=office.12).aspx - http://social.technet.microsoft.com/forums/lync/en-US/c888c897-4239-4218-aaa4-23898d3ca2c7/merge-topology-wizard-fails-with-duplicate-key-sequence