Music on Hold Silent¶
Symptom: caller is on hold, in a queue, or being parked — and hears silence instead of MoH.
Most Likely Causes¶
- MoH class has no files in it.
- MoH class points at a directory that doesn't exist.
- Files in MoH class are wrong format (Asterisk needs 8kHz mono PCM WAV).
- Wrong MoH class assigned — extension/queue uses one that's empty.
- Music is set to
Ringrather than a music class — caller hears ringback, not music.
Diagnose¶
# What classes exist and what files do they have?
asterisk -rx "moh show classes"
asterisk -rx "moh show files"
# If "files" is empty for the class in question, that's the bug.
# What's a queue using?
asterisk -rx "queue show 7000" | grep -i "music"
Fix¶
- Empty class: System Attributes → Music on Hold → click the class → upload at least one file.
- Files wrong format: convert with sox:
Re-upload the converted file.
sox input.mp3 -r 8000 -c 1 -e signed-integer -b 16 output.wav - Wrong class assigned: Group Attributes → Queues →
→ Music on Hold Class — pick a populated class. Apply Config. - Set to "Ring": change to a real class.
- After changes:
asterisk -rx "moh reload"
When to Escalate¶
moh show files lists files but caller still hears silence. Check /var/lib/asterisk/sounds/ permissions — must be asterisk:asterisk and readable. chown -R asterisk:asterisk /var/lib/asterisk/sounds/.