Polices are used throughout Teams for assigning settings to users, and in some special cases, to Network Topology sites. There are a few methods to apply user based policies, each with their own benefits and drawbacks.
With Teams policies, only one policy is applied, and the entire policy is applied. This is different than other methods like Group Policy or NTFS permissions.
If you have not created any new policies, then only the default policy, called the Global policy, applies. This is the lowest precedence policy, Global settings are applied only if no other policy has already been applied.
The other policy is a user-assigned policy. It is applied as the name applies, directly to a user. If a user has a user-assigned policy, its settings will have precedence over a Global policy.
In certain cases, policies can also be assigned to Network Topology sites. There are three such policies:

These are the Network Roaming Policy, Emergency Calling Policy, and Emergency Call Routing Policy. Note that these policies can also be user-assigned and have Global/Default policies. These site-assigned policies exist because users may work from multiple sites, and for these three policies it makes sense to have them be site-assigned. A site-assigned policy takes precedence over a user-assigned policy and a global policy.
Let’s consider the Network roaming policy. You might be familiar with the term “call admission control”, that’s what’s happening here:

There are just two settings here. One is to allow Video conferencing – or to turn video off. The other is to set a maximum bit rate. The bit rate setting has an info icon beside it that is informative:

A bitrate entered here will affect audio and video, including video content shared in meetings. When a network roaming policy is applied to a site, it applies to every user present in that site. Each user may use up to the bit rate specified in the policy – this is not a “per site” restriction, it is a “per user at this site” restriction.
The idea behind this policy is that if you have a network site with low available bandwidth, you can restrict the amount that a Teams user’s audio and video can consume when they “roam” to that site. This will scale back resolution, refresh rate, video features, and codecs selected to stay under the cap. When a user “roams” to a different site, this policy no longer applies.
Like other policies, their is a Global policy. You shouldn’t modify this unless your entire network has terribly low available bandwidth. You can also assign a policy to a user, causing it to always take effect. There’s no practical reason that I can think of to do this outside of perhaps an April Fools prank. Nonetheless, it follows the same model as any other policy.
The Emergency Calling Policy and Emergency Call Routing Policy are where you configure various options for handling emergency calls. How you want these handled will most often be different for each site. Global and site assigned policies are both valid here, and commonly used together. Global policies act as a “catch all” for remote users, or in the event of a misconfiguration of the bits that establish which site a Teams device is in. In some cases it may be possible to use just Global policies here. It would be very rare to assign these policies directly to users. There is a requirement for that with certain shared calling configurations.
To summarize this first section, policies can be assigned Globally, to a site in certain cases, or directly to a user. Policies assigned to a site will take precedence over those assigned to a user, which in turn take precedence over a global policy.
But wait, there’s more!
With just these options, it could be painful to administer policy assignments. Imagine yourself as the Teams admin responsible for policies in a global organization with 50,000 users. You would invariably have different policies for different regions and groups of users. It would be ugly to have to assign policies directly to every single user!
There are two ways of making this easier. The first is Policy Packages. These are a “bundle” of policies that can be assigned versus the individual policies. This helps keep all of the users who need a set of policies aligned with the same policies. I see policy packages used extensively in education and healthcare. Microsoft has a number of policy packages pre-defined:

The second way of making things easier is with Group Assigned Policies. Instead of assigning policies directly to a user, policies can instead be assigned to a group. Members of that group then receive the policy.
There’s an issue that needs to be addressed with this concept, and that is “what happens when a user is in multiple groups with conflicting policies”. The answer is simple, the list of group assigned policies is ranked, and the highest-priority/lowest-numbered one is what is assigned. This can get a bit messy when your list of policies grows large. Good naming standards are helpful here.

When you view a policy, you can see if it is assigned to groups. There’s a tab here where you create the group policy assignment.
Now if you’re really cool, you’ll use groups to assign policy packages!
Drop me a comment if there’s an area of Teams policies that you’d like me to cover in more depth.

































