If you have Cisco equipment, you can fix the problem in minutes almost instantly with a little QoS... Let's say the devices flag the packets with a DSCP value of EF....
Here is how I do it:
What you will want to do is define your WAN or Internet link first of all to the ACTUAL bandwidth such that higher-level protocols know the real speed of the link. The bandwidth command is an optional, but most of the time, recommend interface command. Despite the word, it is not there to limit the bandwidth and you cannot adjust the actual bandwidth of an interface using this command
That is done like this on the Interface:
bandwidth {kbps | inherit [kbps] | receive[kbps]}
Next set yourself up a class to match the traffic. You can do a match-any or match-all, and if necessary you can use an access list to match if you have say an IP subset that you want to import into a class. Think of Permit as True and Deny as false in an ACL for the actual logic. Matching straight off of DSCP since most devices set the DSCP flag...
class-map match-any VOICE
match ip dscp ef
From here you make a Policy-Map, which is an object that could be applied to an interface to take action on a group of classes. We will match our VOICE class, drop this traffic it into a priority queue which offers lower latency and we will reserve bandwidth based on a percentage (see the bandwidth command above to specify it)
policy-map WAN_QOS
class VOICE
priority percent 25
This is where it gets interesting, I usually build another Policy-Map where I shape the default class (where all unclassified traffic goes) and make it conform to the limitations of bandwidth to prevent the TCP saw-tooth where it transmits faster and faster until there is an error and the TCP window size slides to half and it gets faster and faster... and repeats. This creates a much more laminar flow. I then NEST the other policy map within the default class.
policy-map 20M_SHAPE
class class-default
shape average 20000000
service-policy WAN_QOS
Finally I apply it to my WAN interface that is outbound and set the direction.
interface GigabitEthernet0/1
service-policy output 20M_SHAPE
bandwidth 20000000
Oh, and if it doesn't use the 25% for VoIP, it is still available for data. It is merely guaranteeing on a 20M circuit that 5M will be made instantly available by slowing everything else down as much as to 15M to set aside 5M dedicated to VoIP.