|
|
|
@ -310,18 +310,18 @@ include => iaxprovider
|
|
|
|
|
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
|
|
|
|
|
; ${ARG2} - Device(s) to ring
|
|
|
|
|
;
|
|
|
|
|
exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum
|
|
|
|
|
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
|
|
|
|
|
exten => s,1,Dial(${ARG2},20) ; 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${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
|
|
|
|
|
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
|
|
|
|
|
exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
|
|
|
|
|
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
|
|
|
|
|
|
|
|
|
|
exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce
|
|
|
|
|
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
|
|
|
|
|
exten => s-BUSY,1,Voicemail(b${ARG1}) ; 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 => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
|
|
|
|
|
|
|
|
|
|
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
|
|
|
|
|
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
|
|
|
|
|
|
|
|
|
|
[macro-stdPrivacyexten];
|
|
|
|
|
;
|
|
|
|
@ -331,22 +331,23 @@ exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into Voi
|
|
|
|
|
; ${ARG3} - Optional DONTCALL context name to jump to (assumes the s,1 extension-priority)
|
|
|
|
|
; ${ARG4} - Optional TORTURE context name to jump to (assumes the s,1 extension-priority)`
|
|
|
|
|
;
|
|
|
|
|
exten => s,1,Dial(${ARG2},20|p) ; Ring the interface, 20 seconds maximum, call screening option (or use P for databased call screening)
|
|
|
|
|
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
|
|
|
|
|
exten => s,1,Dial(${ARG2},20|p) ; Ring the interface, 20 seconds maximum, call screening
|
|
|
|
|
; option (or use P for databased call screening)
|
|
|
|
|
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
|
|
|
|
|
|
|
|
|
|
exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
|
|
|
|
|
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
|
|
|
|
|
exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
|
|
|
|
|
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
|
|
|
|
|
|
|
|
|
|
exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce
|
|
|
|
|
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
|
|
|
|
|
exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce
|
|
|
|
|
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
|
|
|
|
|
|
|
|
|
|
exten => s-DONTCALL,1,Goto(${ARG3},s,1) ; Callee chose to send this call to a polite "Don't call again" script.
|
|
|
|
|
exten => s-DONTCALL,1,Goto(${ARG3},s,1) ; Callee chose to send this call to a polite "Don't call again" script.
|
|
|
|
|
|
|
|
|
|
exten => s-TORTURE,1,Goto(${ARG4},s,1) ; Callee chose to send this call to a telemarketer torture script.
|
|
|
|
|
exten => s-TORTURE,1,Goto(${ARG4},s,1) ; Callee chose to send this call to a telemarketer torture script.
|
|
|
|
|
|
|
|
|
|
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
|
|
|
|
|
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
|
|
|
|
|
|
|
|
|
|
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
|
|
|
|
|
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
|
|
|
|
|
|
|
|
|
|
[macro-page];
|
|
|
|
|
;
|
|
|
|
@ -356,13 +357,13 @@ exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into Voi
|
|
|
|
|
;
|
|
|
|
|
; ${ARG1} - Device to page
|
|
|
|
|
|
|
|
|
|
exten => s,1,ChanIsAvail(${ARG1}|js) ; j is for Jump and s is for ANY call
|
|
|
|
|
exten => s,2,GoToIf([${AVAILSTATUS} = "1"]?3:7)
|
|
|
|
|
exten => s,3,Set(_ALERT_INFO="RA") ; This is for the PolyComs
|
|
|
|
|
exten => s,4,SIPAddHeader(Call-Info: Answer-After=0) ; This is for the Grandstream, Snoms, and Others
|
|
|
|
|
exten => s,5,NoOp() ; Add others here and Post on the Wiki!!!!
|
|
|
|
|
exten => s,6,Dial(${ARG1}||)
|
|
|
|
|
exten => s,7,Hangup
|
|
|
|
|
exten => s,1,ChanIsAvail(${ARG1}|js) ; j is for Jump and s is for ANY call
|
|
|
|
|
exten => s,n,GoToIf([${AVAILSTATUS} = "1"]?autoanswer:fail)
|
|
|
|
|
exten => s,n(autoanswer),Set(_ALERT_INFO="RA") ; This is for the PolyComs
|
|
|
|
|
exten => s,n,SIPAddHeader(Call-Info: Answer-After=0) ; This is for the Grandstream, Snoms, and Others
|
|
|
|
|
exten => s,n,NoOp() ; Add others here and Post on the Wiki!!!!
|
|
|
|
|
exten => s,n,Dial(${ARG1}||)
|
|
|
|
|
exten => s,n(fail),Hangup
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[demo]
|
|
|
|
@ -375,13 +376,13 @@ exten => s,n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
|
|
|
|
|
exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
|
|
|
|
|
exten => s,n(restart),BackGround(demo-congrats) ; Play a congratulatory message
|
|
|
|
|
exten => s,n(instruct),BackGround(demo-instruct) ; Play some instructions
|
|
|
|
|
exten => s,n,WaitExten ; Wait for an extension to be dialed.
|
|
|
|
|
exten => s,n,WaitExten ; Wait for an extension to be dialed.
|
|
|
|
|
|
|
|
|
|
exten => 2,1,BackGround(demo-moreinfo) ; Give some more information.
|
|
|
|
|
exten => 2,n,Goto(s,instruct)
|
|
|
|
|
|
|
|
|
|
exten => 3,1,Set(LANGUAGE()=fr) ; Set language to french
|
|
|
|
|
exten => 3,n,Goto(s,restart) ; Start with the congratulations
|
|
|
|
|
exten => 3,n,Goto(s,restart) ; Start with the congratulations
|
|
|
|
|
|
|
|
|
|
exten => 1000,1,Goto(default,s,1)
|
|
|
|
|
;
|
|
|
|
@ -400,7 +401,7 @@ exten => 1236,n,Voicemail(u1234) ; Unless busy
|
|
|
|
|
;
|
|
|
|
|
; # for when they're done with the demo
|
|
|
|
|
;
|
|
|
|
|
exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo"
|
|
|
|
|
exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo"
|
|
|
|
|
exten => #,n,Hangup ; Hang them up.
|
|
|
|
|
|
|
|
|
|
;
|
|
|
|
@ -498,7 +499,7 @@ include => demo
|
|
|
|
|
|
|
|
|
|
;exten => 6245,hint,SIP/Grandstream1&SIP/Xlite1,Joe Schmoe ; Channel hints for presence
|
|
|
|
|
;exten => 6245,1,Dial(SIP/Grandstream1,20,rt) ; permit transfer
|
|
|
|
|
;exten => 6245,n(dial),Dial(${HINT},20,rtT) ; Use hint as listed
|
|
|
|
|
;exten => 6245,n(dial),Dial(${HINT},20,rtT) ; Use hint as listed
|
|
|
|
|
;exten => 6245,n,Voicemail(u6245) ; Voicemail (unavailable)
|
|
|
|
|
;exten => 6245,s+1,Hangup ; s+1, same as n
|
|
|
|
|
;exten => 6245,dial+101,Voicemail(b6245) ; Voicemail (busy)
|
|
|
|
@ -530,4 +531,6 @@ include => demo
|
|
|
|
|
;
|
|
|
|
|
; 'show application <command>' will show details of how you
|
|
|
|
|
; use that particular application in this file, the dial plan.
|
|
|
|
|
;
|
|
|
|
|
; 'show functions" will list all dialplan functions
|
|
|
|
|
; 'show function <COMMAND>' will show you more information about
|
|
|
|
|
; one function. Remember that function names are UPPER CASE.
|
|
|
|
|