exten => s,1,GotoIf($["${VMCOUNT(${ARG1})}" != "0"]?3) ; User has voicemail exten => s,n,GotoIf($["${VMCOUNT(${ARG1})}" = "0"]?4) ; User has no voicemail exten => s,n,SendText(You have voicemail messages) ; Tell user about voicemail exten => s,n,Dial(${ARG2},20,wWFotThHr) ; Ring! Ring! exten => s,n,Goto(s-${DIALSTATUS},1) ; Jump based on status... exten => s,n,Hangup() ; Just in case? exten => s-BUSY,1,Voicemail(${ARG1}@default,b) ; Busy, off to voicemail exten => s-BUSY,2,Hangup() exten => s-CHANUNAVAIL,1,Voicemail(${ARG1}@default,u) ; Channel screwed. write a macro for here exten => s-CHANUNAVAIL,2,Hangup() exten => s-CONGESTION,1,Congestion() ; Like above, write a macro for this case exten => s-CONGESTION,2,Hangup() exten => s-NOANSWER,1,Voicemail(${ARG1}@default,u) ; Out to lunch, off to voicemail exten => s-NOANSWER,2,Hangup() exten => _s-.,1,Goto(s-NOANSWER,1) ; Catch the freaks, off to voicemail