[macro-exten-vm] ; Call extension ${ARG1} for ${ARG2} seconds, divert to voicemail on busy or noreply exten => s,1,GotoIf(${DB(CFIM/${ARG1})}?2:3) ; Get CFIM key exten => s,2,Dial(Local/${DB(CF/${ARG1})}/n) ; Unconditional forward exten => s,3,DB(${DB(DNDStatus=DND/${ARG1}) exten => s,4,GotoIf(${DNDStatus}=YES?107:6) exten => s,5,Set(${DB(LASTCALL/${ARG1})=${CALLERIDNUM}) exten => s,6,Dial(SIP/${ARG1},${ARG2}) exten => s,7,Voicemail(u${ARG1}) exten => s,8,Playback(vm-goodbye) exten => s,9,Hangup exten => s,107,Voicemail(b${ARG1}) exten => s,108,Playback(vm-goodbye) exten => s,109,Hangup