Using fully dynamic members with QM 1.4 and Asterisk 1.4

2007-12-06
If you run QueueMetrics 1.4.1 or newer, you can fully use the new ADDMEMBER / REMOVEMEMBER to track agents logging on on a queue-by-queue basis. If you run Asterisk 1.4, most of the logging is already done correctly by Asterisk itself.

In this example, we assume that:
  • All agents are entered as Local/NUM@agents - feel free to use Local/XX@from-internal or whatever matches your system configuration
  • The example queue you join here is called my-queue
  • You will call the following pieces of dialplan:
    1. 422XX to log on Agent/XX to the queue my-queue
    2. 423XX to log off Agent/XX from the queue my-queue
    3. 416XX to pause Agent/XX (on all queues she's working on)
    4. 417XX to unpause Agent/XX
This is the relevant piece of dial plan:
; addqueuemember - 422
exten => _422XX,1,Answer
exten => _422XX,2,AddQueueMember(my-queue,Local/${EXTEN:3}@agents)
exten => _422XX,3,Hangup

; removequeuemember - 423
exten => _423XX,1,Answer
exten => _423XX,2,RemoveQueueMember(my-queue,Local/${EXTEN:3}@agents)
exten => _423XX,3,Hangup

; agent pause
exten => _416XX,1,PauseQueueMember(|Agent/${EXTEN:3})
exten => _416XX,n,Hangup()

; agent unpause
exten => _417XX,1,UnpauseQueueMember(|Agent/${EXTEN:3})
exten => _417XX,n,Hangup()

Do not forget to also change the value:
default.rewriteLocalChannels=false
in QueueMetrics' WEB-INF/configuration.properties file.