QueueMetrics forum
QueueMetrics => Running QueueMetrics => Topic started by: bhenry on September 17, 2010, 17:27:38
-
Currently I am using a mix of static and dynamic agents as I am slowly trying to transition my call center to 100% dynamic agents. The problem is that the dynamic agents are not able to be monitored with the call monitor feature. I have set rewritelocalchannels = true so I think the issue is that Queuemetrics dialplan is trying to ChanSpy on the Agent code and not the Local channel. Now I could adjust the queuemetrics dialplan to spy on the local channels but then this would break my static agents monitoring.
Basically what it seems I need, is to rewrite the agent channels back to local channels for the dial plan! This is getting a little confusing, I am wondering if there is anything that can be done to get this working in a mixed environment. Changing the Agent names to Local/XXXX and setting rewritelocalchannels=no, is not an option.
Thanks in advance for your help,
Brendan
-
You should add a check in the dial-plan like:
if (exists local channel)
spy local channel
else
spy static channel
That's why we dial a piece of dial plan instead of implementing the function over AMI :)
-
Instead, I have just moved all of my agents to dynamic SIP agents. I am still having some troubles with call monitoring. I have my agent logon extension set to sip/XXXX@callman02. Everything is working except monitoring. What channel should I be spying on? Agent channel doesnt work and neither does sip/xxxx@callman02?
-
Try a "show channels" and see the exact name of the channel during conversation.
-
It looks like it is using the peer name + unique ID as channel name. I have no idea how to make this work!
*CLI> show channels
Channel Location State Application(Data)
SIP/callman02-09a704 330@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-b76a5f 323@HQSalesSupplier: Up BackGround(record/PleaseWait3f
SIP/callman02-b7697f 330@CSEventBH:5 Up Queue(670001|t|||180)
SIP/callman02-099405 332@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-b769df 332@CSSURVEY:26 Up Queue(670010|t|||300)
SIP/callman02-099348 330@default:1 Up AppQueue((Outgoing Line))
Agent/92341 320@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-0a8c52 92341@default:1 Up (None)
SIP/callman02-b5e4ec 330@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-0abda7 330@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-b7705d 320@HQSalesEvent:4 Up Queue(620001|t|||300)
SIP/callman02-09a534 330@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-b76ba0 330@CSEventBH:5 Up Queue(670001|t|||180)
SIP/callman02-b76b60 330@CSEventBH:5 Up Queue(670001|t|||180)
SIP/callman02-b76b20 330@CSEventBH:5 Up Queue(670001|t|||180)
SIP/callman02-b76ae0 330@CSEventBH:5 Up Queue(670001|t|||180)
SIP/callman02-098b45 330@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-b768ff 331@CSRFP:26 Up Transferred Call(SIP/callman02
SIP/callman02-098bca 331@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-09a1de 670000@default:1 Up Transferred Call(SIP/callman02
SIP/callman02-b76a9f 330@CSEventBH:5 Up Queue(670001|t|||180)
SIP/callman02-b76a1f 331@CSRFP:26 Up Queue(670008|t|||180)
SIP/callman02-09b54b 330@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-b769c2 330@CSEventBH:5 Up Queue(670001|t|||180)
SIP/callman02-0986a0 330@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-b690b0 330@CSEventBH:5 Up Queue(670001|t|||180)
SIP/callman02-098eb4 331@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-b69e7f 331@CSRFP:26 Up Queue(670008|t|||180)
SIP/callman02-098ee2 330@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-b69f26 330@CSEventBH:5 Up Queue(670001|t|||180)
-
I don't think this will work nice with ChanSpy - meaning that it's hard (impossible) to find the correct channel.
-
I figured this out! I modified the addmember removemember queuemetrics context to this:
exten => 25,3,AddQueueMember(${QUEUENAME},Local/${AGENTCODE}@default/n)
/n option specifies the local channel not to zombie and instead stick around as an additional channel (I think it stands for "no realease"). So my show channels looks like:
*CLI> show channels
Channel Location State Application(Data)
SIP/callman02-0ab118 93291@default:1 Ringing AppDial((Outgoing Line))
Local/93291@default- s@macro-dialout-call Ring Dial(SIP/93291@callman02)
Local/93291@default- 330@default:1 Down AppQueue((Outgoing Line))
SIP/callman02-b693c7 330@CSEventBH:5 Up Queue(670001|t|||180)
SIP/callman02-0a4882 (None) Up AppDial((Outgoing Line))
Local/92115@default- s@macro-dialout-call Up Dial(SIP/92115@callman02)
Local/92115@default- 331@default:1 Up AppQueue((Outgoing Line))
SIP/callman02-b69324 331@CSRFP:26 Up Queue(670008|t|||180)
8 active channels
4 active calls
Now I can remote monitor on the Local channels and it is working so far!
-
;D