QueueMetrics forum

QueueMetrics => General Asterisk configuration => Topic started by: silentaccord on May 26, 2011, 22:49:17

Title: "Agent is currently logged off" when local channel doesn't match agent's login
Post by: silentaccord on May 26, 2011, 22:49:17
I'm using Asterisk 1.8 and QueueMetrics 1.7.0.2 with hotdesking. When adding members as local channels, the realtime page only shows the agent logged in if the extension matches the agent's login. For example, if agent/555 is at extension 555, it works. But if this agent logs in at extension 556, the realtime page does not update and continues to display "Agent is currently logged off". The agent really is added to the queue and receives calls but it's just not reflected in QueueMetrics.

Here is the call trace when adding a local channel that does not match the agent's login:
Quote
    -- Executing [35@queuemetrics:1] Answer("Local/35@queuemetrics-cd3e;2", "") in new stack
    -- Executing [10@queuemetrics:1] Answer("Local/35@queuemetrics-cd3e;1", "") in new stack
    -- Executing [10@queuemetrics:2] Wait("Local/35@queuemetrics-cd3e;1", "10") in new stack
    -- Executing [35@queuemetrics:2] NoOp("Local/35@queuemetrics-cd3e;2", " "QM: AddQueueMember (asterisk v1.4+) Agent/555 at extension Local/556@from-queue/n on queue 200 made by 'agent/555' with prioritylabel 'W' and prioritynum '1'" ") in new stack
    -- Executing [35@queuemetrics:3] Macro("Local/35@queuemetrics-cd3e;2", "queuelog,1306441830,1306441830.1091,NONE,Agent/555,HOTDESK,Local/556@from-queue/n") in new stack
    -- Executing [s@macro-queuelog:1] Set("Local/35@queuemetrics-cd3e;2", "ADDINFO=Local/556@from-queue/n||") in new stack
    -- Executing [s@macro-queuelog:2] QueueLog("Local/35@queuemetrics-cd3e;2", "NONE,1306441830.1091,Agent/555,HOTDESK,Local/556@from-queue/n||") in new stack
    -- Executing [35@queuemetrics:4] AddQueueMember("Local/35@queuemetrics-cd3e;2", "200,Local/556@from-queue/n,1") in new stack
    -- Executing [35@queuemetrics:5] Hangup("Local/35@queuemetrics-cd3e;2", "") in new stack

And here are the queue_log entries that are created:
Quote
1306441830|1306441830.1091|NONE|Agent/555|HOTDESK|Local/556@from-queue/n||
1306441830|1306441830.1091|200|Local/556@from-queue/n|ADDMEMBER|


For comparison, here is the call trace when adding a local channel that matches the agent's login:
Quote
    -- Executing [35@queuemetrics:1] Answer("Local/35@queuemetrics-eb13;2", "") in new stack
    -- Executing [10@queuemetrics:1] Answer("Local/35@queuemetrics-eb13;1", "") in new stack
    -- Executing [10@queuemetrics:2] Wait("Local/35@queuemetrics-eb13;1", "10") in new stack
    -- Executing [35@queuemetrics:2] NoOp("Local/35@queuemetrics-eb13;2", " "QM: AddQueueMember (asterisk v1.4+) Agent/555 at extension Local/555@from-queue/n on queue 200 made by 'agent/555' with prioritylabel 'W' and prioritynum '1'" ") in new stack
    -- Executing [35@queuemetrics:3] Macro("Local/35@queuemetrics-eb13;2", "queuelog,1306441760,1306441760.1089,NONE,Agent/555,HOTDESK,Local/555@from-queue/n") in new stack
    -- Executing [s@macro-queuelog:1] Set("Local/35@queuemetrics-eb13;2", "ADDINFO=Local/555@from-queue/n||") in new stack
    -- Executing [s@macro-queuelog:2] QueueLog("Local/35@queuemetrics-eb13;2", "NONE,1306441760.1089,Agent/555,HOTDESK,Local/555@from-queue/n||") in new stack
    -- Executing [35@queuemetrics:4] AddQueueMember("Local/35@queuemetrics-eb13;2", "200,Local/555@from-queue/n,1") in new stack
    -- Executing [35@queuemetrics:5] Hangup("Local/35@queuemetrics-eb13;2", "") in new stack

And here are the queue_log entries that are created when the login and the extension match:
Quote
1306441760|1306441760.1089|NONE|Agent/555|HOTDESK|Local/555@from-queue/n||
1306441760|1306441760.1089|200|Local/555@from-queue/n|ADDMEMBER|

The only difference I can see is the channel. Is there something I need to change in the QueueMetrics configuration to make this work?

Thanks
Title: Re: "Agent is currently logged off" when local channel doesn't match agent's login
Post by: QueueMetrics on May 30, 2011, 10:14:59
Are you sure that Hotdesking is actually enabled? the very idea of hotdesking is to allow for independent logins.
Title: Re: "Agent is currently logged off" when local channel doesn't match agent's login
Post by: silentaccord on May 31, 2011, 17:38:06
I'm fairly certain that hotdesking is enabled. I have this in configuration.properties:

Quote
default.hotdesking=86400

Also, if I use SIP channels, there are no issues adding members when the extensions are different from the logins. I'm only seeing this with local channels.

Thanks
Title: Re: "Agent is currently logged off" when local channel doesn't match agent's login
Post by: QueueMetrics on June 22, 2011, 10:03:03
How are your HOTDESKING and call records? there must be some difference in there.
Title: Re: "Agent is currently logged off" when local channel doesn't match agent's login
Post by: silentaccord on June 24, 2011, 00:00:26
Are you referring to the records in queue_log? I put the HOTDESK events from queue_log in my initial post. Other than the channel and times, the call events are the same. After performing additional testing, I found other issues when using local channels, even when the channel and the agent are the same number, and it makes me wonder if local channels are even supposed to work with QueueMetrics. I certainly hope so because we really need them.

I'd like to get this sorted out as quickly as possible. Is this forum the best place for support? I'd rather not wait weeks for a response if it can be avoided. We are a paying customer. Please let me know exactly what information you need (queue_log, dialplan, configuration.properties, etc.) and the best way to get them to you.

Thank you.
Title: Re: "Agent is currently logged off" when local channel doesn't match agent's login
Post by: silentaccord on June 30, 2011, 23:43:51
I was able to work around this by modifying qloader.pl to rewrite local channels. For example, instead of putting "Local/555@from-queue/n" in the queue_log table, it now logs "Loc/555". Changing "Local" to "Loc" (or to anything else, it seems) fixes all the the issues I was seeing with live and realtime pages and reports. Dropping "@from-queue/n" allows QueueMetrics to remember the current extension auto-populate it when the agent clicks Remove Member, Pause, or Unpause.

Thanks
Title: Re: "Agent is currently logged off" when local channel doesn't match agent's login
Post by: QueueMetrics on July 01, 2011, 10:04:20
This is weird, as such extensions should be rewritten automatically.