Static Locations and Call Admission Control in CUCM
Locations dictate the maximum amount of bandwidth available for simultaneous calls originating from or destinated from a site. Locations, along with Regions, are the building blocks of Call Admission Control in CallManager.
- Locations; i.e. maximum bandwidth: applied to the Device (Phone, Gateway, etc.)
- Regions; i.e. codec selection: applied to the Device Pool
The relationship between Locations and Regions is important to understand because, when the bandwidth for a Location is exhausted, no further calls can be made (without AAR, of course). Additional calls receive a reorder tone and a message, "Not Enough Bandwidth" (see in the screen-shots below)
As a general principle:
- Always assign a location based on the network topology
- Choose a codec that provides the maximum number of required calls within the bandwidth available. In production, this might mean upgrading links so that a higher call quality can be achieved through codec selection.
Understanding the values CallManager uses to calculate bandwidth usage is critical to CAC planning. I've created a calculator here that helps with location calculations in CallManager (you can enter required number of calls, or bandwidth available on your links): www.ccievoicestudy.com/bandwidthCalculator.php
As an example, a 2 mb/s link with 200 kb/s set aside for voice allows 2 x G.711 calls (2 x 80 kb/s = 160 kb/s). So 200 kb/s is set as the Audio Bandwidth under the location, and G.729 for all inter-site Region relationships.
This calculator is based on the calculations that CallManager uses to calculate bandwidth for each call, i.e.:
- G.711 and G.722 = 80 kb/s
- G.723 aand G.729 = 24 kb/s
- G.728 = 16 kb/s
- GSM = 29 kb/s
- Wideband = 272 kb/s
CallManager's knowledge of calls to/from a Location can be reset by using "resync bandwidth" under Location configuration. The idea is that bandwidth could "leak" over time; essentially, CallManager becomes confused about the number of calls currently in/out of a site. Resynchronizing bandwidth has the effect of resetting the aggregate bandwidth counter to zero. You can actually resynchronize bandwidth at any time, however doing so inevitably creates a risk of over-subscription (since CallManager ignores all Connected calls in its bandwidth calculation). This only effects bandwidth into or out of the site - calls within the same location always have unlimited bandwidth for intra-site communication.
Neither increasing location bandwidth or resynchronizing bandwidth requires a restart of services or reset of devices.
By default, CallManager dumps new devices into the "Hub_None" Location - which implicitly allows Unlimited bandwidth! Although a Region can still be applied to Devices that do not have an explicit Location set, this will only impact compression and codec selection. Call Admission Control is never possible to devices with Hub_None as the Location. This could be appropriate, for example, for IP Communicator devices, since Location is unpredictable, however selection of a specific codec, such as G.729, is desirable.

Configure Locations under System > Locations

Create a Location for Each Site and Specify Max B/W

Create a Region w/ Relationships to Other Sites for Codec Selection

Assign the Region to a Device Pool

Assign Device Pool and Location to the IP Phone

Call Admission Control when Bandwidth Allocation is Exhausted

Resynchronize Bandwidth to Reset Location Aggregate Bandwidth Counter


