Persistent Chat / GroupChat

Klassische Instant Messaging Kommunikation sind derart limitiert, dass nachträglich eingetretene Personen die vorherigen Unterhaltungen nicht sehen können. Diese Lücke kann u.a. die Funktion "Persistent Chat" (Unter Lync 2010 noch als GroupChat geführt).

Diese Funktion ist aktuell in Office 365 nicht verfügbar und selbst On-Prem sollten Sie genau abwägen, welche Funktionen anderweitig vielleicht besser umzusetzen sein. Produkte und Lösungen wie Microsoft Teams, Yammer, Office Groups, SharePoint etc. bieten ähnliche Funktionen. Gehen Sie davon aus, dass die Funktion in naher Zukunft vermutlich entfällt.

Einsatzfälle

Kurzmitteilungen zwischen Personen oder in Gruppen sind an sich eine schöne Sache. Aber es gibt Einsatzfälle, in denen die Flüchtigkeit nicht sinnvoll ist. z.B.

  • Nachträglicher Teilnehmer
    Leider kann ein Benutzer, der erst später in die IM-Konferenz hinzu kommt nicht die vorherigen Meldungen sehen.
  • Fortsetzung einer früheren Konversation
    Ist es ihnen schon passiert, das Sie eine Konversation von vor einigen Tagen gerne fortgeführt hätten aber keinen zugriff mehr darauf hatten
  • "Nachlesen"/Suchen vergangener Diskussionen
    Sicher kann jeder Anwender auch bisher in der "Conversation History" in seinem Outlook frühere Kommunikationen nachlesen. Aber das dupliziert Daten und funktioniert nur, wenn der Mitarbeiter auch Teilnehmer war. In Chatrooms können Mitarbeiter auch nach ihrer Rückkehr vom Außendienst,

Werden IM-Diskussionsrunden nun nicht mehr als klassische IM-Konferenzen gestartet, sondern über die Persistent Chat-Funktion geführt, dann sind all diese Einschränkungen nicht mehr vorhanden.

Bislang habe ich PersistentChat aber nur einmal produktiv installiert und selbst da wird es kaum genutzt. Angeblich ist diese Funktion durch den Finanzsektor forciert worden, damit Aktienhändler dort untereinander diskutieren können und sich beim Auftauchen bestimmter Schlüsselworte benachrichtigen zu lassen.

Ansicht im Client

Sobald der Administrator die Funktion PersistentChat aktiviert hat und Sie in die entsprechenden Räume eintreten könnten, sehen Sie im Client ein neues Icon:

 

Wo dann bislang die Kontakte angezeigt wurden, sehen Sie dann die Räume. Sie können als Anwender einem Raum auch "folgen". Das hat vor allem den Vorteil, dass Sie dann auch Benachrichtigungen einstellen können:

 

Wenn Sie einen Raum öffnen, werden per Default die letzten 30 Nachrichten angezeigt. Sie können aber auch weiter in die Vergangenheit zurück gehen. Ganz interessant ist die Funktion, dass ich als Lync Anwender benachrichtigt werde, wenn in einem Chatroom bestimmte Worte fallen. Angeblich war das auch der Haupteinsatzbereich in der Vergangenheit: Persistent Chat als Kommunikationsplattform bei Banken und Börsen. So konnte ein Broker schnell mitbekommen, wenn in einem Chatroom die Gerüchte über "seine" Aktienkürzel aufkommen. Persönlich kann ich das aber nicht bestätigen.

Installation

Das ganze funktioniert natürlich wieder nur mit einer SQL-Datenbank als Ablageplatz. Daher verwundert es sicher nicht, dass eine eigene SQL-Datenbank für PersistentChat über den Topologie-Builder eingerichtet werden muss. Hierbei ist mindestens ein SQL Standard Server erforderlich. Dann geht es ganz schnell:

  • Topologie Builder
    Zuerst müssen Sie im Topologie-Builder einen ChatPool anlegen.


  • SQL-Datenbank
    Ebenso muss die zugehörige SQL-Datenbank definiert werden

  • Publish
    Danach wird die geänderte Topologie veröffentlicht. Dabei legt der Topologie-Builder auch die fehlenden Datenbanken an.
  • Setup
    Und dann müssen Sie auf dem soeben angelegten Server natürlich über den Deployment Wizard auch die Programme installieren und Zertifikate binden lassen

Soweit ist das Setup natürlich einfach.

Richtlinie einstellen

Die einfachen Konfigurationen können Sie direkt im CSCP konfigurieren. Hier sollten Sie zwei Dinge tun:

  1. Passen Sie die "Global"-Policy an
    Damit steuern Sie, welche Benutzer Persistent Chat überhaupt nutzen dürfen oder eben nicht dürfen. Ich stelle hier die globale Richtlinie gerne auf "kein Persistenz Chat" ein, damit die Anwender erst einmal nicht verwirrt werden. Zudem bedarf es schon einer Unterweisung bezüglich Datenschutz, Umgangsformen etc.
  2. Policy für "andere Hälfte"
    Alle Benutzer, die nicht unter die globale Policy fallen und dementsprechende Persistent Chat nutzen dürfen, benötigen natürlich eine Richtlinie, die dies erlaubt.

