Skip to content

Storage

Explain the storage tiers in Get2Dial and which kind of data belongs in each.

Tier Backend Holds
Relational PostgreSQL/TimescaleDB Tenancy, config, leads, CDRs (hypertable), audit
In-memory Redis Call context, dialer pacing, agent presence
Object MinIO Audio-library assets, voicemail, recordings

Choosing the right tier keeps the database lean, the call path fast, and large binaries out of rows.

Each tier is configured by its own environment variables — see the linked pages.

A call recording spans two tiers: the metadata (tenant, campaign, agent, disposition) lands in the cdr row, and the audio file is written to MinIO. The CDR’s recording_url holds the edge-local path while recording_status is recorded, then the MinIO location once it flips to uploaded.

  • Never store large binaries in PostgreSQL — use object storage and reference it by object key.
  • Keep ephemeral data out of the durable tier so restarts stay cheap.