Lync Presence

Bei OCS war es noch relativ einfach: Es gab einige vordefinierte Präsenz-Zustände und man konnte eigene Zustände per XML-Datei addieren. Aber es war eigentlich nicht möglich, den Status bei einer Suche ein der GAL zu verbergen.

Das hat wohl eher ein paar Kunden denn Microsoft gestört, die dieses "Standardverhalten" wohl lieber anders gehabt hätten. Datenschutz ist durchaus ein Thema. Wobei ich nicht sicher bin, ob das auch jemand mal bei den Komforttelefonen mit den vielen Belegt-Leuchten nachgefragt hat. Hier am Beispiel eines sogar gesondert erweiterbaren Modul für die Siemens "Optiset"-Serien.

Ich weiß nicht, ob ich als Teilnehmer bestimmten, kann wer meinen Status bei sich als Kurztaste hinterlegen und anzeigen lassen kann. Nichts anderes ist Lync. Microsoft hat aber wohl auch deswegen eine Funktion "Enhanced Privacy" addiert.

Manueller Status: Grün, Rot, Dunkelrot, Grau

Schon wenn Sie den Lync Client starten und erste Personen zu ihren Kontakten hinzufügen oder Personen suchen, sehen sie den Status in verschiedenen Farben. Sie könne auch ihren eigenen Status setzen.

Diesen sehen dann ihre Kollegen und können sich entsprechend verhalten. Wie genau jemand einen Status interpretiert, ist natürlich sehr stark personenabhängig. Sie selbst sollten ein gesundes Maß bei der Festlegung ihres eigenen Status anwenden. Wenn sie andauernd auf "Nicht stören" oder gar abgemeldet sind, dann wird das System genauso unbrauchbar als wenn sie immer "grün" sind. Das freut ihre Kollegen aber ihre eigene Arbeitsleistung kann darunter leiden. Hier meine persönliche Definition, wie ich meinen Status verstanden sehen möchte und wie ich den Status anderer Personen respektiere

  • Verfügbar: Grün
    Ich interpretiere GRÜN als "Kommunikationsbereit", d.h. ich kann angesprochen werden bzw. "grüne" Kommunikationspartner kann ich einfach per IM ansprechen. Ich versuche aber in der ersten IM gleich das Thema und die Frage zu platzieren. Es kann ja sein, das jemand irrtümlich "Grün" ist. Dann kann er schon an der ersten Frage erkennen, worum es geht und ob er sich die Zeit jetzt nehmen kann oder ein "Später" zurück sendet, was ich dann auch akzeptiere. Ich kann ja dann immer noch eine Mail in Langform schreiben, wenn ich mein Anliegen nicht vergessen will.
  • Nicht Stören
    Dies ist ein Blocker der nicht nur anzeigt, dass ich meine Ruhe brauche (z.B.: für Vorträge, Planungen, Kundenmeetings) sondern damit werden auch Anrufe an mich direkt auf die Voicemail geleitet. Nur Teammitglieder können mit per IM erreichen, wenn es wirklich wichtig ist.
  • Beschäftigt
    Dies ist kein einfacher Status, da er nicht genau aussagt, ob der Kommunikationspartner gestört werden kann. Gerade bei Federation kann Busy nämlich auch "am Telefon" oder "Meeting" bedeuten, was aber abhängig von dem Zugriffslevel nur sichtbar ist. Aber es ist kein DND, d.h. wenn jemand eine kurze Frage hat, die vielleicht mit Ja/Nein zu beantworten ist, dann sehe ich eine IM als "erlaubt" an. Aber meist vermeide ich dennoch eine Störung und sende eine Mail.
  • Gelber Status
    Damit kann ich z.B. aktiv mich auf "Pause" setzen, oder wenn ich abends oder am Wochenende online bin, kann ich so jedem zeigen, dass ich prinzipiell erreichbar bin, aber eigentlich gerade nicht arbeite. Während normaler Werktage kann das auch bedeuten, dann ich zwar arbeite aber eben nicht am PC. d.h. ich stehe vielleicht an einem Flipchart oder arbeite auf einem Server o.ä., so dass Lync das nicht erkennen kann.

