We spent some days around asterisk 1.8.1 and, at the end, we found a set of workarounds that let us able to have it working with QueueMetrics, at least in the environment we set up. Please note that we tested the environment using dynamic agents with hotdesking enabled, as described in the document you can find at the link
http://www.queuemetrics.com/download/QM_Trixbox_40.pdfWe started from a fresh TrixBox 2.8.0.4 install then we replaced asterisk with the latest 1.8.1, compiling it from sources.
The first problem found seems related to a bug present in asterisk (since the 1.8.0 version) that prevents the full queue activity log until a reload command is issued from the CLI. To fix this problem we had to change the code in the logger.c file found in the main subfolder present in the asterisk sources, near the line 396, in order to have something similar to what is listed below:
if (qlog)
fclose(qlog);
{
char tmp[4096];
snprintf(tmp, sizeof(tmp), "%s/%s", ast_config_AST_LOG_DIR, queue_log_name);
qlog = fopen(tmp, "a");
}
Then we had to rebuild asterisk and to reinstall it.
The next step is to change the extensions_queuemetrics.conf in order to fix a problem related to the pipe separator that is now deprecated in asterisk 1.8.
To have this, we replaced the macro-queuelog at the end of the file with the code:
exten => s,1,Set(ADDINFO=${ARG6}|${ARG7}|${ARG8})
exten => s,n,QueueLog(${ARG3},${ARG2},${ARG4},${ARG5},${ADDINFO})
This should solve the login-logout procedures from the agent panel.
We then changed the line
exten => 11,7,ChanSpy(${QM_AGENT_EXT)
to
exten => 11,7,ChanSpy(${QM_AGENT_LOGEXT})
in the extensions_queuemetrics.conf file to enable chan spy for dynamic agents with hotdesking.
We restarted QM and agents were able to log-in/log-out pause/unpause through the QueueMetrics agent page.