Call Data Records - CDR

Spätestens mit der Nutzung von "Telefonie" sollten Sie die Monitoring-Services von Skype für Business vorsehen. Mit diesen Datenbanken auf einem SQL-Server (nicht SQL Express) werden dann von den Clients Verbindungsdaten und Qualitätsdaten an den Server zur Speicherung in der Datenbank gesendet. Diese Daten können als Quelle für Qualitätsmessung aber auch für Abrechnungszwecke genutzt werden.

Datenbank

Die für das Accounting relevante Datenbank ist die LcsCDR-Datenbank, welche die erforderlichen Daten enthält. Hier gibt es eine ganze Menge an Tabelle, von denen ich eine Auswahl kurz vorstelle:

Tabelle  Inhalt

dbo.VoipDetails

Dies ist die zentrale Tabelle mit allen einzelnen Verbindungen. Allerdings können Sie schon sehen, das hier nicht die Nummern und User selbst direkt enthalten sind, sondern diese Felder Verweist auf andere Tabellen sind.

dbo.Users

Diese Tabelle enthält die Liste der Endpunkte. Das müssen nicht nur SIP-Anwender in der Firma sein, sondern können auch externe Rufnummern sein, die ja als "+495251304611@netatwork.de" hier auftauchen können.

Damit die Tabellen nicht überquellen, muss es hier natürlich auch einen "Aufräumtask" geben, der alte Einträge wieder entfernt. 

dbo.UserStatistics 

Diese Tabelle ist für CDR weniger interessant aber hilft bei der Suche nach "inaktiven" Benutzern

 

dbo.FocusJoinsAndLeaves 

Eher zufällig habe ich hier eine Tabelle gefunden, in der scheinbar alle Konferenz-Eintritte und Exits protokolliert werden

 

dbo.FileTransfers 

Eine eigene Tabelle protokolliert, welche Dateien per "Filetransfer" übertragen wurden. Die vielen temporären Namen sind Bilder, die per Zwischenablage übertragen wurden. Sie können aber auch reale Dateinamen sehen

Bei den meisten Tabellen gibt es ein Feld wie "LastModifiedTime". Über den Weg kann ein Cleanup-Prozess überalterte Einträge auch wieder entfernen.

PS C:\> Get-CsCdrConfiguration

Identity               : Global
EnableCDR              : True
EnablePurging          : True
KeepCallDetailForDays  : 90
KeepErrorReportForDays : 60
PurgeHourOfDay         : 2

Auswerteskripte

Anstatt nun ein weiteres Skript zu entwickeln, welches exemplarisch Daten extrahiert, verweise ich hier lieber auf vorhandene Projekte. Letztlich sollten Sie sich das ein oder andere Projekt anschauen um dieses weiter zu entwickeln und damit die Daten in einer für Sie geeigneten Form zu erhalten.

CDR am Trunk

Manchmal ist eine Umgebung zu klein, um einen eigenen SQL-Server mit Reporting Services zu installieren oder es stehen Datenschutz-Bedenken gegen einen Einsatz der CDR-Datenbank. Dann gibt es zumindest für "externe Gespräche" oft noch die Möglichkeit nur diese Verbindungen zu protokollieren.

Interne Verbindungen zwischen Skype für Business Clients aber auch Verbindungen per Federation zu anderen Partnern oder Skype werden so zwar nicht erfasst, aber die Kosten ja auch nicht außer etwas Bandbreite. Die meisten Gateways oder Session Border Controller können aber ebenfalls Verbindungsnachweise erfassen und zur Weiterverarbeitung bereitstellen.

Weitere Links