Dann können Sie per Browser oder natürlich per PowerShell die Policy an die Benutzer zuweisen:

Räume verwalten

Mit den entsprechenden Berechtigungen können die entsprechenden Benutzer direkt über den Skype Client den Einsprung zur Verwaltung von PersistentChat nutzen:

Der Administrator kann verschiedene Kategorien anlegen und Funktionen damit freischalten

Entsprechende AddONs können die Funktion der Chatrooms erweitern

Verfügbarkeit

Lync Pools werden separiert und können als "Backuppool" arbeiten. Persistent Chat Pools werden "stretched" installiert mit SQL Mirroring mit Logshipping. Bis zu 8 Server können in einem Pools installiert werden, von denen aber nur max. 4 Server aktiv sein können. Lync stellt dies aber nicht selbst sicher. die zusätzlichen Server sollten einfach herunter gefahren sein. (Cold Standby)

Migration

Der Persistenz Chat Service ist "locker" an einen Pool angebunden. Technisch ist der Chat Service über einen WebSeite erreichbar und meldet sich als SIP-Benutzer am Skype for Business Pool an. Die Kommunikation zwischen dem Chat Client und dem Server erfolgt einfach per SIP. Dennoch ist es nun nicht einfach möglich dieses Chat-Konto auf einen anderen Pool zu migrieren und den bestehenden Server weiter zu verwenden.

Auch der Umzug des Chat Service von einem bestehenden alten Pool auf einen neuen Pool ist nicht mit dem Umzug eines Benutzers zu vergleichen. Der Chat Service hat ja durchaus einige Chatverläufe und die Raumkonfiguration in der SQL-Datenbank. Sie müssen hier einen neuen Chat-Service aufbauen und dann die Daten über ein Backup/Restore übernehmen.

Deinstallation

Mit Office Groups, Yammer und anderen Alternativen gibt es immer weniger Einsatzbereiche für den Persistent Chat-Service. Wer daher einen Persistent Chat-Server installiert hat, wird den vielleicht auch wieder deinstallieren wollen. Auch das sollte "geplant" vorgehen. Auf jeden Fall ist ein einfaches Runterfahren und Entfernen der Server eine dumme Idee, da damit viele Reste und Leichen bestehen bleiben könnten. Ich habe mir folgende Checkliste gebaut:

Aktion

Erledigt

Policy bei den Benutzern entfernen.

Damit Benutzer PersistentChat nutzen konnten, war eine passende Policy erforderlich. Man konnte auch die "global"-Policy ändern aber meist wurden eigene Policies angelegt, die ich bei den Benutzern erst einmal entfernen sollte.

get-csuser `
   -ResultSize unlimited `
| where { $_.PersistentChatPolicy -ne $null} `
| Grant-CsPersistentChatPolicy `
   -PolicyName $null

Policies entfernen

Im zweiten Schritte können dann die Richtlinien selbst entfernt werden. Die globale Default-Richtlinie wird so auch wieder auf den Standard zurück gesetzt

Get-CsPersistentChatPolicy | Remove-CsPersistentChatPolicy

Persistent Chat-Rolle entfernen

zuletzt entfernen Sie die Persistent Chat-Rolle "geplant" über folgende Schritte:

  1. Topologie: PersistentChat Server und Pool entfernen
    Die beginnen beim Topologie-Builder und entfernen hier die entsprechenden Zuordnungen, Server und Pools.
  2. Topologie: Publish
    Damit die Änderung greift, müssen Sie die Topologie "veröffentlichen".
  3. CMS Replikation abwarten
    Die Änderung muss von der CMS-Replikation auf alle Server, insbesondere auf die Persistent Chat-Server, repliziert werden
  4. SfB Deployment auf den PersistentChat Servern ausführen
    Wenn dann der Deployment Assistent ausgeführt wird, erkennt er die nicht mehr erforderlichen Rollen und entfernt diese.
  5. DNS-Einträge bereinigen
    In der Regel gibt es zumindest einen DNSP-Eintrag für den Persistent Chat-Pool, der nach der Deinstallation auch obsolet ist.
  6. Proxy-Veröffentlichungen/Loadbalancer/Firewall
    Auch hier könne es Einträge geben, die nun überflüssig sind.
  7. Ggfls. Endpunkte entfernen
    Wenn es keinen Persistent Chat-Server mehr in der Topologie gibt, können Sie eventuell übrig gebliebene LDAP-Einträge entfernen:
Get-CsPersistentChatEndpoint | Remove-CsPersistentChatEndpoint

Server Deprovisionierung

Zuletzt können Sie den Server noch deinstallieren, aus der Domäne entfernen und abschalten

Damit sollte dann die Episode "PersistentChat" abgeschlossen sein. 

Weitere Links