Leitfaden zur Abrechnung von Call Detail Records (CDR)
Einführung
In diesem Handbuch wird erläutert, wie der Call Detail Record (CDR) Billing-Datensatz (im Folgenden einfach „Billing“) innerhalb der Cdrbilling-Tabelle strukturiert ist, wodurch die Dashboard-Erstellung aus Grafana und anderen BI-Tools ermöglicht wird.
Abrechnungsbedingungen
Die Abrechnung erfolgt nur für ausgehende externe Anrufe. Dies sind die Kosten des externen Teilnehmers im jeweiligen CDR in Bezug auf die PBX. Die Abrechnung erfolgt in der Tabelle „cdrbilling“, die über das Feld „cdr_id“ mit der übergeordneten Tabelle „cdroutput“ verknüpft ist. Nur beantwortete CDRs können abgerechnet werden. Die Parameter „Anrufkosten“ (siehe Einrichten der Abrechnungsschnittstelle) müssen korrekt konfiguriert sein, damit Abrechnungsdaten in der Tabelle „cdrbilling“ gespeichert werden.
Somit können Teilnehmer mit diesen CDR-Parametern eine Abrechnung erhalten:
- source_entity_type / destination_entity_type = external_line
- source_participant_is_incoming / destination_participant_is_incoming = false
- cdr_answered_at = NOT NULL
Die Abrechnung von Call Detail Records (CDR) ist unabhängig von CDR (Call Data Records) und stellt kein Abrechnungskostenfeld bereit. Stattdessen können die Abrechnungskosten für jeden Teilnehmer anhand des Abrechnungscodes, des Abrechnungssatzes und der Abrechnungsdauer berechnet werden (siehe auch die praktischen SQL-Beispiele).
Felder
Diese Felder definieren und stellen Informationen für jeden Teilnehmer des CDR mit Abrechnung bereit.
- cdr_id:
- Beschreibung: Eine eindeutige Kennung für den jeweiligen CDR-Datensatz. Dieses Feld bezieht sich auf das Feld „cdr_id“ in der übergeordneten Tabelle „cdroutput“.
- Formatdetails:
- object_creation_timestamp_string: Eine 16-stellige, mit Nullen aufgefüllte, hexadezimale Darstellung des UTC-Zeitstempels seit der Epoche.
- object_id_string: Eine mit Nullen aufgefüllte hexadezimale Darstellung eines automatisch inkrementierten Zählers. Der Zähler ist spezifisch für den Objekttyp (CDR, call_history_id oder Teilnehmer).
- Beispiel: 00000000-01db-aef6-c109-60ec0000004c
- source(destination)_bill_code:
- Beschreibung: Abrechnungscode des Teilnehmers. Wert der Spalte "Präfix" aus den Einstellungen zu "Gesprächskosten" (siehe Konfiguration der Abrechnungsschnittstelle).
- Beispiel: 001; 00113; 177…
- source(destination)_bill_rate_name:
- Beschreibung: Name des Teilnehmertarifs. Wert der Spalte „Ländername“ aus den Einstellungen für „Gesprächskosten“. Siehe: Konfiguration der Abrechnungsschnittstelle
- Beispiel: Vereinigte Staaten/Kanada; Deutschland; Australien…
- source(destination)_bill_rate:
- Beschreibung: Teilnehmer-Abrechnungssatz. Wert der Spalte "Tarif" aus den Einstellungen für "Gesprächskosten". Siehe: Konfiguration der Abrechnungsschnittstelle
- Beispiel: 1; 1.0; 1.5; 3.0…
- source(destination)_bill_duration:
- Beschreibung: Abrechnungsdauer des Teilnehmers. Basierend auf der Gesprächsdauer (CDR-Felder cdr_answered_at, cdr_ended_at).
- Beispiel: 00:00:30.000000 (30 seconds); 00:01:00.000000 (1 minute)…
- Siehe: PostreSQL interval
- migrated:
- Description: Reserviert. Nicht verwendet
Praktische SQL-Beispiele
CDR-Teilnehmerkosten
SELECT -- all cdr fields c.*, -- all billing fields b.*, -- source participant cost b.source_bill_rate * EXTRACT(EPOCH FROM b.source_bill_duration::interval)/60 AS source_participant_bill_cost, -- destination participant cost b.destination_bill_rate * EXTRACT(EPOCH FROM b.destination_bill_duration::interval)/60 AS destination_participant_bill_cost FROM public.cdroutput AS c LEFT JOIN public.cdrbilling AS b ON b.cdr_id = c.cdr_id ORDER BY c.cdr_id;
Dashboard-Anwendung: Diese Abfrage berechnet die Abrechnungskosten für beide Teilnehmer in jedem CDR.
Weiterführende Informationen
- So verwenden Sie CDR – Call Data Records
- Komplette Anleitung zu Call Detail Record (CDR)
Letztes Update
Dieses Dokument wurde zuletzt am 26. Juni 2025 aktualisiert.
