Windows. While you can QoS and filter and such, nothing will be perfect, there will always be a few seconds of issue if Data & Voice are sharing the same internet connection. The only thing that truly works is installing a T1 line to customer premise solely for voice.
The reason this is, is that it’s a guaranteed fact that once a week someone in any office using windows will get a virus, that virus will spam or download or whatever as fast as the internet connection will allow. Thus causing havoc on VoIP quality. *sigh* why does M$ make my life so difficult?