Here's is a very simple analysis method that I use for basic capacity planning:
Evaluate the following
1. Codec to be used: Ulaw (least load), GSM (more load), G729 (most load)
2. Number of Simultaneous calls = Number of agents X Lines per agent
3. Bandwidth Required; Ulaw (90 kbps/call), GSM (30 kbps/call), G729 (24 kbps/call using free version) or (15 kbps/call using paid version)
4. Call recording (All/on demand/never)
Now here are some examples on how to use this information:
Scenario A:
1=Ulaw, 2=20X2=40, 3=90X40=3600 kbps, 4=Never
One server (all in one) with Core 2 Duo or equivalent, 4 GB RAM, 3.5 Mbps bandwidth connection
Scenario B:
1=GSM, 2=20X2=40, 3=30X40=1200 kbps, 4=Never
One server (all in one) with Core 2 Duo or equivalent, 4 GB RAM, 1.5 Mbps bandwidth connection
Scenario C:
1=G729 (free), 2=60X2=120, 3=24X120=2880 kbps, 4=All
Two servers with Quad Core (Asterisk), 6 GB RAM each, 3.0 Mbps bandwidth connection in total
One server with Quad Core (Core 2 Duo might be sufficient for MySQL, Apache and FTP), 4-8 GB RAM, 250 GB HDD or better for recordings
Basically if you are going for more than 50-60 simlutaneous calls on a lower codec like G729, you should look at load balancing multiple servers. I hope this was helpful.