Wow. Huge subject.
SIP trunking is one form of VOIP implementation. The next questions are where is your switch going to run (premise, cloud, local provider) who is going to run it, and what can your network handle.
Bert and I have both talked about the importance of Internet connection performance and your local network.
You can PM me if you want to chat about this off-line.