rendered paste body[globals]
PHONE1=SIP/4000
PHONE2=SIP/4001
PHONE3=SIP/4002
PHONE4=SIP/4003
PHONE5=SIP/4004
PHONE6=SIP/4005
PHONE7=SIP/4006
PHONE8=SIP/4007
PHONE9=SIP/4008
[macro-stdexten];
;
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring
;
exten => s,1,Dial(${ARG1},20,t) ; Ring the interface, 20 seconds maximum
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(u${ARG2}) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(s,1) ; If they press #, return to start
exten => s-BUSY,1,Voicemail(b${ARG2}) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG2}) ; If they press *, send the user into VoicemailMain
;
; Create an extension, 600, for evaluating echo latency.
;
exten => 600,1,Playback(demo-echotest) ; Let them know what's going on
exten => 600,n,Echo ; Do the echo test
exten => 600,n,Playback(demo-echodone) ; Let them know it's over
exten => 600,n,Goto(s,6) ; Start over
;
; Give voicemail at extension 8500
;
exten => 8500,1,VoicemailMain
exten => 8500,n,Goto(s,6)
exten => 8600,1,Answer
exten => 8600,n,MusicOnHold()
[incoming]
exten =>
include => mainmenu
[mainmenu]
;
; Example "main menu" context with submenu
;
include => internal
exten => s,1,Answer
;exten => s,n,WaitExten
exten => s/4258820921,n,Queue(support|tT|||300)
;exten => s,n,Wait,2
exten => s,n,Queue(support)
exten => i,1,Background(invalid)
exten => i,n,Goto(mainmenu,s,2)
exten => t,1,Background(oops1)
exten => t,n,Goto(mainmenu,s,2)
;support queue
[support]
exten => 2000,1,Ringing
exten => 2000,n,Queue(support|tT|||300)
exten => t,1,Dial(SIP/4000)
[submenu]
exten => s,1,Ringing ; Make them comfortable with 2 seconds of ringback
exten => s,n,Wait,2
exten => s,n,Background(submenuopts) ; "Thanks for calling the sales department. Press 1 for steve, 2 for..."
exten => s,n,WaitExten
exten => 1,1,Goto(default,steve,1)
exten => 2,1,Goto(default,mark,2)
[default]
;
include => outbound
;Dennis
exten => 4000,1,Macro(stdexten,${PHONE1},4000)
;Brian
exten => 4001,1,Dial(SIP/4001,20)
exten => 4001,n,Voicemail(u4001)
;David
exten => 4002,1,Dial(SIP/4002)
exten => 4002,n,Voicemail(u4002)
;JohnR
exten => 4003,1,Dial(SIP/4003)
exten => 4003,n,Voicemail(u4003)
;Tim
exten => 4004,1,Dial(SIP/4004)
exten => 4004,n,Voicemail(u4004)
exten => 1000,1,Goto(mainmenu,s,1)
;
; Give voicemail at extension 8500
;
exten => 8500,1,VoicemailMain
exten => 8500,n,Goto(s,6)
;Listen to Music on Hold
exten => 8600,1,Answer
exten => 8600,n,MusicOnHold()
;Dial SAVPBX SIP Extension
[internal]
exten => _40XX,1,Dial(SIP/${EXTEN})
exten => _50XX,1,Dial(IAX2
[outbound]
exten => _XXXXXXX,1,Dial(Zap/G0/${EXTEN})
exten => _1NXXNXXXXXX,1,Dial(Zap/G0/${EXTEN})