Lots of other work in between like e-mail and administrative tasks
That's all computer work. No reason they can't be logged in to Vicidial while sitting at their workstation betting paid.
Low volume callcenter with a few agents logged in but 24x7
This I get, though. If they won't be getting a call for the next hour or so (possibly), Having the headset on is not viable.
But together these two items tend to make it more likely that the calls shouldn't be ring all, perhaps. Especially if one-at-a-time would result in different calls ringing on different workstations perhaps even simultaneously. Plus, the "longest wait time" option would more evenly distribute calls rather than "bob always answers" and "Mary just lets everyone else answer" scenario.
There are only 4 block options, the first is for on hold prompt, then you have estimated hold time minimum, wait time, hold time. But we rarely use the last 3.
You skipped over the sledgehammer comment. This isn't about what you use. This is about "try everything at once, if that fixes it, now you can try to narrow down WHY, if it doesn't ... then none of those are relevant". Note that this is linux-world, just because it *shouldn't* be relevant in no way means it isn't, lol. Welcome to the Matrix: Some rules can be bent, other broken.
But i don't think this feature works like you and i hope it would. I tested it and it will keep playing the entire prompt before connecting it with the agent. This feature is intended for other callers in line to pass the caller who is listening to the on hold prompt, but i don't understand that feature if it works the way as it described.
Sledgehammer. I've found dozens of cases where it wasn't the setting I thought it was. That's why I try *all* of them. Sometimes it's an understanding issue, sometimes it's coding error, sometimes it's a difference of opinion between myself and some nameless engineer (who should be slapped) who wrote this code snippet a decade ago regarding semantics.
But i did test this myself on the client system...
I also tested this on a development server and it behaves the same.
Of course it's virtual ...
I would strongly suggest you test this in a physical server before the verdict. Hi-Res perl timing required for the scripts managing inbound calls is labor intensive. If you can, of course.
Another approach (which we've used a few times) is a hybrid: Put an Asterisk Queue in that ingroup. You'll have to play a game with the agent screen to get the client-data (perhaps a fake carrier and call the prospect with auto-answer on the fake carrier and "nophone" on the login, based on the CID on the agent's phone would get the client data on-screen without an actual extra call and only a slight delay?). But if the behavior is what you NEED ...
Alternately, actually checking the code to see how much effort will be needed to auto-release the next call immediately when anyone answers the "ring-all" and initiate ring on any agents who "tried but failed" and then hung up so they are now available.
An interesting statistic would be to check exactly how long it takes for Vici to generate that next ring-all to the agents after the previous caller is answered. If it's precisely the same amount of time each time, there may actually be a "built-in" purposeful delay that could either be altered OR overridden under specific circumstances.
Also: Why don't you just allow the agents to use the "grab call" feature?