If you do not need to connect to the PSTN, Asterisk requires no hardware other than a server with a Network Interface Card.
However, if you are going to be providing music on hold[34] or conferencing and you have no physical timing source , you will need the ztdummy Linux kernel module. ztdummy is a clocking mechanism designed to provide a timing source to a system where no hardware timing source exists. Think of it as a kind of metronome to allow the system to mix multiple audio streams in a properly synchronized manner.
[34] Technically, no timing source is needed for music on hold, but it generally works better with one.