Kompletny przewodnik po rozliczeniach na podstawie rejestru szczegółów połączeń (CDR)

Wprowadzenie

Ten przewodnik wyjaśnia strukturę rekordu rozliczeniowego (Billing) zawartego w Rejestrze Danych o Połączeniach (CDR), znajdującego się w tabeli cdrbilling, co umożliwia tworzenie paneli analitycznych (dashboardów) w Grafanie i innych narzędziach BI.

Warunki i zasady dotyczące rozliczeń

Rozliczenie dotyczy wyłącznie wychodzących uczestników zewnętrznych. Jest to koszt połączenia z uczestnikiem zewnętrznym w danym rekordzie CDR w odniesieniu do centrali PBX. Dane rozliczeniowe są przechowywane w tabeli cdrbilling, która jest połączona z nadrzędną tabelą cdroutput za pomocą pola cdr_id. Tylko odebrane połączenia CDR mogą podlegać rozliczeniu. Parametry „Call Cost” (Koszty połączeń) (zobacz: Konfiguracja interfejsu rozliczeń) muszą być poprawnie skonfigurowane, aby dane rozliczeniowe były zapisywane w tabeli cdrbilling.


W związku z tym, rozliczeniu mogą podlegać uczestnicy z następującymi parametrami CDR:

  • source_entity_type / destination_entity_type = external_line
  • source_participant_is_incoming / destination_participant_is_incoming = false
  • cdr_answered_at = NOT NULL


Funkcja Rozliczeń CDR (Call Detail Record Billing) jest niezależna od Rejestrów Danych o Połączeniach (CDR) i nie dostarcza pola z kosztem rozliczenia. Zamiast tego, koszt rozliczenia można obliczyć dla każdego uczestnika na podstawie kodu rozliczeniowego, stawki rozliczeniowej i czasu trwania rozliczenia (zobacz więcej w Praktycznych przykładach SQL).

Pola

Poniższe pola definiują i dostarczają informacji dla każdego uczestnika CDR objętego rozliczeniem.

  • cdr_id:
  • Opis: Unikalny identyfikator dla konkretnego rekordu CDR. To pole jest powiązane z polem cdr_id w nadrzędnej tabeli cdroutput.
  • Szczegóły formatu:
  • object_creation_timestamp_string: 16-znakowa, dopełniona zerami, szesnastkowa reprezentacja znacznika czasu UTC od początku epoki.
  • object_id_string: Dopełniona zerami, szesnastkowa reprezentacja automatycznie inkrementowanego licznika. Licznik jest specyficzny dla typu obiektu (CDR, call_history_id lub participant).
  • Przykład: 00000000-01db-aef6-c109-60ec0000004c
  • source(destination)_bill_code:
  • Opis: Kod rozliczeniowy uczestnika. Wartość z kolumny „Prefix” w ustawieniach „Call Costs” (Koszty połączeń) (zobacz: Konfiguracja interfejsu rozliczeń).
  • Przykład: 001; 00113; 177…
  • source(destination)_bill_rate_name:
  • Opis: Nazwa stawki rozliczeniowej uczestnika. Wartość z kolumny „Country Name” (Nazwa kraju) w ustawieniach „Call Costs” (Koszty połączeń). Zobacz: Konfiguracja interfejsu rozliczeń.
  • Przykład: United States/Canada; Germany; Australia…
  • source(destination)_bill_rate:
  • Opis: Stawka rozliczeniowa uczestnika. Wartość z kolumny „Rate” (Stawka) w ustawieniach „Call Costs” (Koszty połączeń). Zobacz: Konfiguracja interfejsu rozliczeń.
  • Przykład: 1; 1.0; 1.5; 3.0…
  • source(destination)_bill_duration:
  • Opis: Czas trwania rozliczenia dla uczestnika. Na podstawie czasu trwania rozmowy (pola cdr_answered_at, cdr_ended_at w rekordzie CDR).
  • Przykład: 00:00:30.000000 (30 sekund); 00:01:00.000000 (1 minuta)…
  • Zobacz: Interwał w PostgreSQL
  • migrated:
  • Opis: Zarezerwowane. Nieużywane.

Praktyczne przykłady SQL

Koszt uczestnika w rekordzie CDR

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;

Zastosowanie w panelu analitycznym: To zapytanie oblicza koszt rozliczenia dla obu uczestników w każdym rekordzie CDR.

Zobacz również


Ostatnia aktualizacja

Ten dokument został ostatnio zaktualizowany 15 maja 2025
https://www.3cx.pl/docs/przewodnik-cdr-billing/