How to assign a Music On Hold class to a campaign
A short walkthrough for building a Music On Hold entry in VICIdial and pointing a campaign at it so held callers hear the right audio.
Music On Hold is the audio a caller hears when they are placed on hold or parked. In VICIdial you do not paste a file path into a campaign. You build a named Music On Hold entry first, add audio files to it, and then point the campaign at that entry by name. This post walks through both halves so a held caller hears the audio you intend.
Build the Music On Hold entry
Open the Music On Hold section of the admin and click ADD A NEW MOH ENTRY. The add form is short on purpose and asks for three fields. You must set the Music On Hold ID and the Music On Hold Name or the record will not save.
- Music On Hold ID is the short, unique identifier. Use numbers only, no spaces and no punctuation, two to one hundred characters.
- Music On Hold Name is the longer descriptive label, two to two hundred fifty-five characters. It shows up as a comment in the generated config so you can recognise it later.
- Active controls whether the entry is written into the config files at all. An inactive entry is removed from them, so leave it active when you intend to use it.
Add audio files to the entry
Once the entry is saved, modify it to manage its audio. A file must already be in the audio store before you can add it here; you select the file and submit to attach it. The Rank pulldown sets the order in which files play, and the Random Order setting decides whether playback follows that order or shuffles. Set Random Order to N and the defined rank order is used.
How a hold event resolves
When a caller is held, the Dialplan looks up the Music On Hold class assigned to that context and plays the files in that entry. Changes are not instant: music on hold is rebuilt once per minute when there have been changes, so give it about a minute after editing.
flowchart TD
A["Caller put on hold"] --> B["Campaign MOH class name"]
B --> C["Lookup MOH entry"]
C --> D{"Random Order?"}
D -->|"Y"| E["Shuffle audio files"]
D -->|"N"| F["Play by Rank order"]
E --> G["Caller hears audio"]
F --> GPoint the campaign at the entry
With the entry built and active, open your Campaign settings and select your Music On Hold entry as the campaign hold music. From that point, anyone the dialer or an Agent places on hold under that campaign hears the files you ranked. If you have not yet uploaded your tracks, start with uploading hold music so the files exist in the audio store first.
Music On Hold is one piece of a larger audio story that also covers prompts, Voicemail drop clips, and synthesized TTS (text to speech) messages. The audio, voicemail, and TTS guide ties them together. When you would rather skip the conf-file plumbing entirely, VICIfast provisions a fully wired dialer in under 40 seconds, so see the plans.
About VICIfast LLC
VICIfast LLC operates a managed VICIdial hosting + BYOI service for outbound and inbound call centers. We run the dialers, the carriers, the recordings pipeline, and the compliance plumbing so operators don’t have to.
Citing this article
VICIfast Engineering. “How to assign a Music On Hold class to a campaign”. VICIfast LLC, June 27, 2026. Retrieved from https://vicifast.com/blog/how-to-assign-moh-to-campaign-vicidial
Have questions?
Related posts
You might be interested in
VICIfast newsletter
Liked this? Get the next one in your inbox.
We ship the kind of stuff you just read — concrete, numbers-first, no drip. One email when a new post goes live. Unsubscribe in one click.
Comments
No comments yet — be the first.