[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