[asterisk-users] 7960 Queue Issue

Robert Lister robl at linx.net
Tue Nov 6 08:41:13 CST 2007


On Mon, Nov 05, 2007 at 12:09:48PM +1100, Nick Brown wrote:
> Thanks Eric, this is the case. A bit of a shame that it removes the
> functionality for the member to see calls that have not come from a queue
> however there is not much choice in the matter.

It works for me... somehow... I have Cisco 7960 phones also.

I think I add the Local/xx instances into the queue instead of the SIP/ 
device names, and then have a context that checks the state of the SIP 
channel before trying to place a call to it.

(So, member = Local/xxx at agent_call) where agent_call is the context to go to 
in the dialplan that handles the agent calls (and passes it to another 
queue/voicemail if the queue drops out with full/unavailable etc.)

[agent_call] does some stuff with ChanIsAvail checking if the channel is 
free before placing a call, and if it is found to be busy, it returns goes 
to a step which returns Busy() which causes the queue processor to move on 
to the next person in the queue. (It will go to agent_call again for the 
next destination, and so on.)

That way, users can have DDI numbers with call waiting functionality enabled 
on the handset if they wish, but for queue calls, it goes to the next 
available queue member rather than stacking up all the calls on one phone.

What I have is a simplified (and 1.4/1.2 compatible) version of 
Example 2 at:

http://www.voip-info.org/wiki/view/Agents+without+agent+channel

(just look in the [agent_call] bit of this, and you'll see it is using
ChanIsAvail to check the status.)

I did not need all the functionality of this example, so removed a bit of 
it, but used it because encountered a few limitations with chan_agent which 
meant I couldn't use Agents, so replaced the functionality in dialplan 
logic. (which was bit difficult to do, but it works!)

I can send you what I have if you like, but my dialplan is quite complicated 
as the setup here allows 'agents' to log in and out from any phone, so the 
users extn numbers are essentially portable. (i.e, the handsets have some 
meaningless (to the user) extension like "42105" and the user logs in as 710 
from that handset. Some database work is done when they log in to map 710 -> 
SIP/42105, fix the outgoing caller ID, and add them to their queues.

Alternatively, you might be able to use Agents, but I really cannot 
recommend it, as for me, it caused more problems than it solved (problems 
with call waiting, transfers, and the fact that the feature it relies on, 
AgentCallbackLogin() is deprecated in 1.4 anyway.

Rob


-- 
Robert Lister     - London Internet Exchange - http://www.linx.net/
sip:robl at linx.net - inoc-dba:5459*710        - tel: +44 (0)20 7645 3510



More information about the asterisk-users mailing list