Skip to content

Audio Library

Describe the audio library: reusable audio assets stored centrally and synced to the edge for playback.

The audio library (audio_assets, migration 052) holds reusable audio — categories voicemail, greeting, ivr, music, prompt, other. Bytes live in MinIO under tenants/<tenant_id>/audio-library/<object>; the row records object_key, content_sha256, size_bytes, duration_ms and mime.

The content_sha256 is the edge change-detection key: when the audio changes, the hash changes, bumping the per-tenant media manifest so each edge re-pulls just that object. FreeSWITCH then plays it from the local EDGE_MEDIA_ROOT.

Requires MinIO on the control plane (otherwise the library is disabled). A campaign references a voicemail-drop asset via campaigns.voicemail_audio_asset_id; the resolved edge-local path the dialer actually plays is campaigns.voicemail_audio_url.

Terminal window
EDGE_MEDIA_ROOT=/var/lib/get2dial/media # must match on control plane and edge

An operator uploads a voicemail-drop WAV to the library; it syncs to the tenant edge, and when the dialer detects an answering machine (AMD = machine) the call engine plays that asset and records a voicemail disposition.

  • Asset names are unique per tenant (case-insensitive) among non-deleted assets.
  • Deleting an asset still referenced by a campaign breaks playback — check usage first.