Hi Behnry, I've understood the problem.
I think that you can overcome the problem modifying the dialplan used by QM to schedule pausing/unpausing commands to asterisk.
The idea is to "emulate" an unpausing event in the queue_log file, generated by asterisk and used by QM as datasource, every time that an agent wants to insert a pause code. Being "simulated", the PBX will not be alerted and the agent will not receive any call during the unpause period.
For example, forcing a system echo in order to generate events similar to the listed below log snip could be useful:
1231929752|NONE|NONE|Agent/300|UNPAUSEALL|
1231929752|NONE|200|Agent/300|UNPAUSE|
This could be implemented with lines like that:
exten => 22,n,System( echo "${EPOCH}|NONE|NONE|Agent/${AGENTCODE}|UNPAUSEALL|" >> /var/log/asterisk/queue_log ) in the extensions_queuemetrics.conf file you can find in the asterisk configuration folder.
I did not tried to implement it but I'm feeling it will works. Obviously you'll lose the ability to change mistaken pause codes.
Best regards,
Marco Signorini