; An Extensions.conf that WORKS <---- #include "extensions-features.conf" [general] static=yes writeprotect=no autofallthrough=no [globals] CONSOLE=Console/dsp ; Console interface for demo [macro-stdexten] ; Standard extension macro ; ${ARG1} - Extension to ring ; ${ARG2} - Voicemail to box to use if any exten => s,1,Dial(${ARG1},15) exten => s,2,Goto(s-${DIALSTATUS},1) exten => s-BUSY,1,GotoIf($[${ARG2}=NONE]?3) exten => s-BUSY,2,Voicemail(b${ARG2}) exten => s-BUSY,3,Congestion(5) exten => s-BUSY,4,Hangup exten => s-NOANSWER,1,GotoIf($[${ARG2}=NONE]?3) exten => s-NOANSWER,2,Voicemail(u${ARG2}) exten => s-NOANSWER,3,Congestion(5) exten => s-NOANSWER,4,Hangup exten => _s-.,1,Goto(s-NOANSWER,1) exten => a,1,VoicemailMain(${ARG2}) exten => a,2,Hangup [local-internal] exten => 101,hint,SIP/101 exten => 101,1,Macro(stdexten,SIP/101,101) [incoming] exten => guest,1,Answer exten => guest,2,Macro(stdexten,SIP/101,101) [mainmenu] exten => fax,1,Goto(receivefax,s,1) exten => s,1,Answer exten => s,2,NoOp(Filler 1) exten => s,3,Set(iATTEMPTS=0) exten => s,4,Set(tATTEMPTS=0) exten => s,5,Background(custom/welcomemessage) exten => s,6,Background(custom/welcomepart2) exten => s,7,NoOp(Filler 2) exten => s,8,Set(TIMEOUT(digit)=3) exten => s,9,Set(TIMEOUT(response)=15) exten => h,1,Hangup exten => i,1,Set(iATTEMPTS=$[${iATTEMPTS}+1]) exten => i,2,GotoIf($[${iATTEMPTS}=4]?4]) exten => i,3,Goto(s,5) exten => i,4,Playback(custom/sorryyouarehavingtrouble) exten => i,5,Playback(custom/goodbye) exten => i,6,Hangup exten => t,1,Set(tATTEMPTS=$[${tATTEMPTS}+1]) exten => t,2,GotoIf($[${tATTEMPTS}=4]?4]) exten => t,3,Goto(s,5) exten => t,4,Playback(custom/sorryyouarehavingtrouble) exten => t,5,Playback(custom/goodbye) exten => t,6,Hangup exten => #,1,Playback(custom/goodbye) exten => #,2,Hangup exten => *86,1,VoicemailMain exten => *86,2,Hangup include => local-internal ; Let them dial internal extensions directly [outgoing] exten => _9.,1,Dial(IAX2/jnctn_outgoing/1${EXTEN:1}) [guest] include => local-internal include => features [full] include => guest include => outgoing