This suggests to me that you may have congestion problems in your
“upstream” traffic flow.
Setting QoS on the packets may not help, if whatever router you are using for Internet connectivity isn’t managing the traffic flow well. In my experience, you need to do two things:
– Make sure that the traffic with QoS for low latency, is placed
in a separate transmission queue on the router from “bulk” traffic
(e.g. web service, file transfer).
– Make sure that your router uses a “traffic shaping” system, to
ensure that data isn’t being submitted to the network interface
faster than it can actually be transmitted by the *slowest*
link in the path to your Internet provider.
A lot of routers, switches, and network interface drivers these days have a lot of buffering. This is a mixed blessing. Unless you are careful, a burst of low-priority (bulk) traffic can be transmitted into your switch/router, and fill up a bunch of the buffer… by the time the system “knows” that you have some audio-QoS traffic to send, there’s a whole bunch of data ahead of it in some network router or switch (or even the ring-buffer in a network interface card) and there’s no way for your audio data to “jump ahead” of the bulk data in order to be delivered quickly.
Ideally, your system should send data upstream at a rate which never
“bursts” up to, or above your link’s sustained data transmission rate. You want the buffers in the “upstream” equipment to remain as empty as possible.
For background reading on this, look up the “Bufferbloat” problem and project, and the “Linux ultimate traffic shaper” scripts. They may not be directly applicable to your problem but may explain some of what you are seeing.