Co je to CDR (Call Detail Record)?
Call Detail Record (CDR) je záznam metadat o telefonním hovoru, který generuje telefonní ústředna (v tomto případě Asterisk). Každý hovor vygeneruje jeden nebo více CDR záznamů, které obsahují klíčové informace o tom, kdo volal, kam volal, kdy hovor začal, jak dlouho trval a jak skončil.
Tato data jsou naprosto zásadní pro účtování (billing), monitorování provozu, reportování, statistiky a zpětnou analýzu problémů s hovory. Asterisk ukládá tyto záznamy typicky do databáze (MySQL, PostgreSQL) nebo do CSV souborů.
Přehled hlavních parametrů CDR
Následující tabulka popisuje standardní pole, která se v Asterisk CDR záznamech vyskytují, podle oficiální specifikace.
| Parametr (Pole) | Popis | Příklad / Poznámka |
|---|---|---|
| accountcode | Účetní kód přiřazený kanálu "Party A". | billing_ID_123 |
| src | Zdrojové číslo (Source) – telefonní číslo volajícího ("Party A"). | 1001 nebo 777123456 |
| dst | Cílové číslo (Destination) – volané číslo. | 2002 nebo 800123456 |
| dcontext | Cílový kontext (Destination Context) – část dialplánu, ve které byl hovor zpracován. | from-internal, public-out |
| clid | Caller ID – kompletní informace o volajícím, včetně jména. | "Jan Novak" <1001> |
| channel | Zdrojový kanál – technologie a jméno kanálu "Party A". | PJSIP/1001-0000a1b2 |
| dstchannel | Cílový kanál – kanál "Party B", který hovor přijal (pokud byl spojen). | PJSIP/2002-0000a1b3 |
| lastapp | Poslední aplikace – poslední příkaz dialplánu, který se na kanálu "Party A" vykonal. | Dial, Voicemail, Hangup |
| lastdata | Data poslední aplikace – parametry, se kterými byla poslední aplikace volána. | PJSIP/2002,,T |
| start | Čas vytvoření CDR (začátek). | 2025-11-17 10:30:01 |
| answer | Čas přijetí – kdy byl hovor reálně zvednut (Party B odpověděla). | 2025-11-17 10:30:05 |
| end | Čas konce – kdy byl CDR finalizován (hovor ukončen). | 2025-11-17 10:32:15 |
| duration | Doba trvání (celková) – celkový čas v sekundách (`end` - `start`). Zahrnuje i dobu vyzvánění. | 134 (sekund) |
| billsec | Doba trvání (účtovaná) – celkový čas v sekundách (`end` - `answer`). Reálná doba hovoru. | 130 (sekund) |
| disposition | Stav hovoru – nejdůležitější pole pro reportování. Říká, jak hovor dopadl. | ANSWERED, NO ANSWER, BUSY, FAILED |
| amaflags | Příznaky AMA (Automated Message Accounting) – jak se má hovor účtovat. | DEFAULT, BILL, IGNORE |
| userfield | Uživatelské pole – lze sem uložit vlastní data pro pozdější reportování. | VIP_Customer |
| uniqueid | Unikátní ID kanálu "Party A". | 1678886401.123 |
| linkedid | Unikátní ID, které spojuje více CDR záznamů dohromady (např. při přepojení, frontách). Klíčové pro analýzu složitých hovorů. | 1678886401.123 |
| peeraccount | Účetní kód přiřazený kanálu "Party B". | billing_ID_456 |
| sequence | Pořadové číslo. V kombinaci s `uniqueid` a `linkedid` pomáhá unikátně identifikovat CDR záznam. | 34 |
Základ pro statistiky
Jak je vidět z parametrů, CDR záznamy jsou surovým zdrojem dat. Teprve jejich zpracováním, filtrováním a agregací (např. v databázi) vznikají užitečné statistiky, které vidíte na stránce "Statistiky hovorů".
Nejdůležitějšími poli pro analýzu jsou typicky disposition (pro zjištění úspěšnosti), billsec (pro délku hovorů) a src/dst (pro analýzu provozu).