Seperate IVR Menus to handle Home and Office calls
House line rings* From extensions.conf [house-in] ; ; This routine handles inbound calls on the analog ; house line. ; ; During the day, we want to wait while the ; Panasonic KSU rings the internal extensions ; for at least 20 (2 rings) seconds before answering so ; we branch to the "house-day" context. ; ; After hours, we will answer immediately without ; ringing every phone in the house by branching to ; the "house-night" context. ; ; The Panasonic KSU is programmed to ring only ; a couple phones after hours so one or two rings ; will not wake everyone in the house. ; exten => s,1,SetGlobalVar(RINGINGLINE=custom/on-line-one) exten => s,2,GotoIfTime(07:00-21:00|sun-sat|*|*?house-day,s,1) exten => s,3,Goto(house-night,s,1) ; ; ; ;******************************************************************** ; BEGIN - House IVR Menu ;******************************************************************** ; ; [house-day] ; ; exten => s,1,Wait(20) exten => s,2,Answer exten => s,3,zapateller ; torture telemarketers ; ; menu diag enter here ; exten => s,4,NoOp exten => s,5,Background(custom/welcome-hend) ; play the intro message exten => s,6,NoOp ; exten => s,7,Background(custom/this-is-daytime-menu) exten => s,8,Background(custom/appologise) ; ; loops should return here ; exten => s,9,SetGlobalVar(FLOWCONTROL=house-day,s,9) exten => s,10,NoOp exten => s,11,NoOp exten => s,12,Background(custom/if-you-know-ext) ; exten => s,13,Background(silence/1) exten => s,14,Background(custom/if-emergency) exten => s,15,Background(custom/press-the) exten => s,16,Background(custom/nine-key) exten => s,17,Background(silence/1) ; exten => s,18,Background(custom/will-trans-to-default) exten => s,19,Background(silence/1) ; exten => s,20,Background(custom/2repeat) ; play the menu messages exten => s,21,Background(custom/2hangup) ; play the menu messages ; exten => s,22,DigitTimeout,2 ; give them 2 seconds between digits exten => s,23,ResponseTimeout,30 ; give them 30 seconds to make a choice ; include => pana-trans include => internal-svc ; ; Repeat the previous menu exten => *,1,Goto(s,9) ; ; #=hangup exten => #,1,Background(goodbye) exten => #,2,Hangup ; exten => t,1,VoiceMail(u${DEFVM}) exten => t,2,Hangup ; exten => i,1,Background(pbx-invalid) ; "That's not valid, try again" exten => i,2,Wait(1) exten => i,3,Goto(s,9) ; ; [house-night] ; ; exten => s,1,Wait(10) exten => s,2,Answer exten => s,3,zapateller ; torture telemarketers ; ; menu diag enter here ; exten => s,4,NoOp exten => s,5,Background(custom/welcome-hend) ; play the intro message exten => s,6,NoOp ; exten => s,7,Background(custom/this-is-afterhours-menu) exten => s,8,Background(custom/direct-to-vmail-is-active) ; ; loops should return here ; exten => s,9,NoOp exten => s,10,NoOp exten => s,11,SetGlobalVar(FLOWCONTROL=house-night,s,9) exten => s,12,Background(custom/if-you-know-ext) exten => s,13,Background(silence/1) ; exten => s,14,Background(custom/if-emergency) exten => s,15,Background(custom/press-the) exten => s,16,Background(custom/nine-key) exten => s,17,Background(silence/1) ; exten => s,18,Background(custom/will-trans-to-default) exten => s,19,Background(silence/1) ; exten => s,20,Background(custom/2repeat) ; play the menu messages exten => s,21,Background(custom/2hangup) ; play the menu messages ; exten => s,22,DigitTimeout,2 ; give them 2 seconds between digits exten => s,23,ResponseTimeout,30 ; give them 30 seconds to make a choice ; ; include => vmail-by-ext include => vmail-by-name include => internal-svc ; ; Repeat the previous menu exten => *,1,Goto(s,9) ; ; #=hangup exten => #,1,Background(goodbye) exten => #,2,Hangup ; exten => t,1,VoiceMail(u${DEFVM}) exten => t,2,Hangup ; exten => i,1,Background(pbx-invalid) ; "That's not valid, try again" exten => i,2,Wait(1) exten => i,3,Goto(s,9) ; ; ;******************************************************************** ; END - House IVR Menu ;******************************************************************** ; Office line rings* From extension.conf [office-in] ; ; This routine handles inbound calls on the analog office line ; ; During the day, we want to wait while the ; Panasonic KSU rings the internal extensions ; for at least 20 (2 rings) seconds before answering so ; we branch to the "office-day" context. ; ; The office-day checks to see if we might be closed ; due to a holiday and makes a holiday announcment ; if true. ; ; We have to support the possibility that a client ; might have an emergency. We need to be available ; 7x24 for certain clients. ; ; After hours, we will answer immediately without ; ringing every phone in the house by brancing to ; the "office-night" context. ; ; The Panasonic KSU is programmed to ring only ; a couple phones after hours so one or two rings ; will not wake everyone in the house. ; exten => s,1,SetGlobalVar(RINGINGLINE=custom/on-line-two) exten => s,2,GotoIfTime(08:00-18:00|mon-fri|*|*?office-day,s,1) exten => s,3,Goto(office-night,s,1) ; [voicepulse-in] ; ; This routine handles inbound calls on our VoicePulse DID ; Voicepulse rings in with the extension set to our DID ; VoicePulse is handled as an office line ; exten => _7039916709,1,SetGlobalVar(RINGINGLINE=custom/on-line-three) exten => _7039916709,2,GotoIfTime(08:00-18:00|mon-fri|*|*?office-day,s,1) exten => _7039916709,3,Goto(office-night,s,1) ; ; [broadvoice-in] ; ; BroadVoice rings in on the s extension ; BroadVoice is handled as an Office line. ; exten => s,1,SetGlobalVar(RINGINGLINE=custom/on-line-four) exten => s,2,GotoIfTime(08:00-18:00|mon-fri|*|*?office-day,s,1) exten => s,3,Goto(office-night,s,1) ; ; ;******************************************************************** ; BEGIN - Office IVR Menu ;******************************************************************** ; ; [office-day] ; ; exten => s,1,Wait(30) exten => s,2,Answer exten => s,3,zapateller ; torture telemarketers ; ; menu diag enter here ; exten => s,4,Background(silence/1) ; one second silence exten => s,5,Background(custom/welcome) ; play the intro message exten => s,6,NoOp ; exten => s,7,GotoIfTime(*|*|1|jan?office-holiday,s,1) exten => s,8,GotoIfTime(*|*|4|jul?office-holiday,s,1) exten => s,9,GotoIfTime(*|*|11|nov?office-holiday,s,1) exten => s,10,GotoIfTime(*|*|25|dec?office-holiday,s,1) ; exten => s,11,GotoIfTime(*|mon|15-21|jan?office-holiday,s,1) exten => s,12,GotoIfTime(*|mon|15-21|feb?office-holiday,s,1) exten => s,13,GotoIfTime(*|mon|26-31|may?office-holiday,s,1) exten => s,14,GotoIfTime(*|mon|1-7|sep?office-holiday,s,1) exten => s,15,GotoIfTime(*|mon|8-17|oct?office-holiday,s,1) exten => s,16,GotoIfTime(*|thu|22-28|nov?office-holiday,s,1) ; ; if its not a Holiday check to see if its during business hours ; exten => s,17,GotoIfTime(08:00-17:59|mon-fri|*|*?office-open,s,1) ; ; if its not during business hours, we must be closed ; exten => s,18,Goto(office-night,s,7) ; ; include access to internal extentions and services ; ; include => pana-trans include => internal-svc ; ; Repeat the previous menu exten => *,1,Goto(s,5) ; ; #=hangup exten => #,1,Background(goodbye) exten => #,2,Hangup ; exten => t,1,Goto(i,1) ; If they take too long, give up ; exten => i,1,Background(pbx-invalid) ; "That's not valid, try again" exten => i,2,Wait(1) exten => i,3,Goto(s,5) ; ; [office-night] ; ; exten => s,1,Wait(10) exten => s,2,Answer exten => s,3,zapateller ; torture telemarketers ; ; menu diag enter here ; exten => s,4,Background(silence/1) ; one second silence exten => s,5,Background(custom/welcome) ; play the intro message exten => s,6,Background(silence/1) ; one second silence exten => s,7,Background(custom/office-closed) ; exten => s,8,Background(custom/this-is-afterhours-menu) exten => s,9,Background(custom/office-hours) ; ; loops should return here ; exten => s,10,SetGlobalVar(FLOWCONTROL=office-night,s,10) exten => s,11,NoOp exten => s,12,NoOp(${FLOWCONTROL}) exten => s,13,Background(custom/if-you-know-ext) exten => s,14,Background(silence/1) ; one second silence exten => s,15,Background(custom/to-leave-vm-by-name) exten => s,16,Background(custom/dial-first-three-char) ; exten => s,17,Background(silence/1) exten => s,18,Background(custom/if-emergency) exten => s,19,Background(silence/1) exten => s,20,NoOp ; exten => s,21,Background(custom/2repeat) ; play the menu messages exten => s,22,Background(custom/2hangup) ; play the menu messages ; exten => s,23,DigitTimeout,5 ; give them 5 seconds between digits exten => s,24,ResponseTimeout,90 ; give them 90 seconds to make a choice ; ; include => vmail-by-ext include => vmail-by-name include => internal-svc include => emergency ; ; Repeat the previous menu exten => *,1,Goto(s,10) ; ; #=hangup exten => #,1,Background(goodbye) exten => #,2,Hangup ; exten => t,1,VoiceMail(u${DEFVM}) ; If they take too long, send to vmail exten => t,2,Hangup ; exten => i,1,Background(pbx-invalid) ; "That's not valid, try again" exten => i,2,NoOp exten => i,3,Goto(s,10) ; ; [office-holiday] ; ; provide Holiday greeting and provide emergency access for ; contract clients ; exten => s,1,Background(custom/office-closed-holiday) ; play the office we are closed message exten => s,2,Background(custom/office-hours) ; play the open hours message exten => s,3,Goto(office-night,s,8) ; ; include access to internal extentions and services ; include => vmail-by-ext include => vmail-by-name include => internal-svc ; ; Repeat the previous menu exten => *,1,Goto(office-night,s,8) ; ; #=hangup exten => #,1,Background(goodbye) exten => #,2,Hangup ; exten => t,1,VoiceMail(u${DEFVM}) ; If they take too long, send to vmail exten => t,2,Hangup ; exten => i,1,Background(pbx-invalid) ; "That's not valid, try again" exten => i,2,Wait(1) exten => i,3,Goto(office-night,s,8) ; ; [office-open] ; ; during normal business hours, operate like a fancy answering machine ; exten => s,1,NoOp exten => s,2,NoOp exten => s,3,NoOp ; ; menu diag enter here ; exten => s,4,NoOp exten => s,5,NoOp exten => s,6,NoOp ; exten => s,7,NoOp exten => s,8,NoOp ; ; loops should return here ; exten => s,9,Background(custom/if-you-know-ext) ; exten => s,10,Background(silence/1) exten => s,11,Background(custom/if-emergency) exten => s,12,Background(custom/press-the) exten => s,13,Background(custom/nine-key) exten => s,14,Background(silence/1) ; exten => s,15,Background(custom/will-trans-to-default) exten => s,16,Background(silence/1) ; exten => s,17,Background(custom/2repeat) ; play the menu messages exten => s,18,Background(custom/2hangup) ; play the menu messages ; exten => s,19,DigitTimeout,2 ; give them 2 seconds between digits exten => s,20,ResponseTimeout,30 ; give them 30 seconds to make a choice ; include => pana-trans include => internal-svc ; ; Repeat the previous menu exten => *,1,Goto(s,9) ; ; #=hangup exten => #,1,Background(goodbye) exten => #,2,Hangup ; exten => t,1,VoiceMail(u${DEFVM}) exten => t,2,Hangup ; exten => i,1,Background(pbx-invalid) ; "That's not valid, try again" exten => i,2,Wait(1) exten => i,3,Goto(s,9) ; ; ;******************************************************************** ; END - Office IVR Menu ;******************************************************************** |
手机版|小黑屋|BC Morning Website ( Best Deal Inc. 001 )
GMT-8, 2026-10-14 06:52 , Processed in 0.007152 second(s), 18 queries .
Supported by BestDeal Online X5.0
© 2001-2026 Discuz! Team.