Asterisk Voicemail: Voicemail greetings (Latest Versions)
Updated guide for modern Asterisk (PJSIP era): voicemail greetings with real configs, common mistakes, and troubleshooting steps.
Voicemail greetings decide how professional your phone system feels. Most businesses lose leads not because voicemail exists, but because the greeting sounds untrustworthy, unclear, or outdated.
Asterisk supports multiple voicemail greetings: unavailable, busy, and temporary. When configured properly, callers get the right message at the right time.
This guide explains how voicemail greetings work in modern Asterisk, how to record them, where files are stored, and how to use them correctly in dialplan with PJSIP-based setups.
Types of Voicemail Greetings in Asterisk
- Unavailable Greeting (u) — played when the extension does not answer
- Busy Greeting (b) — played when the extension is busy
- Temporary Greeting (t) — played when user enables a temporary message (vacation, holiday)
- Name / Spoken Name — used by voicemail system menus
These greetings are chosen by options passed in dialplan:
Voicemail(1001@default,u), Voicemail(1001@default,b),
or Voicemail(1001@default,ut).
Where Voicemail Greetings Are Stored
Asterisk stores voicemail data in:
/var/spool/asterisk/voicemail/
Example mailbox folder:
/var/spool/asterisk/voicemail/default/1001/
Inside this folder you will see greeting files such as:
unavail.*(unavailable greeting)busy.*(busy greeting)temp.*(temporary greeting)name.*(spoken name)
How Users Record Greetings (Using VoiceMailMain)
The standard way to manage greetings is through the voicemail menu:
VoiceMailMain()
Example dialplan for voicemail access number 500:
[from-internal]
exten => 500,1,Answer()
same => n,VoiceMailMain(@default)
same => n,Hangup()
Steps for the user:
- Dial 500
- Enter mailbox number (1001)
- Enter PIN
- Choose greeting options (record / listen / change)
Using Correct Greeting Type in Dialplan (Best Practice)
The dialplan should select greeting based on ${DIALSTATUS}.
[from-trunk]
exten => s,1,Answer()
same => n,Set(AGENT=1001)
same => n,Dial(PJSIP/${AGENT},20)
same => n,GotoIf($["${DIALSTATUS}"="BUSY"]?vm_busy)
same => n,Goto(vm_unavail)
same => n(vm_busy),Voicemail(${AGENT}@default,b)
same => n,Hangup()
same => n(vm_unavail),Voicemail(${AGENT}@default,u)
same => n,Hangup()
This ensures callers get the right message:
- Busy greeting if agent is on another call
- Unavailable greeting if agent didn’t answer
Temporary Greetings (Vacation / Holiday Mode)
Temporary greetings are useful when:
- Office is closed due to festival/holiday
- Agent is on vacation
- Company wants a special announcement
To use temporary greeting, user records it in voicemail menu.
Dialplan can allow temp greeting using t option:
Voicemail(1001@default,ut)
Meaning:
- u = unavailable greeting
- t = if temp greeting exists, play it instead
Custom Voicemail Greetings for Business Numbers
Many businesses do not want per-agent greetings. They want a unified company greeting such as: “Thank you for calling MYLINEHUB Support…”
Best approach:
- Play a company prompt before voicemail
- Then send to agent mailbox
same => n,Playback(company-closed)
same => n,Voicemail(1001@default,u)
This creates professional branding while still capturing messages.
Audio Quality Requirements for Greetings
Voicemail greetings should be:
- Mono
- 8000 Hz sample rate (telephony)
- Clean and normalized volume
Poor greeting quality reduces trust and conversions.
Common Problems and Fixes
Greeting Not Playing
- User never recorded it
- Wrong voicemail context (default vs custom)
- Using wrong option (b vs u vs t)
Greeting Plays but Caller Cannot Hear
- RTP / NAT issue (media path broken)
- Firewall blocking UDP ports
Greeting Sounds Distorted
- Wrong codec / sample rate
- Background noise and low microphone quality
Recommended Greeting Strategy for Call Centers
- Use a consistent company greeting for professionalism
- Use busy vs unavailable greetings properly via DIALSTATUS
- Enable temporary greetings for holidays
- Forward voicemail to email inbox of team lead
This converts voicemail into a true missed-lead capture system.
Key Takeaway
Voicemail greetings are not “cosmetic”. They directly affect customer trust and lead conversion.
Use the right greeting type:
busy (b), unavailable (u),
and temporary (t).
Store and manage them through VoiceMailMain(),
and route intelligently in dialplan using DIALSTATUS.
Want to see API-driven CRM + Telecom workflows in action? Try the WhatsApp bot or explore the demos.
Comments (0)
Be the first to comment.