We run an Asterisk PBX for our phones at work (
http://www.asterisk.org/) linked into a box called Voice Blue that has 2 SIM cards for free calling to cell phones within our company. The PBX routes cell phone calls through the Voice Blue automatically to any number in our plan.
We run VOIP over fibre through a Rhino channel bank (
http://www.rhinoequipment.com/cb.html).
Our older box wasn't too stable and would crash and take down our phones about once a month or so, just needed a reboot to get it going again, but the newer build is much more stable, we haven't had it crash since it was put in.
I don't know too much about the set up, not good with Linux at all.