CDR Export
The CDR Export tool produces a gzipped CSV dump of CDR History rows matching a set of filters. Exports run asynchronously, and once Completed the file can be downloaded from the web UI or fetched by an external system via callback.
The CSV is generated by PostgreSQL using COPY, so large exports do not stream through the Rails process. Server-side storage and download routing must be configured beforehand — see CDR Export configuration.
Lifecycle
- Pending
- Created and queued; a worker will pick it up shortly.
- Completed
- CSV is ready. Download and Delete File actions become available.
- Failed
- Background job hit an unrecoverable error. Check job logs and Sentry. The export row is kept so parameters can be cloned into a new attempt.
- Deleted
- CSV file removed (via Delete File or retention cleanup). The export row stays as a historical record.
If a Callback URL is set, Yeti POSTs { "export_id": ..., "status": "Completed|Failed" } to it when the job finishes.
Creating a new export
Use the New CDR Export form (under CDR → CDR Export).
- Fields
CDR columns to include. All CDR History columns are available, plus virtual fields that resolve to human-readable names from external dictionaries:
src_country_namedst_country_namesrc_network_namedst_network_name
CSV column order follows selection order. Each new form pre-fills the most-recently-used field set.
- Callback URL
Optional. Yeti POSTs a status update here when the job finishes.
Time formatting
Controls how time_start, time_connect, time_end and other timestamp columns are rendered.
- Time format
How timestamps are rendered:
- With timezone
2025-02-03 20:21:32.118457+00— fulltimestamptz. Default.- Without timezone
2025-02-03 20:21:32.118457— cast totimestamp, no timezone suffix.- Round to seconds
2025-02-03 20:21:32— fractional seconds dropped.
- Time zone name
Optional IANA time zone (e.g.
Europe/Kyiv,UTC). When set, the export session runsSET LOCAL timezone TO ...before COPY so timestamps are emitted in that zone. Leave blank for the server default.
Filters
At least Time start gteq and one of Time start lteq / Time start lt are required.
Result file
When the job completes:
- File is named
{id}.csv.gzon disk (or{uuid}.csv.gzon download — the UUID is the stable public identifier). - First row contains column headers — humanized field names (e.g.
Src Prefix In). - CSV is sorted by
time_start DESC. rows_countis set to the number of rows written.
Download the file from the show page (Download) while in Completed state. Use Delete File to remove the CSV — the row stays for audit purposes and switches to Deleted status.