QueueMetrics > General Asterisk configuration

Dynamic Agents and Asterisk ARA

(1/3) > >>

supertle:
In our callcenter, we allow an agent to dynamically sit wherever they want.  So we have no idea where they are until they actually log in.  We give out a separate loginID# to each agent to use for logging in.  When they log in,  the agent enters the extension# of the phone they are sitting at and I track this in mysql database.  I then add in the extension interface they entered using ADDQUEUEMEMBER to the queue(s) they belong to as they log in.  When they logoff, I lookup interface in the database and remove that interface out of the queue.

I have a table in my Asterisk ARA database call Agents which basically has two columns

AgentID    |     Location
ABC_1001       SIP/1104
ABC_1002       SIP/1109
ABC_1003       LOGOUT
ABC_1004       LOGOUT
ABC_1005       LOGOUT

I use the RealTimeUpdate and RealTime command in my Asterisk dialplan to update these entries.  How can I associate and show the AgentIDs rather then the INTERFACE in the queues.  I have a custom web GUI that displays the AgentID and the location they are sitting at but that would not work too well if say agent ID1001 was sitting at 1104 and leaves for the day and then agentID1005 comes in at night and sits at extension SIP/1104.   

Sorry if this may have been covered in the documents somewhere but I have looked through many and not found anything.  I only found about tracking dynamic agents as they log in and logoff.  I can echo the agentID (i.e. ABC_1001) during the logon/logoff process but then later when SIP/1104 gets calls, I don't see how to connect the relationship as Asterisk does not know anything about my ABC_1001 when it writes to queue_log.  I'm running on Asterisk 1.2 (ABE-B).  Will be upgrading to 1.4 very soon.

QueueMetrics:
The problem with this is that QM actually uses the interface name as it's logged for the agent name. One siomple thjing that comes to my mind is: you could try using Local/1234@agents for agents, where 1234 is the agent code, and the [agents] context takes an agent id, does a DB lookup and calls the required SIP terminal. Do you think this would be OK?
 

supertle:
This looks to be a solution.  So you are suggesting when we add a dynamic member to a queue, to use agent@context as the interface to be added in.  Will try it out and let you know.  Do you see any other alternative that would involve only tweaking with QM?  Reason is b/c we have many customers and hundreds of queues that we would have to go back and re-modify/test out to make it compatible with QM. 

supertle:
i did what you suggested and its working great.  Now I see local/AgentID@context in QM.  I think I can work with this.  It was much easier then I thought.  Now I just have to test to make sure context interface within a queue works the same way as having a "real" interface in the queue. 

One question I have is though ... I am noticing if I add the following interfaces to my queues

Local/1001@Customer1 to Queue1
Local/1001@Customer2 to Queue2

QM is recognizing this as the same Agent when in fact its two different agents.

supertle:
Also, the realtime monitoring is looking good but when I run reports on the queue.  It is showing the phone extension rather then the Local/agent@context.  The reports does not show anything about these Local/Agents@context answering calls.  It shows the SIP/XXXX devices answering the call.

Navigation

[0] Message Index

[#] Next page

Go to full version