It’s always difficult to specify system performance. For a system this size (with 450-500 concurrent calls internal/external and multiple T1 lines) I would suggest looking at splitting the load across a few servers. A lot depends how much transcoding you want to use (e.g. GSM to ULAW, G.729 to ALAW, etc) and what sort of other facilities (conferences, queues, system messages playing, voicemail, etc) you will want to use.
First off I’d recommend using two front end servers for the ISDN lines each with a 4-port T1 card such as the TE420P or TE412P depending whether the server is PCI or PCI-Express. Something like a HP Proliant DL360 would do the job for each of these.
Next use another server to register the SIP extensions with trunking (IAX2 or SIP) between this server and the above two servers.
Another server could then be used for only voicemail, conferencing and some other functions. This could possibly also act as a backup server for all extensions. Trunking would be needed between this server and the SIP extensions server (and possibly the two front end servers depending upon how external callers requiring vm/conf access will be handled).
Again the two back-end extension and conference/voicemail servers would well be DL360 machines.
Memory wise each system would be best with 4GB and with a system like this stick with 32-bit systems as Asterisk (as far as I know) is not supported by Digium on 64-bit systems. A system like this would be best installed on as supported a structure as possible.