roundrobin and rrmemory basically have to cycle through the entire queue list before calling an agent again…
let’s say you have three agents, 101, 102, and 103. you are using rrmemory. you have several calls in queue
101 gets rung, picks up the call
102 gets rung, picks up the call
103 gets rung, doesn’t pick up the call
101 gets rung, is still on the phone,
101 hangs up after being rung.
at this point, 101 could take another call, but the system has to ring 102 and 103 first. this is a crude example, but imagine if you had 10 or 20 users in queue. now you see why some people sit forever before receiving another call.
ringall will ring ALL members at the same time - whoever picks up gets the call. it’s a bit disconcerting, as other users will pick up a line and get a dialtone if they weren’t quick enough, but you can FLY through a queue this way.
there are a few bugs in app_queue, specifically with how it handles devicestate and multiple calls going to devices (there are patches on the bugtracker), but ringall is a great strategy to use if you can implement it.