Aktive Mitglieder einer Formellen Skype4Business Reaktionsgruppe anzeigen

Es gibt in Skype 4 Business (Lync Server wie ihn manche noch immer nennen) die Möglichkeit Reaktionsgruppen formell oder Informell zu betreiben. Reaktionsgruppen im allgemeinen sind Warteschlangen, die mehr oder weniger komplexe Telefonzentralen abbilden können.

  • Formelle Gruppen sind Gruppen, bei denen man sich manuell anmelden muss, bevor Anrufe entgegen genommen werden können.
  • Informelle Gruppen sind Gruppen, bei denen man automatisch angemeldet wird, wenn sobald man an einem beliebigen Client angemeldet ist. Das Kontrollkästchen „Angemeldet“ bei diesen Gruppen kann nicht deaktiviert werden.

Wenn man Skype4Business Gruppen „formell“ betreibt, dann wäre es oft gut zu wissen, welche User an-, bzw. abgemeldet sind. Das kann man ja einfach per SQL-Statement auf der Datenbank abfragen, wie ich hier im Netz gefunden habe. Es ist dann aber für den Helpdesk nicht wirklich praktikabel, das immer über das SQL-Managementstudio im Bedarfsfall zu machen. Ich wollte das auf einer Webplattform zur Verfügung stellen, und habe einfach mal ein kleines Beispiel mit php erstellt. Ich möchte nicht alle Reaktionsgruppen auf dem Dasboard anzeigen, da diese zu verschiedenen Abteilungen gehören, und aus Datenschutzgründen nicht jeder alle einsehen darf. Um dennoch nicht immer manuell das Script anpassen zu müssen habe ich bei der Beschreibung einen eindeutigen Bezeichner eingefügt.

Aktive Mitglieder einer Formellen Skype4Business Reaktionsgruppe anzeigen

Danach habe ich das SQL Statement von oben genannten Link genommen, und um die Spalte Discription erweitert, auf die ich jetzt filtern kann:

Aktive Mitglieder einer Formellen Skype4Business Reaktionsgruppe anzeigen

Zuerst benötige ich eine db.inc.php in der die Datenbankverbindung definiert ist. Diese Datei binde ich dann später in die Hauptdatei ein

<!--?php defined ( 'DB_HOST' ) ? null : define ( 'DB_HOST', 'S4BSERVER\RTC' ); defined ( 'DB_USER' ) ? null : define ( 'DB_USER', 'yourUser' ); defined ( 'DB_PASS' ) ? null : define ( 'DB_PASS', 'yourPassword' ); defined ( 'DB_NAME' ) ? null : define ( 'DB_NAME', 'rgsconfig' ); require_once('../class.mssql.php'); $db = new mssqldb(); $db-&gt;connect(); ?-->

In der Index.php lade ich dann die db.inc.php und über den zuvor getesteten SQL-Select hole ich mir alle Informationen. Diese werden dann im Anschluss ausgegeben. Zur Verschönerung habe ich noch den Status mit einem Bild hinterlegt, damit man sofort erkennt wer nun in einer Reaktionsgruppe aktiv ist.

<!--?php date_default_timezone_set('Europe/Vienna'); ####################### Load Database Class ################## require_once('db.inc.php'); $status = $db-&gt;select("select T1.Name, T1.Description, T3.DisplayName, T4.[State] from [rgsconfig].dbo.AgentGroups as T1 join rgsconfig.dbo.AgentGroupsToAgentsMap as T2 on T1.ID = T2.AgentGroupId join rgsconfig.dbo.Agents as T3 on T2.AgentId = T3.ID left join rgsdyn.dbo.AgentGroupSignInStates as T4 on (T2.AgentGroupId = T4.GroupId and T2.AgentId = T4.AgentId) where T4.[State] in (0,1) and T1.Description like 'Test' group by T1.Name,T1.ID,T1.Description,T3.DisplayName,T3.ID,T4.[State];"); for($i=0;$i&lt;count($status);$i++){ $exit = $status[$i]["Name"]; $old = $status[$i -1]["Name"]; ##### Status 1 = Online, Status 2 = Offline ##### if($status[$i]["State"] == "1"){ $state = "&lt;img src="online.png"&gt;"; } elseif ($status[$i]["State"] == "0"){ $state = "&lt;img src="offline.png"&gt;"; } if($exit != $old){ print "&lt;strong&gt;&lt;u&gt;".utf8_encode($status[$i]["Name"]).":&lt;/u&gt;&lt;/strong&gt;&lt;br&gt;"; } print "&amp;nbsp;&amp;nbsp;".$state."&amp;nbsp;".utf8_encode($status[$i]["DisplayName"])."&lt;br&gt;"; } ?-->

Das Ergebnis Sieht dann so aus:

Aktive Mitglieder einer Formellen Skype4Business Reaktionsgruppe anzeigen

Natürlich kann das ganze auch jederzeit visuell angepasst werden. Mit reicht es allerdings, da es „nur“ im Helpdesk Dashboard eingebunden wird.

Leave a Comment