I know how this feels first hand. In the 6th grade my parents sent me and my two younger sisters to a private school. The Dean was pretty strict, but we were getting a good education, a lot of individual teacher attention and really exceeding in our studies. The second year the Dean decided that we (the students, not just me and my siblings) were rebels that needed to be controlled, which he thought he could do through a strict dress code. The kicker was that it was to be enforced even when we weren't at school. We (supposedly) were not allowed to wear jeans (ever) and the girls had to wear skirts or knee length shorts, always. Even on Saturday. That, and no "excessive jewelry".
We didn't stay much longer. These poor kids in the article though.. I don't imagine they have that luxury.
Latency in this application will kill your sound quality far more than a few dropped packets. Optimally you'll want to be under 300ms for things to be manageable.
The other main thing to look for is a CODEC you can use with your chosen provider that uses as little bandwidth as possible and supports loss concealment. You need to worry about those two factors long before QOS becomes relevant to the equation.
Hi Michael, you great bastion of upstanding editorial stewardship!
I've noticed several design suggestions in your code.