DAC com agentes dinamicos (ZAP)

[daclogin]
; logar agente
exten => 8001,1,NoCDR()
exten => 8001,n,Set(FILA=minhaFila)
exten => 8001,n,Goto(memberAdd,s,1)
; deslogar agente
exten => 8002,1,NoCDR()
exten => 8002,n,Set(FILA=minhaFila)
exten => 8002,n,Goto(memberRemove,s,1)

[memberAdd]
exten => s,1,NoCDR()
exten => s,n,GotoIf($[“${CALLERID(num)}” < "910"]?300) exten => s,n,GotoIf($[“${CALLERID(num)}” > “909”]?200)

exten => s,300,AddQueueMember(${FILA}|Zap/${CALLERID(NUM):2})
exten => s,301,ExecIf($[“${AQMSTATUS}” = “ADDED”]|Background|agent-loginok)
exten => s,302,ExecIf($[“${AQMSTATUS}” = “MEMBERALREADY”]|Background|agent-alreadyon)
exten => s,303,Hangup

exten => s,200,AddQueueMember(${FILA}|Zap/${CALLERID(NUM):1})
exten => s,201,ExecIf($[“${AQMSTATUS}” = “ADDED”]|Background|agent-loginok)
exten => s,202,ExecIf($[“${AQMSTATUS}” = “MEMBERALREADY”]|Background|agent-alreadyon)
exten => s,203,Hangup
[memberRemove]
exten => s,1,NoCDR()
exten => s,n,GotoIf($[“${CALLERID(num)}” < "910"]?300) exten => s,n,GotoIf($[“${CALLERID(num)}” > “909”]?200)

exten => s,300,RemoveQueueMember(${FILA}|Zap/${CALLERID(NUM):2})
exten => s,301,ExecIf($[“${RQMSTATUS}” = “REMOVED”]|Background|agent-loggedoff)
exten => s,302,ExecIf($[“${RQMSTATUS}” = “NOTINQUEUE”]|Background|agent-loggedoff)
exten => s,303,Hangup

exten => s,200,RemoveQueueMember(${FILA}|Zap/${CALLERID(NUM):1})
exten => s,201,ExecIf($[“${RQMSTATUS}” = “REMOVED”]|Background|agent-loggedoff)
exten => s,202,ExecIf($[“${RQMSTATUS}” = “NOTINQUEUE”]|Background|agent-loggedoff)
exten => s,203,Hangup

Deixe um comentário