QueueMetrics > Realtime Live

Extension column in Agent Table

<< < (2/2)

QueueMetrics:
You cannot use ADDMEMBER verbs at all, but you must use AgentCallBackLogin (and make REMOVEMEBER as AgentCallBackLogoff)

tonils:
Excellect!!

So I have combined suggestions from page 127 and page 140 of your manual and rewritten queumetrics,20 and queuemetrics,21 along the following lines


--- Quote ---; EXTEN 20
;  QueueMetrics Agent Login
;  This extension logs in a call-back agent. The variables AGENTCODE and
;  AGENT_EXT are defined. Please note that for this to work properly, there
;  must be no password set on the Asterisk agent.
exten => 20,1,NoOp(QM: Logging on Agent/${AGENTCODE} to extension ${AGENT_EXT})
exten => 20,n,Answer()

exten => 20,n,GotoIf($[x${AGENT_EXT} = x]?hangup)

exten => 20,n,Set(DB(QM/Agent/${AGENTCODE})=${AGENT_EXT})
exten => 20,n,Set(DB(QM/Exten/${AGENT_EXT})=${AGENTCODE})
exten => 20,n,Set(DB(QM/AgentLogin/${AGENTCODE})=${EPOCH})
exten => 20,n,QueueLog(NONE,${UNIQUEID},Agent/${AGENTCODE},AGENTCALLBACKLOGIN,SIP/${AGENT_EXT})

...

exten => 20,n(hangup),Hangup()

--- End quote ---


--- Quote ---; EXTEN 21
;  QueueMetrics Agent logoff
;  This extension logs off an agent. The variable AGENTCODE is defined.
exten => 21,1,NoOp(QM: Logging off Agent/${AGENTCODE})
exten => 21,n,Answer()

...

exten => 21,n,Set(AGENTLOGIN=${DB(QM/AgentLogin/${AGENTCODE})})
exten => 21,n,GotoIf($[0${AGENTLOGIN}=0]?startnow)
exten => 21,n,Set(LOGONTIME=$[${EPOCH} - ${AGENTLOGIN}])
exten => 21,n,Goto(logagentoff)
exten => 21,n(startnow),Set(LOGONTIME=0)
exten => 21,n(logagentoff),QueueLog(${QUEUENUMBER},${UNIQUEID},Agent/${AGENTCODE},AGENTCALLBACKLOGOFF,SIP/${DB(QM/Agent/${AGENTCODE})},${LOGONTIME},0)

exten => 21,n,DBDel(QM/Exten/${DB(QM/Agent/${AGENTCODE})})
exten => 21,n,DBDel(QM/Agent/${AGENTCODE})

exten => 21,n,MYSQL(Disconnect ${connid})
exten => 21,n,Hangup()


--- End quote ---

QueueMetrics:
Way cool!  :D

Navigation

[0] Message Index

[*] Previous page

Go to full version