QueueMetrics > Outbound and QueueMetrics
Outbound with Asterisk 1.6
barryf:
--- Quote from: QueueMetrics on March 05, 2010, 10:31:31 ---Do we have to list you as "Non-continnetal support team"? ;D
--- End quote ---
But then I would have to answer the hard questions as well ;-)
Wannabe Hero?
-Barry
viniciusfontes:
--- Quote from: barryf on March 03, 2010, 17:50:52 ---
--- Quote from: viniciusfontes on March 03, 2010, 17:44:56 --- the real problem is that when the agent logs off, he still is listed as logged in on the wallboard. Here's a few entries on my queue_log:
1267634130|1267634122.11|NONE|Local/101@xagents|AGENTCALLBACKLOGIN|201
1267634130|1267634122.11|q-001|Local/101@xagents|ADDMEMBER|
1267634228|1267634228.12|q-001|Agent/101|ENTERQUEUE|-|21047051|
1267634234|1267634228.12|q-001|Agent/101|CONNECT|6||
1267634247|1267634228.12|q-001|Agent/101|COMPLETECALLER|6|13|
1267634266|1267634260.16|q-001|Local/101@xagents|REMOVEMEMBER|
1267634266|1267634260.16|NONE|Local/101@xagents|AGENTCALLBACKLOGOFF|
Even after that, the agent is still listed as logged in. Any ideas on solving this?
--- End quote ---
Hi,
The problem is that you are alternating between referring to your aghents as Agent/101 and as Local/101
Queuemetrics by default expects to see Agent/ - that's why it is seeing the agent once they are on a call, but not the login/logoff part.
If you edit configuration.properties and change:
# Rewrites Local/XXX@ext channels in the format Agent/XXX
default.rewriteLocalChannels=false
to
# Rewrites Local/XXX@ext channels in the format Agent/XXX
default.rewriteLocalChannels=true
...you should be good.
Hope this helps.
-Barry
--- End quote ---
That did the trick. Thanks!
Now my customer wants the agents to log in using the agent's page, in order to enter call outcomes and etc. I also agree that's much easier this way, but that's what happens on the Asterisk CLI when I log in as an Agent and click the Log on button:
--- Code: --- == Manager 'queuemetrics' logged on from 127.0.0.1
-- Executing [20@queuemetrics:1] Answer("Local/20@queuemetrics-4816;2", "") in new stack
-- Executing [20@queuemetrics:2] NoOp("Local/20@queuemetrics-4816;2", " "QM: AddQueueMember (asterisk v1.4+) Agent/101 on queue made by 'Agent/101'" ") in new stack
-- Executing [20@queuemetrics:3] AddQueueMember("Local/20@queuemetrics-4816;2", ",Local/101@interno") in new stack
[Mar 5 10:52:49] WARNING[4830]: app_queue.c:4739 aqm_exec: Unable to add interface to queue '': No such queue
-- Executing [20@queuemetrics:4] Hangup("Local/20@queuemetrics-4816;2", "") in new stack
== Spawn extension (queuemetrics, 20, 4) exited non-zero on 'Local/20@queuemetrics-4816;2'
--- End code ---
I used the dialplan provided by Loway. Here's the extension 20 on the context queuemetrics:
--- Code: ---; extension 20: agent addqueuemember (for asterisk v1.4+)
exten => 20,1,Answer
exten => 20,n,NoOp( "QM: AddQueueMember (asterisk v1.4+) Agent/${AGENTCODE} on queue ${QUEUENAME} made by '${QM_LOGIN}'" )
exten => 20,n,AddQueueMember(${QUEUENAME},Local/${AGENTCODE}@interno)
exten => 20,n,Hangup
--- End code ---
Looks like the variable QUEUENAME is not being set. Also, I have specified the agent's extension as 201, and I can't see where that info is used.
Guess I'm doing something very wrong here. Any suggestions?
barryf:
--- Quote from: viniciusfontes on March 05, 2010, 15:00:54 ---
I used the dialplan provided by Loway. Here's the extension 20 on the context queuemetrics:
--- Code: ---; extension 20: agent addqueuemember (for asterisk v1.4+)
exten => 20,1,Answer
exten => 20,n,NoOp( "QM: AddQueueMember (asterisk v1.4+) Agent/${AGENTCODE} on queue ${QUEUENAME} made by '${QM_LOGIN}'" )
exten => 20,n,AddQueueMember(${QUEUENAME},Local/${AGENTCODE}@interno)
exten => 20,n,Hangup
--- End code ---
Looks like the variable QUEUENAME is not being set. Also, I have specified the agent's extension as 201, and I can't see where that info is used.
Guess I'm doing something very wrong here. Any suggestions?
--- End quote ---
Hi,
Extension 20 is for agent login (at least in the example extensions_queuemetrics.conf supplied) , whereas you appear to be calling the AddMember extension. For agent login $QUEUENAME would not be required, only the following are needed: AGENTCODE and AGENT_EXT and they both get set in my test.
-Barry
viniciusfontes:
You're right. But in the supplied extensions_queuemetrics.conf the original extension 20 is this one:
--- Code: ---; extension 20: agent callback login
; For this to work, there must be no password on the agent.
exten => 20,1,Answer
exten => 20,2,NoOp( "QM: Logging on Agent/${AGENTCODE} to extension ${AGENT_EXT}@from-internal made by '${QM_LOGIN}'" )
exten => 20,3,AgentCallBackLogin(${AGENTCODE},,${AGENT_EXT}@from-internal)
exten => 20,4,Hangup
--- End code ---
And it uses AgentCallBackLogin, which is no longer available on Asterisk 1.6.1. :( So you're using outbound with Asterisk 1.6 but not logging the agents via their page on QM, is that right?
EDIT: Forgot to add this. So, considering that Asterisk 1.6 has no longer the app AgentCallBackLogin and it appears that QM doesn't set the required variables in order to add dynamically the channel to the queue... all indicates that 1.6 isn't the best choice in this case. As this is my first QM implementation, I hope I'm dead wrong about this. :)
barryf:
--- Quote from: viniciusfontes on March 05, 2010, 18:22:49 ---You're right. But in the supplied extensions_queuemetrics.conf the original extension 20 is this one:
--- Code: ---; extension 20: agent callback login
; For this to work, there must be no password on the agent.
exten => 20,1,Answer
exten => 20,2,NoOp( "QM: Logging on Agent/${AGENTCODE} to extension ${AGENT_EXT}@from-internal made by '${QM_LOGIN}'" )
exten => 20,3,AgentCallBackLogin(${AGENTCODE},,${AGENT_EXT}@from-internal)
exten => 20,4,Hangup
--- End code ---
And it uses AgentCallBackLogin, which is no longer available on Asterisk 1.6.1. :( So you're using outbound with Asterisk 1.6 but not logging the agents via their page on QM, is that right?
--- End quote ---
Yeah that's correct, I am not using the QM agents page presently. It is something I will be adding at some stage. However, I have done my own thing to implement AgentCallBackLogin style functionality using realtime members, and only having the AGENTCODE and AGENT_EXT would suffice.
Can you post your dialplan which agents use to log in? I am sure there is a way to make it work.
--- Quote ---EDIT: Forgot to add this. So, considering that Asterisk 1.6 has no longer the app AgentCallBackLogin and it appears that QM doesn't set the required variables in order to add dynamically the channel to the queue... all indicates that 1.6 isn't the best choice in this case. As this is my first QM implementation, I hope I'm dead wrong about this. :)
--- End quote ---
It can be done. I admit the changes in 1.6 caused a lot of headaches to a lot of people. In my case, however, the pain turned out to be worth it because my system now is totally realtime and very efficient.
I intend to document it and make it available, but finding the time is a challenge!
-Barry
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version