rendered paste body
[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})