Call admission control (CAC), also known as bandwidth management, is a new feature in Microsoft Lync Server 2010 that protects the network against oversubscription from servers running Lync Server 2010 and clients running Microsoft Lync 2010. After CAC policy is configured by the administrator, only the configured amount of bandwidth can be consumed for audio and video calls. CAC configuration is based on a network's IP subnets. Testing CAC in a lab environment that has only a single subnet can be challenging. This article describes how to simulate different network sites to test CAC, without needing to create multiple IP subnets.
Author: Thomas Binder, Rui Maximo, Subbu Chandrasekaran
Publication date: March 2011
Product version: Microsoft Lync Server 2010
Call admission control (CAC) is a new feature in Microsoft Lync Server 2010 that allows audio and video (A/V) calls to be established between endpoints only if there is sufficient bandwidth on a network link, as configured by the administrator. For an overview of how bandwidth is checked and how calls can be rerouted or blocked, see Call Admission Control in Lync Server 2010 by Rui Maximo.
To properly configure CAC, it is important to understand how CAC manages the network. Locations, defined by IP subnets, are connected via network links on which bandwidth management policies can be applied. In order to configure CAC, we need to define different subnets that represent different locations. In production environments, clients and servers in one branch office are located in an IP subnet that is different from clients and servers located in another branch office.
To test CAC in a lab environment requires configuring multiple IP subnets. This can mean a lot of extra effort. It will not only make your IP network configuration complex, but you also need additional network equipment such as routers.
However, there is a simpler solution to testing CAC in a lab. The basic idea is not to change the single IP subnet configuration of your network, but to trick Lync Server into simulating multiple IP subnets.
For our test environment, we are using a subnet of 192.168.0.0 with a subnet mask of 255.255.255.0. That means that all of your servers and clients will have IP addresses between 192.168.0.1 and 192.168.0.254.
In order to make Transmission Control Protocol/Internet Protocol (TCP/IP) work properly, you configure all of your servers and clients with IP addresses in this subnet. Since we are using a test environment, we want the simplest Lync Server configuration possible. This topology consists of the following four virtual machines:
If we use a subnet mask of 255.255.255.128, this puts client 2, 192.168.0.129, in a different subnet than the servers and client 1. However, using this subnet mask on the network mask would require reconfiguring the entire network setup of the lab. If the subnet mask is 255.255.255.0, then all IP addresses are in the same network subnet and no additional network equipment is required for networking to function properly. However, without two or more network subnets, we can't configure CAC.
To configure CAC in a single subnet network, we will specify in Lync Server that we're using a subnet mask of 255.255.255.128 instead of 255.255.255.0 in the CAC configuration. Lync Server will recognize the clients are in different subnets.
No client configuration is necessary for this to work. Client 1 will keep the 192.168.0.3 address; Client 2 will retain the IP address 192.168.0.129. The subnet mask on the clients will not be changed and remain 255.255.255.0.
The rest of this article shows the steps required to make this configuration using Lync Server 2010 Control Panel and the Lync Server Management Shell.
First we need to enable CAC in Lync Server.
Figure 1. Edit Global Settings
To configure this setting by using Lync Server Management Shell, use the following cmdlet:
Set-CsNetworkConfiguration -EnableBandwidthPolicyCheck $true
Next, we need to create a CAC policy. For this example, we will configure a session limit of 50 kbps per audio call and a limit of 100 kbps per video call. We will define the audio limit as 100 kbps and the video limit as 200 kbps.
Figure 2. Edit Bandwidth Policy Profile
To configure these settings from the Lync Server Management Shell, use the following cmdlet:
New-CsNetworkBandwidthPolicyProfile -Identity "Limited Audio and Video" -AudioBWLimit 100 -AudioBWSessionLimit 50 -VideoBWLimit 200 -VideoBWSessionLimit 100
CAC is based on network regions and sites defined within regions. To keep the example as simple as possible we will configure only a single region, called "Central".
Figure 3. New Region
To create the same region by using the Lync Server Management Shell, run:
New-CsNetworkRegion -NetworkRegionID "Central" -CentralSite site:Vienna
While a single region will be sufficient for this test environment, we need at least two network sites where we can enforce bandwidth limits. We will create two sites named "Vienna HQ" and "Graz". "Vienna HQ" is a central site, so we don't need to apply any CAC policy. "Graz" on the other hand, is a remote site and we need to apply our CAC policy.
Figure 4. New Site: Vienna HQ
Figure 5. New Site: Graz
To configure these network sites from Lync Server Management Shell, use the following cmdlets:
New-CsNetworkSite -NetworkSiteID "Vienna HQ" -NetworkRegionID Central
New-CsNetworkSite -NetworkSiteID Graz -NetworkRegionID Central -BWPolicyProfileID "Limited Audio and Video"
The final step is to specify the subnets and assign them to the network sites defined, "Vienna HQ" and "Graz". Remember that the information we provide Lync Server does not reflect the real network configuration. To trick Lync Server into believing that we have multiple subnets, we specify a subnet mask of 25 (which represents a subnet mask of 255.255.255.128). Now Lync Server believes that the clients are in different subnets.
Figure 6. New Subnet: Vienna HQ
Figure 7. New Subnet: Graz
To assign these subnets to the respective network sites, "Vienna HQ" and "Graz", from the Lync Server Management Shell, run the following cmdlets:
New-CsNetworkSubnet -SubnetID 192.168.0.1 -MaskBits 25 -NetworkSiteId "Vienna HQ"
New-CsNetworkSubnet -SubnetID 10.164.25.128 -MaskBits 25 -NetworkSiteId Graz
Now whenever you place a call between client 1 and client 2, Lync Server will recognize that client 1 and client 2 are in different network sites and will apply the CAC policy created between these two network sites.
If you want to create sites consisting of single IP addresses, you can use the same approach by providing the IP address of the client or server and using a subnet mask of 32.
Using this simple method, it becomes easy to test CAC in a lab environment. You can configure more IP subnets as needed to test more complex CAC scenarios. We hope you found this article useful.
This article was created with the support of the Voice Partner Program.
To learn more, check out the following articles:
Jens Trier Rasmussen on Bandwidth Management
Call Admission Control in Lync Server 2010
Official Product Documentation: Call Admission Control
Keywords: call admission control, CAC, Lync Server 2010, bandwidth management
Thanks a lot for the article