One thing that I think would be beneficial for full ZAP configs would be to have a definition of what zap channels (local vs long distance) are available network wide.
If you have 2,3,4,5 however many VICIDIAL servers you could define which servers have which circuits.
Server 1 - 47 Channels 'Trunks' (Local)
Server 2 - 48 Channels 'Trunks' (Long Distance)
Server 3 - 16 Channels 'Trunks' (Local & Long Distance)
Currently you define how many trunks per server period.
So when a agent who's softphone reside on Server 2 logs into a campaign dialing local numbers it does not think it has 48 of its own Zap channels to dial out of (since it can only dial long distance numbers).
Ultimately the problem can be the campaign attempting to dial an excess of channels (which are not available) causing overload of the system.
Hope this is clear enough.
-enjay