[general] static=yes writeprotect=yes autofallthrough=yes clearglobalvars=no priorityjumping=yes [globals] CONSOLE=Console/dsp ; Console interface for demo ;CONSOLE=Zap/1 ;CONSOLE=Phone/phone0 IAXINFO=guest ; IAXtel username/password TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0) #include /etc/asterisk/macros_general.conf [from-sip] exten => 17183608056,1,Goto(ah-incoming,s,1) [from-pri] Exten => _X.,1,Goto(ah-incoming,s,1) Exten => _X,1,Goto(ah-incoming,s,1) [ah-internal] ;exten => _1XX,1,Dial(SIP/${EXTEN},25) ;exten => _1XX,2,Voicemail(${EXTEN},u) ;exten => _1XX,102,Voicemail(${EXTEN},b) include => ah-ivr-extens exten => *1,1,Voicemailmain(${CALLERID(num)}) ;exten => _X.,1,Dial(Zap/g1/${EXTEN}) exten => *11,1,GotoIf($[${DB(mode/day-night)} = 0]?2:5) exten => *11,2,Set(DB(mode/day-night)=1) exten => *11,3,Playback(auth-thankyou) exten => *11,4,Hangup exten => *11,5,Set(DB(mode/day-night)=0) exten => *11,6,Playback(auth-thankyou) exten => *11,7,Hanup Exten => _*12.,1,Set(DB(night/contact)=${EXTEN:3}) Exten => _*12.,2,Playback(auth-thankyou) Exten => _*12.,3,Hangup exten => *20,1,Answer Exten => *20,2,AgentCallbackLogin(${CALLERID(num)}|,${CALLERID(num)}@ah-queue) Exten => *20,3,Hangup Exten => *21,1,Answer Exten => *21,2,system(asterisk -rx "Agent logoff Agent/${CALLERID(num)}") Exten => *21,3,Playback(agent-loggedoff) Exten => *21,4,Hangup exten => *22,1,Answer Exten => *22,2,AgentCallbackLogin(2${CALLERID(num):1}|,${CALLERID(num)}@ah-queue) Exten => *22,3,Hangup Exten => *23,1,Answer Exten => *23,2,system(asterisk -rx "Agent logoff Agent/2${CALLERID(num):1}") Exten => *23,3,Playback(agent-loggedoff) Exten => *23,4,Hangup exten => *24,1,Answer Exten => *24,2,AgentCallbackLogin(3${CALLERID(num):1}|,${CALLERID(num)}@ah-queue) Exten => *24,3,Hangup Exten => *25,1,Answer Exten => *25,2,system(asterisk -rx "Agent logoff Agent/3${CALLERID(num):1}") Exten => *25,3,Playback(agent-loggedoff) Exten => *25,4,Hangup exten => *26,1,Answer Exten => *26,2,AgentCallbackLogin(4${CALLERID(num):1}|,${CALLERID(num)}@ah-queue) Exten => *26,3,Hangup Exten => *27,1,Answer Exten => *27,2,system(asterisk -rx "Agent logoff Agent/4${CALLERID(num):1}") Exten => *27,3,Playback(agent-loggedoff) Exten => *27,4,Hangup exten => *28,1,Answer Exten => *28,2,AgentCallbackLogin(5${CALLERID(num):1}|,${CALLERID(num)}@ah-queue) Exten => *28,3,Hangup Exten => *29,1,Answer Exten => *29,2,system(asterisk -rx "Agent logoff Agent/5${CALLERID(num):1}") Exten => *29,3,Playback(agent-loggedoff) Exten => *29,4,Hangup exten => *30,1,Answer Exten => *30,2,AgentCallbackLogin(6${CALLERID(num):1}|,${CALLERID(num)}@ah-queue) Exten => *30,3,Hangup Exten => *31,1,Answer Exten => *31,2,system(asterisk -rx "Agent logoff Agent/6${CALLERID(num):1}") Exten => *31,3,Playback(agent-loggedoff) Exten => *31,4,Hangup exten => *32,1,Answer Exten => *32,2,AgentCallbackLogin(7${CALLERID(num):1}|,${CALLERID(num)}@ah-queue) Exten => *32,3,Hangup Exten => *33,1,Answer Exten => *33,2,system(asterisk -rx "Agent logoff Agent/7${CALLERID(num):1}") Exten => *33,3,Playback(agent-loggedoff) Exten => *33,4,Hangup include => ah-ivr-extens exten => *40,1,Answer exten => *40,2,Record(ah/day-message:gsm) exten => *40,3,Wait(1) exten => *40,4,Playback(ah/day-message) exten => *40,5,Hangup exten => *41,1,Answer exten => *41,2,Record(ah/night-message:gsm) exten => *41,3,Wait(1) exten => *41,4,Playback(ah/night-message) exten => *41,5,Hangup exten => *42,1,Answer Exten => *42,2,Playback(beep) exten => *42,3,Record(ah/hebrew-queue:gsm) exten => *42,4,Wait(1) exten => *42,5,Playback(ah/hebrew-queue) exten => *42,6,Hangup exten => *43,1,Answer Exten => *43,2,Playback(beep) exten => *43,3,Record(ah/english-queue:gsm) exten => *43,4,Wait(1) exten => *43,5,Playback(ah/english-queue) exten => *43,6,Hangup exten => *44,1,Answer Exten => *44,2,Playback(beep) exten => *44,3,Record(ah/arabic-queue:gsm) exten => *44,4,Wait(1) exten => *44,5,Playback(ah/arabic-queue) exten => *44,6,Hangup exten => *45,1,Answer Exten => *45,2,Playback(beep) exten => *45,3,Record(ah/russian-queue:gsm) exten => *45,4,Wait(1) exten => *45,5,Playback(ah/russian-queue) exten => *45,6,Hangup exten => *46,1,Answer Exten => *46,2,Playback(beep) exten => *46,3,Record(ah/management-queue:gsm) exten => *46,4,Wait(1) exten => *46,5,Playback(ah/management-queue) exten => *46,6,Hangup exten => *47,1,Answer exten => *47,2,Record(ah/bk-queue:gsm) exten => *47,3,Wait(1) exten => *47,4,Playback(ah/bk-queue) exten => *47,5,Hangup exten => *48,1,Answer exten => *48,2,Record(ah/secretary-queue:gsm) exten => *48,3,Wait(1) exten => *48,4,Playback(ah/secretary-queue) exten => *48,5,Hangup [ah-incoming] exten => s,1,GotoIf($[${DB(mode/day-night)} = 0]?2:4) exten => s,2,Goto(ah-day,s,1) exten => s,4,Goto(ah-night,s,1) [ah-day] Exten => s,1,Answer Exten => s,2,Set(TIMEOUT(digit)=3) Exten => s,3,Set(TIMEOUT(response)=3) Exten => s,4,Background(ah/day-message) exten => s,5,Wait(1) Exten => s,6,Goto(s,1) Exten => 1,1,Set(CALLERID(name)=Hebrew) Exten => 1,2,Queue(ah-hebrew||||120) Exten => 1,3,Voicemail(200,u) Exten => 1,4,Goto(s,1) Exten => 2,1,Set(CALLERID(name)=English) Exten => 2,2,Queue(ah-english||||120) Exten => 2,3,Voicemail(201,u) Exten => 2,4,Goto(s,1) Exten => 3,1,Set(CALLERID(name)=Arabic) Exten => 3,2,Queue(ah-arabic||||120) Exten => 3,3,Voicemail(202,u) Exten => 3,4,Goto(s,1) Exten => 4,1,Set(CALLERID(name)=Russian) Exten => 4,2,Queue(ah-russian||||120) Exten => 4,3,Voicemail(202,u) Exten => 4,4,Goto(s,1) Exten => 4,1,Set(CALLERID(name)=Book Keeping) Exten => 4,2,Queue(ah-bk||||120) Exten => 4,3,Voicemail(204,u) Exten => 4,4,Goto(s,1) Exten => 6,1,Set(CALLERID(name)=Management) Exten => 6,2,Queue(ah-management||||120) Exten => 6,3,Voicemail(205,u) Exten => 6,4,Goto(s,1) Exten => 0,1,Set(CALLERID(name)=Secretary) Exten => 0,2,Queue(ah-secretary||||120) Exten => 0,3,Voicemail(206,u) Exten => 0,4,Goto(s,1) Exten => t,1,Goto(s,1) Exten => i,1,Playback(pbx-invalid) Exten => i,2,Goto(s,1) include => ah-ivr-extens [ah-night] Exten => s,1,Answer Exten => s,2,Set(TIMEOUT(digit)=3) Exten => s,3,Set(TIMEOUT(response)=3) Exten => s,4,Background(ah/night-message) Exten => 1,1,Voicemail(210,u) Exten => 1,2,Goto(s,1) Exten => 2,1,Dial(Zap/g1/${DB(night/contact)},45) Exten => 2,2,Voicemail(210,u) Exten => 2,3,Hangup Exten => t,1,Goto(s,1) Exten => i,1,Playback(pbx-invalid) Exten => i,2,Goto(s,1) [ah-ivr-extens] exten => _1XX,1,Dial(SIP/${EXTEN},25) exten => _1XX,2,Voicemail(u${EXTEN}) exten => _1XX,102,Voicemail(b${EXTEN}) exten => 2222,1,ChanIsAvail(SIP/100,sj) Exten => 2222,2,Dial(SIP/100) Exten => 2222,102,Playback(digits/million) exten => _2XX,1,Voicemail(u1${EXTEN:1}) [ah-queue] Exten => _1XX,1,Dial(SIP/${EXTEN})