macro-stdexten] exten => s,1,Set(extension=${ARG1}) exten => s,2,DBget(forward=EXT${extension}/FWDI) exten => s,3,GotoIf($[${forward}=NO]?DIAL|1) exten => s,4,Set(type=I) exten => s,5,Goto(fwd-${forward},1) exten => s,103,Macro(setup-extension,${extension}) exten => s,104,Goto(DIAL,1) exten => fwd-NO,1,Playback(custom/goodbye) exten => fwd-NO,n,Hangup exten => fwd-VOICEMAIL,1,DBGet(box=EXT${extension}/FWD${type}TARGET) exten => fwd-VOICEMAIL,n,DBGet(msg=EXT${extension}/FWD${type}DATA) exten => fwd-VOICEMAIL,n,Voicemail(${msg}${box}) exten => fwd-VOICEMAIL,n,Playback(custom/goodbye) exten => fwd-VOICEMAIL,n,Hangup exten => fwd-EXTENSION,1,DBGet(extension=EXT${extension}/FWD${type}TARGET) exten => fwd-EXTENSION,n,Goto(s,2) exten => fwd-EXTERNAL,1,DBGet(externalnumber=EXT${extension}/FWD${type}TARGET) exten => fwd-EXTERNAL,n,Dial(Local/${externalnuber}@full) exten => fwd-EXTERNAL,n,Playback(custom/goodbye) exten => fwd-EXTERNAL,n,Hangup exten => DIAL,1,DBGet(dnd=EXT${extension}/DND) exten => DIAL,n,GotoIf($[${dnd}=YES]?DIAL-BUSY|1) exten => DIAL,n,DBGet(tech=EXT${extension}/TECH) exten => DIAL,n,Dial(${tech}/${extension},15) exten => DIAL,n,Goto(DIAL-${DIALSTATUS},1) exten => DIAL-BUSY,1,DBGet(forward=EXT${extension}/FWDB) exten => DIAL-BUSY,2,Set(type=B) exten => DIAL-BUSY,3,Goto(fwd-${forward},1) exten => DIAL-BUSY,4,Hangup exten => DIAL-NOANSWER,1,DBGet(forward=EXT${extension}/FWDU) exten => DIAL-NOANSWER,2,Set(type=U) exten => DIAL-NOANSWER,3,Goto(fwd-${forward},1) exten => DIAL-NOANSWER,4,Hangup exten => _DIAL-.,1,Goto(DIAL-NOANSWER,1) ; Treat anything else as no answer exten => s,500,VoicemailMain(${extension}) exten => s,501,2,Hangup