IMHO, the difficulty comes about, because VoIP is all about trying to converge a technology which is basically circuit switched (voice) into an environment which is connectionless (IP).
At the end of the day though, you need to cater for the busy hour voice traffic, and Erlang B tells you the maximum number of voice paths you need. After that figure has been determined, you can consider a convergence strategy.
That may not be the most efficient approach, but it is what the voice world will expect to see if it it to take this opportunity seriously.
Just my opinion 🙂