All pastes #52314 Raw Edit

Anonymous

public text v1 · immutable
#52314 ·published 2006-04-30 00:48 UTC
rendered paste body
 IVR Autoattendant Menu 
;-------------------------------------------------------------------
[custom-autoattend]
;timeconditions
exten => s,1,GotoIfTime(*|*|1|jan?holidays,s,1)
exten => s,n,GotoIfTime(*|*|4|jul?holidays,s,3)
exten => s,n,GotoIfTime(*|*|11|nov?holidays,s,5)
exten => s,n,GotoIfTime(*|*|24|nov?holidays,s,7)
exten => s,n,GotoIfTime(*|*|25|dec?holidays,s,9)
exten => s,n,GotoIfTime(08:00-17:00|mon-fri|*|*?normal-hours,s,1)
exten => s,n,Goto(after-hours,s,1);
;
[holidays]
; provide Holiday greeting and provide emergency access for 
; contract clients 
exten => s,1,Playback(office-closed-New-Years) ; play the office we are 
closed message
exten => s,2,Goto(holiday,s,10)
exten => s,3,Playback(office-closed-4TH-of-July) ; play the office we 
are closed message
exten => s,4,Goto(holiday,s,10)
exten => s,5,Playback(office-closed-Vetrans-Day) ; play the office we 
are closed message
exten => s,6,Goto(holiday,s,10)
exten => s,7,Playback(office-closed-Thanksgiving) ; play the office we 
are closed message
exten => s,8,Goto(holiday,s,10)
exten => s,9,Playback(office-closed-Christmas) ; play the office we are 
closed message
exten => s,10,Playback(office-hours) ; play the open hours message 
exten => s,11,Hangup
;
[normal-hours]
include => selection
include => all-exten
include => queues
;
exten => s,1,Answer
exten => s,n,Background,day-msg
exten => s,n,DigitTimeout,5
exten => s,n,ResponseTimeout,10
;
[after-hours]
include => selection
include => all-exten
include => queues
;
exten => s,1,Wait,2
exten => s,n,Answer
exten => s,n,Plaback,night-msg
;exten => s,n,Voicemail(u)
exten => s,n,Hangup
;
;-------------------------------------------------------------------
; IVR Menu 
;-------------------------------------------------------------------
[selection]
;
exten => i,1,Background(pbx-invalid)   ; "That's not valid, try again" 
exten => i,n,Wait(1) 
exten => i,n,Goto(s,9) 
;
exten = t,1,Playback(pls-wait-connect-call)
exten = t,n,Goto(operator-queue,s,1)
;
; * - directory ; not setup yet
exten => *,1,Directory,default
exten => *,2,Goto,s|1
;
; # - disconnect
exten => #,1,Playback,(vm-goodbye)
exten => #,2,Hangup
;
; 0 Operator
exten => 0,1,GotoIfTime(08:00-16:59|mon-fri|*|*?selection,0,6)
exten => 0,2,GotoIf(Time(17:00-07:29|mon-fri|*|*?selection,0,3)
exten => 0,3,Playback(sales-closed)
exten => 0,4,Voicemail(u0)
exten => 0,5,Hangup
exten => 0,6,Answer
exten => 0,6,Set(CALLERID(name)=qSales${CALLERIDNAME})
exten => 0,8,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${TIMESTAMP}-${UNIQUEID})
exten => 0,9,Playback()
exten => 0,10,Queue(qoperator|t||)
exten => 0,11,Hangup
exten => 0*,1,Macro(agent-add,0,)
exten => 0**,1,Macro(agent-del,0,0)
;
;1 Sales Dept
exten => 1,1,GotoIfTime(08:00-16:59|mon-fri|*|*?selection,1,6)
exten => 1,2,GotoIf(Time(17:00-07:29|mon-fri|*|*?selection,1,3)
exten => 1,3,Playback(sales-closed)
exten => 1,4,Playback(vm-goodbye)
exten => 1,5,Hangup
exten => 1,6,BackGround(for-quality-purposes)
exten => 1,7,Playback(this-call-may-be)
exten => 1,8,Playback(recorded)
exten => 1,9,Playback(pls-wait-connect-call)
exten => 1,10,SetMusicOnHold,default
exten => 1,11,SetCallerID,1
exten => 1,12,SetCallerIDName,Sales
exten => 1,13,Goto,ext-queues|101|1
;
;2 Billing Dept
exten => 2,1,GotoIfTime(08:00-16:59|mon-fri|*|*?selection,2,6)
exten => 2,2,GotoIfTime(17:00-07:29|mon-fri|*|*?selection,2,3)
exten => 2,3,Playback(billing-closed)
exten => 2,4,Playback(vm-goodbye)
exten => 2,5,Hangup
exten => 2,6,Playback(for-quality-purposes)
exten => 2,7,Playback(this-call-may-be)
exten => 2,8,Playback(recorded)
exten => 2,9,Playback(pls-wait-connect-call)
exten => 2,10,SetMusicOnHold,default
exten => 2,11,SetCallerID,2
exten => 2,12,SetCallerIDName,Billing
exten => 2,13,Goto,ext-queues|102|1
;
;3 Technical Support Dept
exten => 3,1,GotoIfTime(08:30-17:29|mon-fri|*|*?selection,3,6)
exten => 3,2,GotoIfTime(17:30-08:29|mon-fri|*|*?basic-exten,611,1)
exten => 3,3,Playback(tech-closed)
exten => 3,4,Playback(vm-goodbye)
exten => 3,5,Hangup
exten => 3,6,Playback(for-quality-purposes)
exten => 3,7,Playback(this-call-may-be)
exten => 3,8,Playback(recorded)
exten => 3,9,Playback,(pls-wait-connect-call)
exten => 3,10,SetMusicOnHold,default
exten => 3,11,SetCallerID,3
exten => 3,12,SetCallerIDName,TechSupport
exten => 3,13,Goto,ext-queues|103|1
;
;4
exten => 4,1,Playback,(systemstat)
exten => 4,n,Hangup
;
exten => 5,1,Background(staff-listing)
exten => 5,n,Hangup
;
;5
exten => 6,1,Playback(vm-goodbye)
exten => 6,n,Hangup
;
;7
exten => 7,1,Playback(vm-goodbye)
exten => 7,n,Hangup
;
;8 
exten => 8,1,Playback(vm-goodbye)
exten => 8,n,Hangup
;
;9 Fax Extension
exten => 9,1,Set(CALLEDFAX=${EXTEN})
exten => 9,2,Answer
exten => 9,3,Goto(fax,${EXTEN},1)
;
exten => fax,1,Goto(ext-fax,in_fax,1)

;-------------------------------------------------------------------------------
; *** - Disa using voicemail passowords via agi
;-------------------------------------------------------------------------------
exten => ***,1,Answer 
exten => ***,2,Read(ext_num,vm-extension) 
exten => ***,3,Wait(1) 
exten => ***,4,Read(ext_pwd,vm-password) 
exten => ***,5,Wait(1) 
exten => ***,6,agi,chk_vm_pwd.agi|/etc/asterisk/voicemail.conf|${ext_num}|${ext_pwd} 
exten => ***,7,GotoIf($["${result}" = "0"]?20:30) 
exten => ***,20,Playback(agent-loginok)
exten => ***,21,ResetCDR(w)
exten => ***,22,DISA(no-password|custom-ringy-dialtone)
exten => ***,21,Hangup() 
exten => ***,30,PlayBack(invalid) 
exten => ***,31,Hangup() 

;-----------------------------------------------------
;Prompt management used for IVR prompt recording.
;-----------------------------------------------------
[prompt]
exten => ,1,Goto(prompt-management,s,1)
;
[prompt-management]
; Flexible prompt recording
exten => s,1,Answer
exten => s,n,Wait(1)
exten => s,n,DigitTimeout(5)
exten => s,n,Read(PROMPT_NUMBER|enter-prompt-number|3)
exten => s,n,SayDigits(${PROMPT_NUMBER})
exten => s,n,BackGround(T-to-hear-cur-ancmnt)
exten => s,n,BackGround(press-1)
exten => s,n,BackGround(T-to-rec-ancmnt)
exten => s,n,BackGround(press-2)
;
exten => t,1,Playback(goodbye)
exten => t,n,Hangup
;
exten => i,1,Playback(pbx-invalid)
exten => i,n,Goto(s,5)
;
exten => 1,1,Playback(beep)
exten => 1,n,Playback(bsky-prompt-${PROMPT_NUMBER})
exten => 1,n,Playback(beep)
exten => 1,n,Goto(s,6)
;
exten => 2,1,Goto(prompt-management-record,s,1)

exten => *,1,Playback(goodbye)
exten => *,n,Hangup
;
[prompt-management-record]
; New prompt recording
exten => s,1,Playback(vm-intro)
exten => s,n,Record(tmp-newprompt:wav)
exten => s,n,Playback(beep)
exten => s,n,BackGround(tmp-newprompt)
exten => s,n,BackGround(save-announce-press)
exten => s,n,BackGround(digits/1)
exten => s,n,BackGround(to-rerecord-announce)
exten => s,n,BackGround(digits/2)
;
exten => i,1,Playback(invalid)
exten => i,n,Goto(s,3)
;
exten => t,1,Goto(s,3)
;
exten => 1,1,System(cp -f /var/lib/asterisk/sounds/tmp-newprompt.wav 
/var/lib/asterisk/sounds/prompt-${PROMPT_NUMBER}.wav)
exten => 1,n,Playback(your-msg-has-been-saved)
exten => 1,n,Goto(app-prompt-management,s,4)
;
exten => 2,1,Goto(s,1)
;
exten => *,1,Goto(app-prompt-management,s,4)
;-------------------------------------------------------
;  - Special announcement admin (Easy IVR)
;-------------------------------------------------------
exten => ,1,Goto(special-message,s,1)
;
[special-message]
; Record/replay/turn on/off the special message played before ACD queue 
calls
exten => s,1,Answer
exten => s,n,Wait(1)
exten => s,n,DigitTimeout(5)
exten => s,n,BackGround(T-to-hear-cur-ancmnt)
exten => s,n,BackGround(press-1)
exten => s,n,BackGround(T-to-rec-ancmnt)
exten => s,n,BackGround(press-2)
exten => s,n,BackGround(T-to-enable-ancmnt)
exten => s,n,BackGround(press-3)
exten => s,n,BackGround(T-to-disable-ancmnt)
exten => s,n,BackGround(press-4)
;
exten => t,1,Playback(goodbye)
exten => t,2,Hangup
;
exten => i,1,Playback(pbx-invalid)
exten => i,2,Goto(s,4)
;
exten => 1,1,Playback(special-message)
exten => 1,2,Goto(s,4)
;
exten => 2,1,Goto(special-message-record,s,1)
;
exten => 3,1,Set($DB(SpecialMessage/1=1)})
exten => 3,n,Playback(enabled)
exten => 3,n,Goto(s,4)
;
exten => 4,1,DBdel(SpecialMessage/1)
exten => 4,n,Playback(disabled)
exten => 4,n,Goto(s,4)
;
exten => *,1,Playback(goodbye)
exten => *,2,Hangup
;
[special-message-record]
; Record the new special message
exten => s,1,Playback(vm-intro)
exten => s,n,Record(new-special-message:wav)
exten => s,n,Playback(beep)
exten => s,n,BackGround(new-special-message)
exten => s,n,BackGround(save-announce-press)
exten => s,n,BackGround(digits/1)
exten => s,n,BackGround(to-rerecord-announce)
exten => s,n,BackGround(digits/2)
;
exten => i,1,Playback(invalid)
exten => i,n,Goto(s,3)
;
exten => t,1,Goto(s,3)
;
exten => 1,1,System(cp -f 
/var/lib/asterisk/sounds/new-special-message.wav 
/var/lib/asterisk/sounds/special-message.wav)
exten => 1,n,Playback(your-msg-has-been-saved)
exten => 1,n,Goto(app-special-message,s,1)
;
exten => 2,1,Goto(s,1)
;
exten => *,1,Goto(special-message,s,1)
;
[macro-check-special-message]
; If the flag is set, play the special message, otherwise continue
exten => s,1,Set(${DB(SpecialMessage=SpecialMessage/1)})
exten => s,2,Playback(system-status-msg)
exten => s,3,Playback(special-message)
exten => s,4,Ringing
exten => s,5,Wait(4)
exten => s,102,Noop