Zoom is a popular video conferencing platform widely used by organizations and individuals for teleconferencing. The quality of the audio and video of these meetings can vary widely due to a host of factors, but we will focus on one of the most common root causes: lack of traffic control at the end-users' location. This results in low Internet quality not only for conferencing but for most interactive applications as well. It is especially acute on lines with low capacity, such as DSL/VDSL or rural cable systems. But it can be present even on high-speed cable and fiber lines as well.
The underlying cause is a phenomenon known as BufferBloat, which can be mitigated with active traffic management, but for the control to be effective, several things must be in place:
- The Traffic Manager must be tuned to the line (an IQrouter automates this)
- The local and remote traffic should also be correctly tagged (using DSCP) so the traffic manager can correctly prioritize
Even if #2 is not set ideally, the IQrouter will still use traffic patterns to optimize voice over other traffic to maintain good audio quality.
This FAQ is about how to optimize both the IQrouter configuration settings as well as the Zoom application and service to get the highest possible quality.
For conferencing, we always want to ensure that voice traffic takes presence over video, as we are very sensitive to audio breakups, but we also want as smooth as possible video a well. To do this, we want to prioritize both above the rest of the traffic. As mentioned above, the IQrouter will automatically prioritize certain obvious voice traffic patterns with no further indications, and to some extent, even video will benefit from the automatic prioritization and the overall low-latencies maintained by the IQrouter.
So, if you are happy with how the Zoom app performs with your IQrouter at this time, then you can stop reading and enjoy the benefits of IQrouters automatic prioritizations and traffic management.
However, the ideal is to have the device running the Zoom client actually use special markings known as DSCP on each packet being sent to explicitly indicate to the traffic manager what priority should be applied to each stream.
On the IQrouter, the default is a three-tier priority scheme with:
- Lowest- Bulk traffic (marked CS1)
- Best-Effort – All other (or marked CS0) or any unmarked traffic
- Voice – Traffic marked as CS6 or CS7
In the above mode, video traffic is competing in the Best-effort tier, so other local network activity (such as web browsing) could affect video quality.
For best video conferencing performance, there is an optional four-tier scheme, that is enabled by going to Configure->Network and enable VoIP video Prioritization, which sets up a four-tier priority scheme (lowest to highest priority):
- Bulk (traffic marked CS1)
- Best Effort (CS0, AF1x, Type of Service (TOS)2 and unmarked traffic lands here)
- Video traffic for video conferencing / streaming
- Marks: Assured Forwarding (AF)4x, AF3x, AF2x, CS3, CS2, TOS4, TOS1
- Latency Sensitive and VoIP traffic
- Marks: CS7, CS6, CS5, CS4, Expedited Forwarding (EF) Voice Admit (VA)
The Zoom app marks the traffic by default, but it marks audio with CS7 (decimal value 65) and video with CS5 (decimal value 40), so both types of traffic wind up in the highest priority tier. This might be fine, but if the audio quality is being impacted by the video, or the video has low resolution (because latency-sensitive tier is limited in terms of percentage of the bandwidth it can chew up), then it is best to tell the Zoom service and App to use AF33 (30) for the video so it lands in the Video tier, which is allowed a higher percentage of bandwidth. So set video for a value of 30 in the Zoom UI.
Important Note: In Zoom accounts with a master account and many sub-accounts, that the master account holder will need to turn on DSCP in Zoom as it is disabled by default.
So, if you work for a company with a corporate account, please share this info with the IT team.
Notes on very low-bandwidth lines
The capacity partitioning described above works very well once there is a certain minimum of capacity in either direction. Which for video conferencing would be >2Mbps uplink and >10Mbps downlink. If your line exceeds that, then skip to the next section.
If on a line with less than that capacity, we recommend trying to run in the ‘Simple’ Traffic Manager mode and test whether it can provide a better experience most of the time, since it does not enforce strict percentage limits, but rather prioritizes based on traffic patterns and sizes (thus allowing the voice elements to typically go ahead of other traffic).
If on DSL, we recommend leaving the default three-tier advanced traffic manager or use the simple setting. The advanced four-tier will likely not have enough capacity on the uplink to divvy up.
On some platforms, it requires a few extra steps to ensure those markings are actually set and reach the router.
On Windows, for DSCP to be active, the Zoom app must be run as an administrator, or on corporate-managed devices, the policies need to be set via the group policy for the app, as per this article: https://support.zoom.us/hc/en-us/articles/207368756-QoS-DSCP-Marking
The IQrouter uses ECN (Explicit Congestion Notification) as a TCP Back-off signal (vs drops), so both Windows10 and MacOS react instantly to an overrun of capacity. This is more efficient and results in greater audio/video quality all around.