Übrigens sollten Sie immer bedenken, dass ohne den Lync-Status jemand keinen Hinweis auf die Kommunikationsbereitschaft hat. Im Fall eines Telefons heißt das dann einfach "anrufen", was sicher deutlich störender sein kann.

Automatische Statuswechsel: Telefon, Meeting, Inaktiv und Abwesend

Sie werden aber auch feststellen, dass ihre Kollegen den ein oder anderen Status haben und dass sich ihr Status auch mal alleine ändert. Der Lync Client versucht möglichst alle Quellen anzuzapfen, um einen akkuraten Status zu liefern. Erste Quelle ist ist natürlich Lync selbst. Wer mit Lync telefoniert kann so den Status "ROT:Am Telefon" bekommen. Wer mit dem PC eine Präsentation hält oder ein Meeting im Outlook Kalender stehen hat, wird auch ein "Im Meeting" publizieren. Auch hier aber nur gemäß der Zugriffslevel

Interessant sind hier noch die Zustände zu "Inaktiv" und Abwesend. Immer wenn der Lync Client keine Aktivitäten mehr am PC feststellt, geht er davon aus, das der Mitarbeiter nicht mehr am Platz ist und zumindest nicht sofort eine Kurzmitteilung oder andere Anfrage "sehen" wird

Sie können von einem Status "Gelb" nicht sicher darauf schließen ob jemand arbeitet oder nicht. das mag für Callcenter-Agenten noch stimmen aber die meisten Arbeitsplätze sind keine 100% "PC-Arbeiter".

Die Einstellung dieser Intervalle kann der Anwender selbst vornehmen.

Beim Default wird also nach 5 Minuten der Status auf "inaktiv" gesetzt und wenn dann der zweite Counter (ebenfalls 5 Min) abgelaufen ist, wird der Status auf "Abwesend" gestellt. Diese Werte kann der Anwender ändern. Sie sehen in der Registrierung, so dass Sie auch per Skript oder GPO geändert werden können. 

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Communicator]
"IdleThreshold"=dword:00000005
"AwayThreshold"=dword:00000005

Beachten Sie aber, dass die Werte in Minuten sind und im Bereich von 5-360 sich bewegen. Niedrigere Werte werden vom Lync Client auf 5 Min angehoben nud höhere Werte auf 360Min reduziert.

Es ist meines Wissens nicht möglich, diese umschaltung auf "Inaktiv/Abwesend" komplett zu deaktivieren.

Custom Presence

Neben den vordefinierten Präsenzstatuskann ein Anwender oder eine Software noch eigene Statusmeldungen als Text senden und übermitteln. Technisch sieht man im SIP-Verkehr dann ein NOTIFY, der je nach Anzahl der Sprachen auch lang sein kann. (SIP-Paket eines Kunden, der "Klingeln" mit den Bressner Tools implementiert hat)

Data Received -80.66.20.22:443 (To Local Address: 192.168.0.137:2964) 5973 bytes:
NOTIFY sip:79.236.235.17:2964;transport=tls;ms-opaque=14183f964c;ms-received-cid=5285D00;grid SIP/2.0
ms-user-logon-data: RemoteUser
To: <sip:frank.carius@netatwork.de>;tag=0697590648;epid=2385f4c267
Content-Length: 4227
From: <sip:user@msxfaq.net>;tag=5C440080
CSeq: 4 NOTIFY
Require: eventlist
Content-Type: application/msrtc-event-categories+xml
Event: presence
subscription-state: active;expires=34454
Supported: ms-dialog-route-set-update

