Audio Library
Purpose
Section titled “Purpose”Describe the audio library: reusable audio assets stored centrally and synced to the edge for playback.
Overview
Section titled “Overview”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.
Configuration
Section titled “Configuration”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.
EDGE_MEDIA_ROOT=/var/lib/get2dial/media # must match on control plane and edgeExamples
Section titled “Examples”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.