There are two basic ways to do Voice over IP. Host it yourself. Do NOT do that. Or have it hosted by a communications company. There are many companies which would do that. For us, it was the phone company we used, which has expanded into many areas of communication.
Just start with Google and look for companies which offer VoIP. You would possibly to set up a Auto Attendant type system using your existing digital phone system. VoIP isn't just to set up an auto attendant. It is a complete phone package utilizing your existing ethernet and Internet connection for your voice and not just your data.
One thing to mention, you have to look at this like having someone set up your entire network vs your doing it yourself using horrible equipment. This is an analogy. For instance, you can use OneBox or Grasshopper to expand your possibilities, but using a hosting company will allow you to have experts set up your algorithm.