How to choose: answering the main questions

How many concurrent calls can the server handle?

Asterisk without transcoding: ~150–250 concurrent calls per 4–6 modern cores. Transcoding (G.729, video conferencing) increases load by 5–10x — calculate your codec requirements in advance.

What about call recording?

1000 hours of recordings ≈ 60 GB in MP3. A call center with 50 operators needs a couple of TB for a yearly archive: SSD for current recordings, HDD for the archive, RAID is mandatory — recordings are often a regulatory requirement.

Virtualize a PBX?

It is possible and convenient (snapshots, migration), but with dedicated cores and no CPU oversubscription: jitter from 'neighbors' is audible. For SBC at the edge, use dedicated hardware.