Well you will want a web server per 150 agents. Put more agents on it than that and you run the risk of running out of local ports (google "linux local port exhaustion"). This is a limit in the IPv4 specification and not in the hardware. The web servers will work just fine as a single quad core with four gigs of ram and two hard drives in a raid 1.
We recommend only putting 25 agents per dialing server with the same specs as above. More than that and you can have problems. This is also not really a limit of the hardware, but the software. Asterisk has locking issues as the channel counts go up. Putting it on heavier duty hardware does not really fix this.
The big thing is the database. I will tell you this. It will be far more cost effective to build four separate clusters each with their own database than to try and build a single database that can handle 1000 agents.
For 1000 agents I would start off with a quad socket motherboard with quad cores in it, as much RAM as you can put into the motherboard, and an enterprise class solid state solutions like these http://www.fusionio.com/
. You might have to upgrade the server from there.
For 250 agents you can use a dual quad core, with 16 gigs of ram, and 4 15k SCSI drives in a RAID10 using a hardware caching Raid controller. We recommend the LSI MegaRaid line (their 3ware line is more suited towards archive servers).
Also I highly recommend buying the "High Performance MySQL" book from O'Reilly (ISBN 978-1-449-31428-6) and reading it. Keep in mind that Vicidial is not compatible with InnoDB while reading it though as they seem to lean towards it heavily.