1
Outbound and QueueMetrics / Re: Outbound with Asterisk 1.6
« on: March 29, 2010, 15:32:59 »
Thanks a lot!
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
-- Executing [021047051@callcenter:1] Goto("SIP/201-00000001", "queuedial-loggedon|00121047051|1") in new stack
-- Goto (queuedial-loggedon,00121047051,1)
-- Executing [00121047051@queuedial-loggedon:1] Set("SIP/201-00000001", "QDIALER_QUEUE=q-001") in new stack
-- Executing [00121047051@queuedial-loggedon:2] Set("SIP/201-00000001", "QDIALER_NUMBER=21047051") in new stack
-- Executing [00121047051@queuedial-loggedon:3] Set("SIP/201-00000001", "QDIALER_AGENT=Agent/") in new stack
-- Executing [00121047051@queuedial-loggedon:4] Set("SIP/201-00000001", "QDIALER_CHANNEL=SIP/21047051") in new stack
-- Executing [00121047051@queuedial-loggedon:5] Set("SIP/201-00000001", "QueueName=q-001") in new stack
-- Executing [00121047051@queuedial-loggedon:6] MixMonitor("SIP/201-00000001", "Q-q-001-1268750945.1.WAV|b|") in new stack
== Begin MixMonitor Recording SIP/201-00000001
-- Executing [00121047051@queuedial-loggedon:7] GotoIf("SIP/201-00000001", "0?qm-queuedial|s|1") in new stack
-- Executing [00121047051@queuedial-loggedon:8] NoOp("SIP/201-00000001", "Extension 201 is not logged on as agent.") in new stack
-- Executing [00121047051@queuedial-loggedon:9] Playback("SIP/201-00000001", "agent-loggedoff") in new stack
-- <SIP/201-00000001> Playing 'agent-loggedoff' (language 'pt_BR')
-- Executing [00121047051@queuedial-loggedon:10] Congestion("SIP/201-00000001", "") in new stack
== Spawn extension (queuedial-loggedon, 00121047051, 10) exited non-zero on 'SIP/201-00000001'
== End MixMonitor Recording SIP/201-00000001
; extension 22: agent pause (with pause code)
exten => 22,1,Answer
exten => 22,2,NoOp( "QM: Pausing Agent/${AGENTCODE} with pause reason '${PAUSEREASON}' made by '${QM_LOGIN}' " )
exten => 22,3,PauseQueueMember(,Agent/${AGENTCODE})
exten => 22,4,System( echo "${EPOCH}|${UNIQUEID}|NONE|Agent/${AGENTCODE}|PAUSEREASON|${PAUSEREASON}" >> /var/log/asterisk/queue_log )
exten => 22,5,Hangup
; extension 23: agent unpause
exten => 23,1,Answer
exten => 23,2,NoOp( "QM: Unpausing Agent/${AGENTCODE} made by '${QM_LOGIN}' " )
exten => 23,3,UnpauseQueueMember(,Agent/${AGENTCODE})
exten => 23,4,Hangup
No you do not need to downgrade. Just use that.That what?
I know that. That's why I made this post in this same topic: http://forum.queuemetrics.com/index.php?topic=782.msg3324#msg3324. Here I explain that probably some required variables for this to work correcty aren't being set.
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.
For 1.6, you would NOT be using AgentcallbackLogin but ADDMEMBER intead.
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.Well actually this system isn't in production yet. We're installing QM and doing all the testing while the telco doesn't install the DID for the customer. I guess it will take about 15 more days -- that's why I'm considering downgrading to 1.4, as this is a clean install. However, if there's a way to implement that on 1.6 it would be much better, because I'm sure some point in time I'll need to upgrade to an Asterisk version that will no longer have the AgentCallBackLogin app anymore. So it's better to have all the headache while the system isn't in production yet.
Can you post your dialplan which agents use to log in? I am sure there is a way to make it work.
; 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
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?
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
== 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'
; 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