[asterisk-dev] app_queue member naming and AMI events

Nicolás Gudiño nicolas at house.com.ar
Sat Sep 9 15:26:09 MST 2006


> ----- Nicolas Gudino <nicolas at house.com.ar> wrote:
>> Time shifts or hotdesks: You have 5 phones/devices and 20 agents. The
>> agents are able to login to whatever phone/device is available at any
>> time. And you want queue_log reports for the agent activity, not the
>> phone/device.
>
> I agree. But that's not what you said was the issue. You said that 
> Local/XXX at agents might not be a call to Agent XXX, when in your 
> scenario about it always would be, but the actual device destination 
> may differ. When Agent XXX logs in to phone 1234, the queue will still 
> call Local/XXX at agents, but the logic you build in the dialplan will 
> deliver the call to phone 1234.
>
> At least conceptually, this makes perfect sense to me.
>

Yes it makes sense... so I gave it some time and based on the example 
from here:

http://lists.digium.com/pipermail/svn-commits/2006-August/015936.html

but doing it in standard extensions.conf lingo and with some tweaks I 
implemented a replacement agentcallbacklogin using dynamic members, 
dialplan logic and astdb.

Things to consider:

1) You need two astdb families: one for mapping devices to agent 
numbers, used in the pause/unpause functions, and another to map agent 
numbers to devices, used in the agents context to ring the proper 
device for each agent.

2) In order to track correctly the events in queue_log, you should use 
"/n" for Local channels. If not, you will get some events with Local 
and others with the real device name.

3) the queue system does not know the state of Local queue members 
(with regular devices the queue app knows if it is in use, ready, etc). 
  Try a 'show queues' from the CLI or look at the AMI events when 
querying queue status. This is NOT nice.

I tried with 1.2.11. I believe that (3) is probably also an issue in 
trunk.

Regards,

--
Nicolas Gudino
Buenos Aires - Argentina



More information about the asterisk-dev mailing list