<categories xmlns="http://schemas.microsoft.com/2006/09/sip/categories" uri="sip:user@msxfaq.net">
  <category xmlns="http://schemas.microsoft.com/2006/09/sip/categories" name="state" instance="1" publishTime="2013-08-27T10:00:46.077">
    <state xsi:type="aggregateState" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2006/09/sip/state">
      <availability>6500</availability>
      <activity token="Ringing">
        <custom LCID="1033" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Ringing</custom>
        <custom LCID="1031" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Klingeln</custom>
        <custom LCID="1036" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Sonne</custom>
        <custom LCID="2060" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Sonne</custom>
        <custom LCID="3084" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Sonne</custom>
        <custom LCID="1043" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Rinkelt</custom>
        <custom LCID="2067" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Rinkelt</custom>
        <custom LCID="1040" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Chiamata</custom>
        <custom LCID="2064" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Chiamata</custom>
        <custom LCID="2070" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Tocando</custom>
        <custom LCID="1046" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Tocando</custom>
        <custom LCID="3082" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="1034" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="11274" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="16394" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="13322" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="9226" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="5130" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="7178" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="12298" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="17418" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="4106" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="18442" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="22538" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="2058" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="19466" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="6154" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="15370" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="10250" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="20490" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="21514" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="14346" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="8202" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Timbrado</custom>
        <custom LCID="1030" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Ringend</custom>
        <custom LCID="1038" xmlns="http://schemas.microsoft.com/2006/09/sip/state">Csengõ</custom>
        <custom LCID="2042" xmlns="http://schemas.microsoft.com/2006/09/sip/state">铃声中</custom>
        <custom LCID="4100" xmlns="http://schemas.microsoft.com/2006/09/sip/state">铃声中</custom>
      </activity>
      <delimiter xmlns="http://schemas.microsoft.com/2006/09/sip/commontypes" />
      <timeZoneBias>-120</timeZoneBias>
      <timeZoneName>Mitteleuropäische Sommerzeit</timeZoneName>
      <timeZoneAbbreviation>Mitteleuropäische Sommerzeit</timeZoneAbbreviation>
      <device>computer</device>
      <end xmlns="http://schemas.microsoft.com/2006/09/sip/commontypes" />
    </state>
  </category>
</categories>

Das ist alles ganz nett aber fast 6Kbyte für dieses kurzfristige Zusatzinformation zu verwenden ist schon etwas überzogen. Sie können dies ja mal hochrechnen, wenn eine Firma mit 10.000 Personen jeder pro Stunde vielleicht 4 Telefonate bekommt., dann werden 40.000 * 6k = 234 Megabyte zusätzlich umgeschlagen, die durch den Frontend aber im schlimmsten Fall auch noch über WAN-Verbindungen gehen.

Wer die Funktion nutzen will, kann einfach eine XML-Datei mit entsprechenden Informationen bereit stellen und dem Client per Gruppenrichtlinie oder Lync 2010/2013 Client Policy zuweisen

New-CsClientPolicy `
   -Identity ContosoCustomStates `
   -CustomStateURL "https://lspool.msxfaq/ClientConfigFolder/CustomPresence.xml"

Die Serverrichtlinie überstimmt seit Lync 2010 eine lokale Gruppenrichtlinie.

Zeitanzeige bei Gelb

Lync hat eine weitere Funktion die aus meiner Sicht ganz nützlich ist, aber andere vielleicht kritisch sehen: Wenn der Lync Client den Status des Anwenders aufgrund mangelnder Nutzung des PCs (was nicht mit untätigkeit zu verwechseln ist) ändert, dann addiert. der Lync Server nach einiger Zeit eine Zeitanzeige.

Diese Funktion kann seit dem Lync Update April 2012 auf dem Server zentral deaktiviert werden. Die Pflege dieser Zeit obliegt dem Prozess "Rtcaggregate.exe", welcher über eine CONFIG-Datei gesteuert wird. Sie liegt in folgendem Pfad:

