[general] static=yes writeprotect=no autofallthrough=no clearglobalvars=no priorityjumping=no [globals] CONSOLE=Console/dsp ; Console interface for demo [macro-stdexten] ; ARG1 = Tech to call ; ARG2 = Ext on tech ; ARG3 = VM on busy/no answer exten => s,1,GotoIf($[${MACROEXTEN}=${ARG2}]?a|1) exten => s,2,Dial(${ARG1}/${ARG2},20) exten => s,3,Goto(s-${DIALSTATUS},1) exten => s-NOANSWER,1,GotoIf($[${ARG3}=NONE]?3) exten => s-NOANSWER,2,Voicemail(u${ARG3}) exten => s-NOANSWER,3,Congestion(5) exten => s-NOANSWER,4,Hangup exten => s-NOANSWER,1,GotoIf($[${ARG3}=NONE]?3) exten => s-NOANSWER,2,Voicemail(b${ARG3}) exten => s-NOANSWER,3,Congestion(5) exten => s-NOANSWER,4,Hangup exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer exten => a,1,VoicemailMain(${ARG3}) ;################################### ;### Asterisk Recorder ### ;################################### [recorder-menu] exten => s,1,Answer; Answer the line exten => s,2,DigitTimeout,5; Set Digit Timeout to 5 seconds exten => s,3,ResponseTimeout,10; Set Response Timeout to 10 seconds exten => s,4,Playback(/var/lib/asterisk/sounds/recorder/recorder-welcome); Play Asterisk Recorder Welcome. exten => s,5,Read(PHRASEID|/var/lib/asterisk/sounds/recorder/recorder-enter-recording-number); Please enter the the prompt number you wish to admimister followed by # exten => s,6,Wait(1) exten => s,7,Playback(/var/lib/asterisk/sounds/recorder/recorder-current-recording) exten => s,8,Wait(1) exten => s,9,Playback(/var/lib/asterisk/sounds/recorder/recordings/${PHRASEID}) exten => s,10,Wait(1) exten => s,11,BackGround(/var/lib/asterisk/sounds/recorder/recorder-menu); Press 1 to Accept, Press 2 to review, Press 3 to re-record ;### Recording Accept ### exten => 1,1,Goto(s,5) ;### Recording review ### exten => 2,1,Wait(1) exten => 2,2,Playback(/var/lib/asterisk/sounds/recorder/recorder-current-recording) exten => 2,3,Playback(/var/lib/asterisk/sounds/recorder/recordings/${PHRASEID}) exten => 2,4,Wait(1) exten => 2,5,Goto(s,11) ;### To re-record recording press 3 ### exten => 3,1,Playback(/var/lib/asterisk/sounds/recorder/recorder-record-after-beep); Please start recordings after the beep to finish press# exten => 3,2,Wait(1); give yourself a moment to take a breath and wait for beep exten => 3,3,Record(/var/lib/asterisk/sounds/recorder/recordings/${PHRASEID}:wav) ;exten => 3,3,Record(/var/lib/asterisk/sounds/recorder/recordings/${PHRASEID}:gsm) exten => 3,4,Wait(1) exten => 3,5,Playback(/var/lib/asterisk/sounds/recorder/recorder-autoreview) exten => 3,6,Wait(1) exten => 3,7,Playback(/var/lib/asterisk/sounds/recorder/recordings/${PHRASEID}) exten => 3,8,Wait(1) exten => 3,9,Goto(s,11) exten => t,1,Hangup exten => i,1,Playback(/var/lib/asterisk/sounds/recorder/recorder-invalid-option) exten => i,2,Goto(s,2) ;### End Recorder Util ### [from-broadvoice] ; ; itls menu structure: ; ; While open, 9a - 5p: ; ; 1 = Sales ; Rings phones at ext. 401 & 402 ; No answer goes to general mailbox #100? ; ; 2 = Support ; Rings phones at ext. 501 & 502 ; No answer goes to general mailbox #100? ; ; 40x = sales phones? ; 50x = admin phones, 501 = Kenenth, 502 = Katey ; 60x = extentions are friends soft phones, John, William, others? ; ; When closed, ; ; 1 = general mailbox or hangs up if they don't press anything in 15 seconds. exten => s,1,Answer exten => s,n,Background(itlifesaver/itls-welcome-open) ; "Thanks for calling press 1 for sales, 2 for support, ..." exten => s,n,Set(TIMEOUT(digit)=3) exten => s,n,Set(TIMEOUT(response)=10) exten => t,1,Playback(sorryyourehavingtrouble) exten => t,2,Playback(goodbye) exten => t,3,Hangup exten => i,1,Playback(invalid) exten => i,1,Goto(s,1) include => internal [features] exten => 700,1,VoicemailMain exten => 700,n,Hangup exten => 888,1,Goto(recorder-menu,s,1) exten => 999,1,Goto(from-broadvoice,s,1) [internal] exten => 401,1,Macro(stdexten,SIP,401,401) exten => 402,1,Macro(stdexten,SIP,402,402) exten => 501,1,Macro(stdexten,SIP,501,501) exten => 502,1,Macro(stdexten,SIP,502,502) ;exten => 007,1,Dial(SIP/andrew@aocomputing.cjb.net,20) [macro-dialout-broadvoice] exten => s,1,dial(SIP/${ARG1}@sip.broadvoice.com,30) exten => s,2,congestion [guest] include => internal include => parkedcalls include => features [toll-free] include => guest exten => _91800NXXXXXX,1,Macro(dialout-broadvoice,${EXTEN:1}) exten => _91866NXXXXXX,1,Macro(dialout-broadvoice,${EXTEN:1}) exten => _91877NXXXXXX,1,Macro(dialout-broadvoice,${EXTEN:1}) exten => _91888NXXXXXX,1,Macro(dialout-broadvoice,${EXTEN:1}) [local] include => toll-free exten => _91703NXXXXXX,1,Macro(dialout-broadvoice,${EXTEN:1}) exten => _91571NXXXXXX,1,Macro(dialout-broadvoice,${EXTEN:1}) exten => _9NXXXXXX,1,Macro(dialout-broadvoice,1703${EXTEN:1}) [longdistance] include => local exten => _91NXXNXXXXXX,1,Macro(dialout-broadvoice,${EXTEN:1}) [international] include => longdistance exten => _9011.,1,Macro(dialout-broadvoice,${EXTEN:1})