About 7 years ago I deployed Trixbox (pre-Fonality) for a small business with about 10 extensions. At the time I knew NOTHING about VOIP systems or open source software for that matter, but was amazed with all the documentation available. To this day that same system is still up and running smoothly.
Over the years I have played with, used, or installed: RingCentral, Trixbox, PBX in a Flash, Elastix, FreePBX, and many others. Each having different advantages.
I used Ring Central when I first started out, and other then the bill I had no complaints. But wanting a free (or cheap) system for myself I opted to install FreePBX on an old Dell Optiplex.
FreePBX can be supper easy to install and setup. They have a downloadable distro complete with Linux that can be burned on a CD and ready to install just like any other program with no Linux coding. Once installed you might have to go into command line to update network settings, but everything else can be done through the GUI. FreePBX has all the bells & whistles anyone could ever need, plus it interfaces well with vTiger CRM.
If you're looking for a truly free system I would look a FreePBX. It seems 99% of anything you would need to do can be handled in the GUI, easy setup and very feature rich. Plus if you run into trouble there's plenty of help and documentation available!