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
- Get-CsCdrConfiguration
https://technet.microsoft.com/de-de/library/gg398298.aspx - Set-CsCdrConfiguration
https://technet.microsoft.com/de-DE/library/gg398774.aspx - Invoke-CsCdrDatabasePurge
https://technet.microsoft.com/de-DE/library/jj205113.aspx - List of CDR tables in Skype for Business
Server 2015
https://technet.microsoft.com/en-us/library/gg398084.aspx
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.
- How to Access data from the LcsLog and
LcsCDR databases
http://www.skypecondition.com/post/2015/05/09/how-to-access-data-from-the-lcslog-and-lcscdr-databases - Lync 2013 CDR Report – Recharge Call
Costs
http://chrishayward.co.uk/2013/07/11/lync-2013-cdr-report-recharge-call-costs/ - Lync CDR Report
http://www.ucprofessional.com/2012/01/lync-cdr-report.html - Integrating Lync 2013 Monitoring Data
and Excel using Power Pivot
https://guybachar.wordpress.com/2014/07/09/integrating-lync-2013-monitoring-data-and-excel-using-power-pivot/ - Useful OCS SQL queries
Part 1 http://hpicao.blogspot.de/2010/04/usefull-ocs-sql-queries-part-i.html
Part 2 http://hpicao.blogspot.de/2010/04/useful-ocs-sql-queries-part-ii.html - Script: Get-CsVoiceCalls.ps1 – See
Realtime Call Info From Lync Management
Shell
http://www.ehloworld.com/1179 - Monitoring OCS and Lync Peak Call
Capacity
http://www.confusedamused.com/notebook/monitoring-ocs-and-lync-peak-call-capacity/ - Call Accounting
https://ucgeek.co/call-accounting/
https://gallery.technet.microsoft.com/Lync-Call-Accounting-dd28ca5d - Lync Call Report using SQL Query
http://mslyncforall.blogspot.de/2015/03/lync-call-report-using-sql-query.html - How to Create a Custom Monitoring Report
in Skype for Business (and Lync Server)
http://lyncinsider.com/lync-server-2013/how-to-create-a-custom-monitoring-report-in-skype-for-business-and-lync-server/
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.
-
Audiocodes CDR
Meldet CDR-Vorgänge per SYSLOG an einen konfigurierbaren Host - Lync 2013 Audio Gateway Debug Logging
(Ferrari, AudioCodes, Dialogic, NET Quintum)
http://lyncuc.blogspot.de/2013/09/lync-2013-audio-gateway-debug-logging.html - Call Detail Record (CDR) Format
https://support.sonus.net/display/SBXDOC40/Call+Detail+Record+(CDR)+Format - Configuration Guide für Acme Packet SBC
Local CDRs & SFTP CDR Push
http://transnexus.com/resources/white-papers/configuration-guide-acme-packet-sbc-local-cdrs-sftp-cdr-push/ - Andere Gateways
Für andere Hersteller habe ich (noch) keine entsprechende Seite gefunden. Ich bin aber sicher, dass jedes ernstzunehmendes Gateway oder SBC eine entsprechende Funktion vorweisen kann.
Weitere Links
- List of CDR tables in Skype for Business
Server 2015
https://technet.microsoft.com/en-us/library/gg398084.aspx - Monitoring Lync 2013 with MRTG
https://www.matthewproctor.com/index.php/monitoring-lync-2013-mrtg
Verwendet die SQL-Datenbank für andere Auswertungen - How to Get the Last Time a User
Registered with a Front End
http://blogs.technet.com/b/dodeitte/archive/2011/05/11/how-to-get-the-last-time-a-User-registered-with-a-front-end.aspx - Call Accounting
https://ucgeek.co/call-accounting/