----------------- extensions.conf <> [macro-stdcc] exten => s,1,NoOp exten => s/_XXXXXXX,1,Set(CALLERID(number)=9${CALLERIDNUM}) exten => s/_999XXXXXXX,1,Set(CALLERID(number)=9${CALLERIDNUM:3}) exten => s/_XXXXXXXXXX,1,Set(CALLERID(number)=98${CALLERIDNUM}) exten => s,n(dial),Dial(SIP/${ARG1},90,rt) exten => s,n,Hangup exten => s,dial+101,NoOP(Attention: Agent/${ARG1} is busy. DND enabled?) exten => s,n,Hangup ; Absolute timeout rule. exten => T,1,Goto(default,T,1) [default] include => default-a|9:05-21:00|*|*|* include => default-na|21:01-09:04|*|*|* ; Startup. exten => s,1,Answer exten => s,2,Ringing exten => s,3,Wait(5) exten => s,4,Set(TIMEOUT(absolute)=600,TIMEOUT(digit)=2,TIMEOUT(response)=6) exten => s,5,GotoIfTime(6:00-11:59|*|*|*?9) exten => s,6,GotoIfTime(12:00-17:59|*|*|*?11) exten => s,7,GotoIfTime(18:00-22:59|*|*|*?13) exten => s,8,GotoIfTime(23:00-5:59|*|*|*?15) exten => s,9,Playback(goodmorning) exten => s,10,Goto(17) exten => s,11,Playback(goodday) exten => s,12,Goto(17) exten => s,13,Playback(goodevening) exten => s,14,Goto(17) exten => s,15,Playback(hello) exten => s,16,Wait(.52) exten => s,17,Playback(intro) exten => s,18,Wait(.49) exten => s,19,BackGround(dial-ext) exten => s,20,GotoIfTime(21:01-09:04|*|*|*?23) exten => s,21,Wait(.5) exten => s,22,BackGround(press-z) exten => s,23,Wait(.48) exten => s,24,BackGround(press-o) exten => s,25,GotoIfTime(09:05-21:00|*|*|*?31) exten => s,26,Wait(.51) exten => s,27,BackGround(press-tn) exten => s,28,Wait(.52) exten => s,29,BackGround(press-th) exten => s,30,Wait(.49) exten => s,31,BackGround(press-n) exten => s,32,Wait(.50) exten => s,33,BackGround(switch) exten => s,34,Playback(beep) exten => s,35,Set(LANGUAGE()=en) ; DNAT to internal context. exten => _1[1256]XX,1,Goto(pbx,${EXTEN},1) ; Startup menu. exten => 1,1,Goto(s,31) ; Invalid extension number. exten => i,1,Set(LANGUAGE()=en) exten => i,n,Playback(invalid&vm-goodbye) exten => i,n,Hangup ; Pound & asterisk keys. exten => #,1,Set(LANGUAGE()=en) exten => #,n,Playback(vm-goodbye) exten => #,n,Hangup exten => *,1,Goto(s,19) exten => a,1,Goto(#,1) ; A timeout rule. exten => t,1,Playback(beeperr) ; Absolute timeout rule. exten => T,1,Set(LANGUAGE()=en) exten => T,n,Playback(please-hang-up-and-try-again&vm-goodbye) exten => T,n,Hangup [default-a] exten => 0,1,Set(LANGUAGE()=en) exten => 0,n,Goto(t,2) ; A timeout rule. exten => t,2,Set(TIMEOUT(absolute)=3600) exten => t,3,Set(QUEUE_PRIO=0) exten => t/_9XXXXXXXXX,3,Set(QUEUE_PRIO=1) exten => t,n,Queue(callcenter|t) exten => t,n,Hangup [default-na] exten => 2,1,Set(LANGUAGE()=en) exten => 2,n,Playback(new-conn-description) exten => 2,n,Wait(.51) exten => 2,n,Playback(max-msg&digits/60&seconds) exten => 2,n,Voicemail(s2200@pbx) exten => 2,n,Hangup exten => 3,1,Set(LANGUAGE()=en) exten => 3,n,Playback(problem-description) exten => 3,n,Wait(.51) exten => 3,n,Playback(max-msg&digits/60&seconds) exten => 3,n,Voicemail(s1602@pbx&1619@pbx) exten => 3,n,Hangup ; A timeout rule. exten => t,2,Playback(vm-nobodyavail) exten => t,n,Wait(.6) exten => t,n,Playback(time-oper&of_9&morning&till&of_9&evening) exten => t,n,Wait(.54) exten => t,n,Playback(vm-goodbye) exten => t,n,Hangup [apps] include => parkedcalls ; Used for login queue agents. exten => 11/_1[146]XX,1,GotoIf($[${LEN(${$[AGENTBYCALLERID_${CALLERIDNUM}]})} <= 2]?login:error) exten => 11/_1[146]XX,n(login),AgentCallbackLogin(${CALLERIDNUM}||${CALLERIDNUM}@pbx) exten => 11/_1[146]XX,n,Hangup exten => 11/_1[146]XX,n(error),Playback(executing-impossible) exten => 11/_1[146]XX,n,Hangup ; Used for logout queue agents. exten => 12/_1[146]XX,1,GotoIf($[${LEN(${$[AGENTBYCALLERID_${CALLERIDNUM}]})} > 2]?logout:error) exten => 12/_1[146]XX,n(logout),Dial(Local/99@apps/n,,D(#)) exten => 12/_1[146]XX,n,Hangup exten => 12/_1[146]XX,n(error),Playback(executing-impossible) exten => 12/_1[146]XX,n,Hangup <> [pbx] <> exten => 1400,1,Goto(default,t,2) exten => 1401,1,Macro(stdcc,${EXTEN}) exten => 1401,hint,SIP/1401 exten => 1402,1,Macro(stdcc,${EXTEN}) exten => 1402,hint,SIP/1402 <> ----------------- agents.conf [general] persistentagents=yes [agents] autologoff=15 ackcall=no wrapuptime=5000 recordagentcalls=no agent => 1401,,Michael agent => 1402,,John <>