rendered paste body[general]
static=yes
writeprotect=no
[globals]
#include "local_vars.conf"
CONSOLE=Console/dsp ; Console interface for demo
EMERGENCY=0
EMERGENCY_TRUNK=Zap/3
EMERGENCY_NUM=911
LOCAL_AREA=203
CALLERID_NUM=2035555555
CALLERID_NAME=Comapny
NICKOFFICE=12035555555
[macro-oneline]
exten => s,1,Answer
exten => s,n,Wait(1)
exten => s,n,GotoIf($["${ARG1}" = "${CALLERIDNUM}"]?voicemail:exten)
exten => s,n(voicemail),VoicemailMain(${CALLERIDNUM})
exten => s,n,Hangup()
exten => s,n(exten),Dial(SIP/${ARG1},20,t)
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => s,n,Congestion()
exten => s,n,Hangup()
exten => s,n(busy),Voicemail(b${ARG1})
exten => s,n,Hangup()
exten => s,n(unavail),Voicemail(u${ARG1})
exten => s,n,Hangup()
[macro-remote]
exten => s,1,Answer
exten => s,n,Macro(dialenum,$ARG1)
exten => s,n,Hangup()
[macro-dialenum]
exten => s,1,Set(CALLERID(all)=${CALLERID_NAME} <${CALLERID_NUM}>)
exten => s,n,Dial(SIP/${ARG1}@sipbroker-out)
exten => s,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?chanunavail)
exten => s,n,Congestion()
exten => s,n,Hangup()
exten => s,n(chanunavail),GotoIf(${Local${ARG1:1:6}}?zap:sip)
exten => s,n(sip),Set(CALLERID(all)=${CALLERID_NAME} <${CALLERID_NUM}>)
exten => s,n,Dial(SIP/${ARG1}@asterlink)
exten => s,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?zap)
exten => s,n,Congestion()
exten => s,n,Hangup()
exten => s,n(zap),Set(CALLERID(all)=${CALLERID_NAME} <${CALLERID_NUM}>)
exten => s,n,Set(LOCAL=${Local{$ARG1:1:6}})
exten => s,n,GotoIf(${LOCAL}?zaplocal)
exten => s,n,Set(CALLNUM=${ARG1})
exten => s,n(zaplocal),Set(CALLNUM=${Local${ARG1:1:6}:1}${ARG1:4})
exten => s,n,Dial(ZAP/g1/${CALLNUM})
exten => s,n,Congestion()
exten => s,n,Hangup()
[nineoneone]
exten => s,1,SetVar(SET_EMERG_FLAG=0)
exten => s,n(checkavail),ChanIsAvail(${EMERGENCY_TRUNK})
exten => s,n,SetGlobalVar(EMERGENCY=1)
exten => s,n,SetVar(SET_EMERG_FLAG=1)
exten => s,n(dial),Dial(${EMERGENCY_TRUNK}/${EMERGENCY_NUM})
exten => s,s+2(trunkbusy),GotoIf($[${EMERGENCY} = 1]?inprogress)
exten => s,n,SoftHangup(${EMERGENCY_TRUNK}-1)
exten => s,n,Wait(12)
exten => s,n,Goto(checkavail)
exten => s,s+2(inprogress),Congestion
exten => s,checkavail+101(notavail),Goto(trunkbusy)
exten => h,1,GotoIf($[${SET_EMERG_FLAG} = 1]?3)
exten => h,3,SetGlobalVar(EMERGENCY=0)
[extensions]
exten => 106,1,Macro(remote,${NICKOFFICE})
exten => _1XX,1,Macro(oneline,${EXTEN})
;conference
exten => 200,1,MeetMe(200|p)
exten => 200,n,Playback(vm-goodbye)
exten => 200,n,Hangup()
[outgoing]
exten => _9NXXXXXX,1,Macro(dialenum,1${LOCAL_AREA}${EXTEN:1})
exten => _9NXXNXXXXXX,1,Macro(dialenum,1${EXTEN:1})
exten => _91NXXNXXXXXX,1,Macro(dialenum,$EXTEN:1})
exten => 911,1,Goto(nineoneone,s,1)
exten => _[468]11,1,Dial(zap/g1/${EXTEN})
[services]
; Access VoiceMail
exten => 500,1,VoicemailMain(${CALLERIDNUM})
exten => 500,n,Hangup()
exten => 555,1,VoicemailMain
exten => 555,n,Hangup()
; Create an extension, 501, for evaulating echo latency.
exten => 501,1,Playback(demo-echotest) ; Let them know what's going on
exten => 501,n,Echo ; Do the echo test
exten => 501,n,Playback(demo-echodone) ; Let them know it's over
exten => 501,n,Hangup()
; Record a temporary GSM file
exten => 502,1,Wait(2)
exten => 502,n,Record(/tmp/asterisk-recording:gsm)
exten => 502,n,Wait(2)
exten => 502,n,Playback(/tmp/asterisk-recording)
exten => 502,n,Wait(2)
exten => 502,n,Hangup()
; Say Current Date and Time
exten => 503,1,DateTime()
exten => 503,n,Wait(1)
exten => 503,n,DateTime()
exten => 503,n,Hangup()
; Read back caller's number
exten => 504,1,Wait(1)
exten => 504,n,SayDigits(${CALLERIDNUM})
exten => 504,n,Wait(1)
exten => 504,n,SayDigits(${CALLERIDNUM})
exten => 504,n,Hangup()
; Read back digitis
exten => 505,1,Wait(1)
exten => 505,n,Read(CMD||4)
exten => 505,n,Wait(1)
exten => 505,n,SayDigits(${CMD})
exten => 505,n,Hangup()
[toll-access]
include => extensions
include => outgoing
include => services
[extservices]
; Directory
exten => 9,1,Directory(default|extensions)
exten => 9,n,Hangup()
; check VM
exten => 888,1,VoicemailMain
exten => 888,n,Hangup()
; products services
exten => 2,1,Dial(SIP/101,20)
exten => 2,n,Voicemail(u101)
exten => 2,n,Hangup()
; techsupport
exten => 3,1,Dial(SIP/101,20)
exten => 3,n,Voicemail(u101)
exten => 3,n,Hangup()
; careers
exten => 4,1,Dial(SIP/103,20)
exten => 4,n,Voicemail(u103)
exten => 4,n,Hangup()
; operator
exten => 5,1,Dial(SIP/103,20)
exten => 5,n,Voicemail(u103)
exten => 5,n,Hangup()
[incoming]
exten => _X.,1,Goto(s,1)
exten => i,1,Goto(s,begin)
exten => s,1,Answer
exten => s,n,Wait,1
exten => s,n,DigitTimeout(10) ; Set Digit Timeout to 10 seconds
exten => s,n,ResponseTimeout(20) ; Set Response Timeout to 20 seconds
exten => s,n,Background(graphlogic-intro)
exten => s,n(begin),Background(graphlogic-enter-exten)
exten => s,n,Background(graphlogic-lastname)
exten => s,n,Background(graphlogic-products-services)
exten => s,n,Background(graphlogic-customer-support)
exten => s,n,Background(graphlogic-careers)
exten => s,n,Background(graphlogic-allother)
exten => t,1,Hangup
include => extensions
include => extservices