I currently use a VoIP phone system in the office.
There are different version out there and you need to first learn of there limitations. The top of the line system would be a cisco. The second of choice would be eZuce or sipXecs which is the open source version.
I use eZuce on a server end machine that has a p4 chip and ecc ram.
The cost of the system depends on you. If you use sipXecs, its free. That means no support you install and enjoy.
If you plan to go thru a vendor like myself then you would have to purchase a license and you get support.