Hi Jon,
This comment is rather a set of recommendations regarding "how to estimate" then the answer to your question.
In general, the number of extensions is not a parameter which has strong influence on the requirements to PBX host hardware. (it is not "a property" of 3CX Phonesystem, it is the same for any other PBXes...)
It is better to estimate "typical load".
General estimations:
1. which kind of the "typical" routing scenarios are expected to be handled by the installation and what are the participans of those scenarios (queus, DRs, ringgroups, etc.)?
2. What is the peak of the "calls per second" rate expected(per scenario)?
3. What is the number of simultaneous calls are expected(per scenario)?
4. What is the average duration of each routing segment (per scenario)?
Basing on this it is possible to estimate (it is for 3CX PhoneSystem):
1. How many calls will be established simultaneously? (memory)
2. How many calls will come to the queues simultaneously? (cpu, memory)
3. How many calls will be handled in transcoding mode and use expensive codec such as G729 simultaneously? (CPU)
4. How many calls will be recorded simultaneously? (CPU, disk storage performance)
5. How many calls will be handled by IVR simultaneously? (CPU, memory)
For example, 160 extensions can be:
1. 160 agents of the queues
2. 160 users who receive direct incoming calls from PSTN/Voip providers.
3. 160 users who call each other. (rarely external calls)
4. 160 users who extensivelly use voicemail and other DR based services (or receive calls using those services)
5. installation may use VoIP providers or PSTN gateways connected to "copper" lines...