This article will help you prepare your organization's network for Quality of Service (QoS) in Microsoft Teams. If you are supporting a large group of users and they are experiencing any of the problems mentioned below, you probably need to implement QoS. A small business with few users may not need QoS, but even there it should be helpful.
At Ignite the question came up about QoS support for the Skype for Business Mac client. I believe the presenter said that DSCP bit marking was not supported due to Mac driver issues and that QoS would have to be handled via port mapping or something.
QoS is a way to allow real-time network traffic (like voice or video streams) that is sensitive to network delays to 'cut in line' in front of traffic that is less sensitive (like downloading a new app, where an extra second to download isn't a big deal). QoS identifies and marks all packets in real-time streams (using Windows Group Policy Objects and a routing feature called Port-based Access Control Lists, more about those is below) which then helps your network to give voice, video, and screen share streams a dedicated portion of network bandwidth.
Without some form of QoS, you might see the following quality issues in voice and video:
The least complex way to address these issues is to increase the size of the data connections, both internally and out to the internet. Since that is often cost-prohibitive, QoS provides a way to more effectively manage the resources you have instead of adding new resources. To fully address quality issues you would use QoS across the implementation, then add connectivity only where absolutely necessary.
For QoS to be effective, you will have have consistent QoS settings applied end to end in your organization, because any part of the path that fails to support your QoS priorities can degrade the quality of calls, video, and screen shares. This includes applying settings to all user PCs or devices, network switches, routers to the internet, and the Teams online service.
Figure 1. The relationship between an organization's networks and Office 365 services
In most cases, the network connecting your enterprise to the cloud will be an unmanaged network where you won't be able to reliably set QoS options. One choice available to address end-to-end QoS is Azure ExpressRoute, but we still recommend that you implement QoS on your on-premises network for both inbound and outbound traffic. This will increase the quality of real-time communication workloads throughout your deployment and alleviate chokepoints.
If you are considering a QoS implementation, you should already have determined your bandwidth requirements and other network requirements.
Traffic congestion across a network will greatly impact media quality. A lack of bandwidth leads to performance degradation and a poor user experience. As Teams adoption and usage grows, use reporting, Call Analytics, and Call Quality Dashboard to identify problems and then make adjustments using QoS and selective bandwidth additions.
QoS only works as expected when implemented on all links between callers. If you use QoS on an internal network and a user signs in from a remote location, you can only prioritize within your internal, managed network. Although remote locations can receive a managed connection by implementing a virtual private network (VPN), a VPN inherently adds packet overhead and creates delays in real-time traffic. We recommend that you avoid running real-time communications traffic over a VPN.
In a global organization with managed links that span continents, we strongly recommend QoS because bandwidth for those links is limited in comparison to the LAN.
If you are using a Linux-based pc or Mac OS X and want to manage a vSphere-environment then you might ask yourself the question if there is a native OS-version of the vSphere Client. Up until now, If you wanted to run the vSphere Client on Mac OS X, you could go about implementing that via VMware Fusion by running a VM in Unity mode. If you didn’t know about Unity view, it removes or hides the VM from the screen and simply displays the applications that are running in the VM. This Post is purely to easy of vSphere Admins who want to download the VMware vSphere Client. I have athered the Download link of all versions of vSphere Client starting from vSphere Client v4.1 Update 1 to the latest release vSphere Client 6.0 Update 3. Vsphere client for mac download. Feb 27, 2016 Not sure why VMware has not developed a vSphere client for MAC OSX. Many, Many IT folks, especially in the partner community (Cisco, PAN, etc, etc) are avid MAC users cause we get tired of the windows bloat, the relentless security inadequacies, and the crashes.
To provide QoS, network devices must have a way to classify traffic and must be able to distinguish voice or video from other network traffic.
When network traffic enters a router, the traffic is placed into a queue. If a QoS policy isn't configured, there is only one queue, and all data is treated as first-in, first-out with the same priority. That means voice traffic (which is very sensitive to delays) might get stuck behind traffic where a delay of a few extra milliseconds wouldn't be a problem.
When you implement QoS, you define multiple queues using one of several congestion management features (such as Cisco’s priority queuing and Class-Based Weighted Fair Queueing CBWFQ) and congestion avoidance features (such as weighted random early detection WRED).
Figure 2. Examples of QoS queues
A simple analogy is that QoS creates virtual “carpool lanes” in your data network so some types of data never or rarely encounter a delay. Once you create those lanes, you can adjust their relative size and much more effectively manage the connection bandwidth you have, while still delivering business-grade experiences for your organization's users.
You could implement QoS via port-based tagging, using Access Control Lists (ACLs) on your network's routers. Port-based tagging is the most reliable method because it works in mixed Windows and Mac environments and is the easiest to implement. Mobile clients don’t provide a mechanism to mark traffic by using DSCP values, so they will require this method.
Using this method, your network's router examines an incoming packet, and if the packet arrived using a certain port or range of ports, it identifies it as a certain media type and puts it in the queue for that type, adding a predetermined DSCP mark to the IP Packet header so other devices can recognize its traffic type and give it priority in their queue.
Although this works across platforms, it only marks traffic at the WAN edge (not all the way to the client machine) and creates management overhead. You should refer to the documentation provided by the router manufacturer for instructions on implementing this method.
You could also implement QoS implemented by using a Group Policy Object (GPO) to direct client devices to insert a DSCP marker in IP packet headers identifying it as particular type of traffic(for example, voice). Routers and other network devices can be configured to recognize this and put the traffic in a separate, higher-priority queue.
Although this scenario is entirely valid, it will only work for domain-joined Windows clients. Any device that isn’t a domain-joined Windows client won’t be enabled for DSCP tagging. Clients such as Mac OS have hard-coded tags and will always tag traffic.
On the plus side, controlling the DSCP marking via GPO ensures that all domain-joined computers receive the same settings and that only an administrator can manage them. Clients that can use GPO will be tagged on the originating device, and then configured network devices can recognize the real-time stream by the DSCP code and give it an appropriate priority.
We recommend a combination of DSCP markings at the endpoint and port-based ACLs on routers, if possible. Using a Group Policy object to catch the majority of clients, and also using port-based DSCP tagging will ensure that mobile, Mac, and other clients will still get QoS treatment (at least partially).
DSCP markings can be likened to postage stamps that indicate to postal workers how urgent the delivery is and how best to sort it for speedy delivery. Once you've configured your network to give priority to real-time media streams, lost packets and late packets should diminish greatly.
Once all devices in the network are using the same classifications, markings, and priorities, it’s possible to reduce or eliminate delays, dropped packets, and jitter by changing the size of the port ranges assigned to the queues used for each traffic type. From the Teams perspective, the most important configuration step is the classification and marking of packets, but for end-to-end QoS to be successful you also need to carefully align the application’s configuration with the underlying network configuration. Once QoS is fully implemented, ongoing management is a question of adjusting the port ranges assigned to each traffic type based on your organization's needs and actual usage.
The DSCP value tells a correspondingly configured network what priority to give a packet or stream, whether the DSCP mark is assigned by clients or the network itself based on ACL settings. Each media workload gets its own unique DSCP value (other services might allow workloads to share a DSCP marking, Teams does not) and a defined and separate port range used for each media type. Other environments might have an existing QoS strategy in place, which will help you determine the priority of network workloads.
The relative size of the port ranges for different real-time streaming workloads sets the proportion of the total available bandwidth dedicated to that workload. To return to our earlier postal analogy: a letter with an 'Air Mail' stamp might get taken within an hour to the nearest airport, while a small package marked 'Bulk Mail' mark can wait for a day before traveling over land on a series of trucks.
The following table shows the required DSCP markings and the suggested corresponding media port ranges used by both Teams and ExpressRoute. These ranges might serve as a good starting point for customers who are unsure what to use in their own environments. To learn more, read ExpressRoute QoS requirements.
Recommended initial port ranges
Media traffic type | Client source port range | Protocol | DSCP value | DSCP class |
---|---|---|---|---|
Audio | 50,000–50,019 | TCP/UDP | 46 | Expedited Forwarding (EF) |
Video | 50,020–50,039 | TCP/UDP | 34 | Assured Forwarding (AF41) |
Application/Screen Sharing | 50,040–50,059 | TCP/UDP | 18 | Assured Forwarding (AF21) |
Be aware of the following when you use these settings:
If you’ve previously deployed Skype for Business Online, including QoS tagging and port ranges, and are now deploying Teams, Teams will respect the existing configuration and will use the same port ranges and tagging as the Skype for Business client. In most cases, no additional configuration will be needed.
Note
If you're using Application Name QoS tagging via Group Policy, you must add Teams.exe as the application name.
At a very high level, implementing QoS requires these steps:
On Clients using a GPO to set client device port ranges and markings
On routers (see the manufacturer documentation) or other network devices. This may include port-based ACLs or simply defining the QoS queues and DSCP markings, or all of these.
Important
We recommend implementing these QoS policies using the client source ports and a source and destination IP address of “any.” This will catch both incoming and outgoing media traffic on the internal network.
On Teams Admin Center
As you prepare to implement QoS, keep the following guidelines in mind:
For information about configuring firewall ports, go to Office 365 URLs and IP ranges.
In Teams, QoS source ports used by the different workloads should be actively managed, and adjusted as necessary. Referring to the table in Choose initial port ranges for each media type, the port ranges are adjustable, but the DSCP markings are not configurable. Once you have implemented these settings, you may find that more or fewer ports are needed for a given media type. Call Analytics and Call Quality Dashboard should be used in making a decision to adjust port ranges after Teams has been implemented, and periodically as needs change.
Note
If you've already configured QoS based on source port ranges and DSCP markings for Skype for Business Online, the same configuration will apply to Teams and no further client or network changes to the mapping will be required, though you may have to set the ranges used in Teams Admin Center to match what was configured for Skype for Business Online.
If you’ve previously deployed Skype for Business Server on-premises, you may need to re-examine your QoS policies and adjust them as needed to match port range settings you've verified provide a quality user experience for Teams.
For QoS to be effective, the DSCP value set by the Group Policy object needs to be present at both ends of a call. By analyzing the traffic generated by the Teams client, you can verify that the DSCP value isn’t changed or stripped out when the Teams workload traffic traverses moves through the network.
Preferably, you capture traffic at the network egress point. You can use port mirroring on a switch or router to help with this.
Network Monitor is a tool you can download from Microsoft to analyze network traffic.
On the PC running Network Monitor, connect to the port that has been configured for port mirroring and start capturing packets.
Make a call by using the Teams client. Make sure media has been established before hanging up the call.
Stop the capture.
In the Display Filter field, use the source IP address of the PC that made the call, and refine the filter by defining DSCP value 46 (hex 0x2E) as search criteria, as shown in the following example:
Source '192.168.137.201' AND IPv4.DifferentiatedServicesField 0x2E
Select Apply to activate the filter.
In the Frame Summary window, select the first UDP packet.
In the Frame Details window, expand the IPv4 list item and note the value at the end of the line that begins with DSCP.
In this example, the DSCP value is set to 46. This is correct, because the source port used is 50019, which indicates that this is a voice workload.
Repeat the verification for each workload that has been marked by the GPO.
When you try to connect to a Skype for Business Online (formerly Lync Online) conference or make a peer to peer call, the audio or video quality may be choppy, tinny, or delayed. This causes the meeting or call to be unusable.
There are tools that you can use to determine the source of the issue.
In Lync 2010 and Lync 2013, you can use voice and video quality indicators to identify how well you're being heard or viewed. New indicators that are displayed in the conversation window tell you when conditions are present that may affect the quality of the voice or video call. These conditions may include poor network connectivity, low-bandwidth network connections, or poor audio quality from a particular device. In scenarios in which you experience poor audio quality, click the indicator to display possible reasons for the audio issue and to link to relevant resources.
As a general guideline, to troubleshoot scenarios in which you experience poor audio or video quality in a Skype for Business Online conference, follow these steps:
Determine whether the computer is using a wired or wireless Internet connection. A wired connection can provide more bandwidth and stability in most cases and should be the preferred method of connecting if that kind of connection is available. Additionally, consider turning off any wireless antennas to avoid connecting through a wireless connection.
Make sure that the audio/video device that is being used is approved and certified to work with Lync 2010. For more information, see Phones and devices qualified for Lync.
Select the correct device, and make sure that the recording volume is at the appropriate level. In the upper-right area of the window, click the gear icon, click Tools, click Options, and then click Audio Device. Verify that the appropriate device is selected.
Adjust the Microphone slider to the volume level that you want. Speak at your usual voice level. The indicator should go no higher than the midway point.
This issue may occur for many reasons, such as network latency, video or audio driver configuration issues, or device configuration issues.
Still need help? Go to Microsoft Community.