Asterisk Open Source PBX
We bough an inexpensive cheapo PBX for work about two years ago. At the time, it seemed like a great idea. It was way less money than the equivalent Nortel or Lucent office phone system. The office extensions were IP phones, but they were H323 phones, and not SIP phones. It's been really terrible. The phones themselves have terrible build quality, bad buttons and usability, and very, very, very bad sound quality. It was about $12,000 for everything: server, phones and software.
Recently we spent a little money to try out Asterisk, the free, open-source PBX. It's software developed by a company that sells hardware for connecting to phones and phone lines, Digium.
It is really cool, and it works. I set up a CentOS Linux with one of the 24-port Digium boards. All extensions and dialing rules, and IVR trees are managed with .conf files. I used the O'Reilly Asterisk book as documentation, since the documentation that is available on the web is pretty bad and/or hard to find. It took about 6 hours to get everything set up the way I wanted it, including voice mail boxes for everybody, a dial by name directory and a connection to outbound VOIP (so we can use fewer analog lines from Verizon.)
We're at the point now where we are going to buy new SIP phones for everyone (we need about 24 of them in total). The total cash outlay on the product will then be about $5000, including the phones and the server and the digium hardware. We should be able sell our crummy old system for about $3000, if eBay prices for it hold up.
There are some commercial vendors that sell complete, turnkey Asterisk systems. Fonality seems to be the most popular. While I'm sure they are great quality, they aren't really as hackable, since the turnkey vendors can't support people mucking about in the configurations.
It's even tempting to replace my home phone system with an Asterisk one: about $250 for a 4-line board (2 incoming and 2 outgoing), and a couple of SIP phones I could really stop those telemarketers!