Skip to content

Music on Hold Silent

Symptom: caller is on hold, in a queue, or being parked — and hears silence instead of MoH.

Most Likely Causes

  1. MoH class has no files in it.
  2. MoH class points at a directory that doesn't exist.
  3. Files in MoH class are wrong format (Asterisk needs 8kHz mono PCM WAV).
  4. Wrong MoH class assigned — extension/queue uses one that's empty.
  5. Music is set to Ring rather 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:
    sox input.mp3 -r 8000 -c 1 -e signed-integer -b 16 output.wav
    
    Re-upload the converted file.
  • 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/.