The popular Asterisk iPBX server is the reigning champion of the Voice over Internet Protocol (VoIP) set, but there are other worthy contenders as well, such as SipX. If Asterisk represents the first generation of software PBXes, SipX is second generation, with a different approach and design philosophy.
SipX, strictly speaking, is a Session Initiation Protocol (SIP) proxy that includes a raft of PBX functions like voice mail, sophisticated call routing and auto-attendants. SIP is becoming the most popular VoIP protocol. SIP is a general-purpose protocol designed to be adaptable for moving different kinds of traffic. As RFC 3261 says: "SIP is an agile, general-purpose tool for creating, modifying and terminating sessions that works independently of underlying transport protocols and without dependency on the type of session that is being established."
Where SipX shines is in how it uses SIP the way SIP is meant to be used. SipX separates the signaling and media streams. The signaling stream handles the job of registering and authentication, then the audio/video stream can travel by the most efficient route between endpoints, even bypassing the SipX server entirely. This increases server capacity and call quality.
SipX, unlike Asterisk, does not offer transcoding. For this you'll need an external media gateway. By off-loading the transcoding to a separate device, the SipX server functions more like a call router and can handle huge traffic loads. It's easy to build a distributed, redundant system with automatic failover and scale up as needed.
SipX runs on Linux on plain old x86 hardware. That plus broadband Internet is all you need for pure IP telephony. If you need PSTN integration (analog or digital), add a stand-alone media gateway like the Cisco 2600, Mediatrix 1200 series, or Vegastream boxes. Any gateway or IP phone that supports SIP will work with SipX.
SipX is open source and has both a free-of-cost and a commercially-supported version. It also has a pretty good Web-based administration console for easy administration. Visit the SipX Wiki for excellent howtos.