Disclaimer: I work for a hosted PBX provider, but not in US, so won't recommend anyone anyways.<p>If you value your mental health and don't want to hire an onsite, on-call VoIP specialist do <i>not</i> try to setup your own PBX. Sure - sometimes it works and you can do a lot of crazy stuff with a software PBX; in reality you want it to be up 24/7 and ensuring the quality of pstn termination, local network and configuration of such setup is at least one additional full-time job for the first couple of months. In reality if you have a problem with some "prepared" solution like freepbx / trixbox / whatever and have no support contract, you're left on your own with a system you don't understand and with no telephony - not a good option. Unless you need some very special functionality, just pay for the service. Do not be fooled by "simplicity" of solutions like trixbox - if something doesn't work, you still have to learn the whole stack to know how to fix it.<p>Solutions like grasshopper are cool and that's the kind of service I'd recommend. What you should look for is: how do they handle faxes (only T.38 is reliable), can you setup a divert number (like a mobile) for situations when your network is down, how much will it cost to get additional internal and external numbers. Bonus point - do they support wideband codecs? It might seem stupid, but the quality difference is amazing (only for internal calls).<p>If you're an MS-based shop, you might want to look at hosted OCS offers. Phones supporting it are a bit more expensive, but the ability to integrate with your emails, calendar, voicemail, etc. over the phone is really cool if you travel a lot. If you have a high volume of calls, you might also look for solutions that provide reception with a virtual switchboard apps - they're a bit more comfortable for a lot of call transfers than looking up numbers.