%Installation Folder%\Microsoft Lync Server 2010\Server\Core\Rtcaggregate.exe.config

Folgender Inhalt deaktiviert die Zeitermittlung

<configuration>
    <appSettings>
      <add key="PublishLastActive" value="false" />
    </appSettings>
</configuration>

Als Offline anzeigen

Es gibt durchaus auch in Lync die Möglichkeit, sich anzumelden aber für die anderen Teilnehmer als "offline" angezeigt zu werden. Das kann man als Anwender einfach dadurch erreichen, dass man alle anderen Teilnehmer auf "Blocked" setzt. Aber das ist natürlich Handarbeit und keine temporäre Lösung.

Es gibt aber auch die Funktion als "Offline" sich anzumelden, auch wenn diese "Tarnkappenmode" sicher nicht der Kommunikation förderlich ist. Ich kann mir aber dennoch vorstellen, dass es seltene Fälle gibt, z.B. wenn ich unterwegs bin und nur mal schnell online gehen möchte um selbst aktiv zu werden. Da Kommunikationspartner ach auch über eine StatusÄnderung informieren lassen können, besteht dabei dann schon das Risiko, dass mich quasi alle gleich "kontaktieren". Das möchte ich vielleicht nicht, wenn ich im Zug sitze oder abends noch eine Servicearbeit durchführe und meine Kollegen auf der anderen Seite des Globus dies nicht sehen sollen.

Der Eintrag kann in einer Registrierung per Gruppenrichtlinie gesetzt werden.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Communicator]
"EnableAppearOffline"=dword:00000001

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Lync]
"EnableAppearOffline"=dword:00000001

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\15.0\Lync]
"EnableAppearOffline"=dword:00000001

In Lync 2013 ist die Einstellung auch per Client Policy möglich. Dann allerdings erst, wenn sich der Benutzer angemeldet hat und nicht schon bei der Anmeldung.

Get-CSClientPolicy`| Set-CSClientPolicy -EnableAppearOffline $true

Sobald die Einstellungen greifen, kann der Anwender den neuen "Offline"-Status auswählen:

Beachten Sie aber die "Auswirkungen" auf den Einsatz von Lync, wenn viele Personen diese Funktion falsch verstehen und am Ende quasi niemand mehr "online" erscheint. Dann haben Sie nichts gewonnen, weil der Status dann keine Aussagekraft mehr hat und die Personen dann eben wieder "Blind" den Kontakt aufbauen.

Location

Sicher ist die "911"-Regelung in den uSA ein Kriterium, dass ein Client auch seinen "Ort" mitgeben ,muss. Mit dem Location Information Service (LIS) hat Microsoft hier die Basis geschaffen, dass auch ein Lync-Anwender "geortet" werden kann und die Notrufzentrale eine möglichst zutreffende Ortsbeschreibung bekommt.

Aber auch ohne diese zentrale Datenbank kann ein Anwender selbst bis zu 10 "Standorte" pflegen, die der Lync-Client lokal speichert

Die Informationen über die 10 Standorte liegen in einer Datei "PersonalLISDB.cache" im Benutzerprofil. Bei mir ist das:

C:\Users\fcarius\AppData\Local\Microsoft\Communicator\sip_frank.carius@netatwork.de\PersonalLISDB.cache

Interessant ist, dass Lync nur nur die letzten 10 manuell gepflegten Einträge speichert, sondern auch die MAC-Adresse des Default Gateways. Wer also mit seinem Lync Client zwischen verschiedenen Netzwerken hin und her wechselt, muss diesen Standort nicht manuell umstellen.

In Verbindung mit der LIS-Datenbank von Lync kann ein Administrator auf dem Server die Firmenstandorte mit Subnetzen verbinden, so dass der Lync-Client diese Informationen heran zieht. In den uSA ist das für die Lokalisierung eines Notrufs (911) wichtig.

Weitere Links