Call Admission Control Overview
Call Admission Control protects voice from voice. It limits the number of calls between areas of our network to avoid oversubscription of bandwidth. Here's what can happen, let's say the link can comfortably support three phone calls, if a fourth phone call were to be attempted all calls would suffer, not just that fourth call. So if we kind of know that ahead of time we know there's a certain amount of bandwidth that we want to allocate for phone calls and then, if another call comes in maybe we re-route it out the Public Switch Telephone Network, that's what Call Admission Control does for us.
For Call Admission Control to work, there are two areas that we need to configure. One of them is Locations and the other is Regions. They kind of go in hand-in-hand to get this set up. Locations are assigned to each device. Every device has an identity as to where they're located. The next thing is calls are limited in and out of that location by permitting a certain bandwidth amount for those calls. Let's say an example with Arizona and New York. Within Arizona unlimited, but from Arizona to New York let's say we have a fixed amount of bandwidth and we don't want to exceed a certain amount of that bandwidth for our phone calls, but what we'd first need to do is figure out which codec we are going to be using. Remember, that's what can compress the voice if we want it to, so if we're using like G.729 then we're looking at the kilobits per second on layer 3 as 24, G.711 is up around 80, so this is assuming too that we have not changed the amount of voice within that packet. The default is 20 milliseconds but if we increase that then these numbers would change.
|Codec||Kb/s on Layer 3|
So for using the default codecs and default values these two numbers are good numbers to work with and so when we're looking at this we can say, "oh in order to support three phone calls then we can multiply this by three and come up with a number for our bandwidth". Now here's the only "gotcha" with locations. Locations is topologically unaware. What does that mean to you and I? What that means is it's a hub-and-spoke topology. So in other words if I have a centralized location and I have all these branch offices, the centralized location is the hub. The branches are the spoke. There is nothing saying between those branch locations, how much bandwidth is available. You might want to use some other Call Admission Control mechanism if you have multiple branch locations and you can't handle this topology this way. You could even use RSVP, that is another Call Admission Control/quality of service mechanism that you could use to manage the amount of bandwidth between branch offices. But if it's okay that we go from the corporate to the branch locations, then locations will work just fine.
With regions, we are then specifying what codec we're going to use. Now there's a couple of little "gotchas" here. We're actually recommending which codec should be used. Ultimately it doesn't have to work out that way, but the bandwidth cannot exceed the codec we specify. So in other words, if we said G.711 and we know that that has an 80 kilobit per second layer 3 payload, we can't exceed that, so whatever codec we chose or negotiated to it cannot exceed that 80 kilobits per second. So it does kind of give us a limit, but ultimately the endpoints would negotiate out what codec fits within those parameters based on what we have specified within a region and if devices can't agree on a codec then we're going to need a transcoding device. A transcoding device which is typically a digital signal processor (DSP) is what we're going to use to go between the codecs. It's almost like a translator if you will to back and forth between the two codecs if they are different.
Here's an example of defining our regions. Let's say that we are headquarters and within the headquarters we're going to speak G.711, I call it, but to branch one and two we are going to use G.729. Now again remember this is the highest amount of bandwidth really – that's what this is specifying it doesn't necessarily mean we have to speak G.729, but we can't go above that 20 kilobit per second payload option here. And you can see between branch one and headquarters and the branch two, you know, they vary.
|HQ||Branch 1||Branch 2|
So, this is a way that we can influence the codec that's going to be chosen for these locations. Now remember if we chose something like G.729 for example, that does compression, it's designed for human speech. I would not want to hear you auditioning for Music Idol across a G.729 link, it isn't going to sound that good, nor is music on hold. Music On Hold kind of gets destroyed, it sounds horrible. It's funny I always know when I'm on hold and someone has made that mistake in their network and I hear this music and I'm like, oh my gosh, they must be using G.729 to stream this out, because it sounds so horrible. Also be careful because faxes can be destroyed as they are transmitted across G.729. Fax machines and the fax transmission rates do not do well when they're attempted to be compressed, so we want to find an alternate way of sending that across. A lot of times we say if you are a fax and we recognize you, just use G.711, so we don't do any audio compression or attempt to do that on that poor fax trying to make it across.
Depending upon our deployment we have different types of Call Admission Control that are supported. In a centralized call processing deployment we talked about locations and how locations and regions go hand-in-hand. And then there's an RSVP-enabled location. With RSVP-enabled locations this is where we can actually make a reservation for the amount of bandwidth that is necessary to complete a call or a video call if necessary. In a distributed call processing deployment we are going to use H.323 gatekeepers. Now I haven't really talked much about gatekeepers yet in this course, but gatekeepers are a way that we can use a centralized router to control and to be the directory in a distributed solution. So in other words all the other gateways that we have set up in our topology that are distributed all over the place, they would point to this gatekeeper and the gatekeeper would know, "Oh that gateway knows about the 2000 through 2999 extensions and that gateway over there knows about the 8000 extensions...", so this gatekeeper would keep information about how to route calls, as well as how much bandwidth is available. So now the gatekeeper kind of keeps a tally and as phone calls are placed to a particular location it keeps track of how much bandwidth is being utilized and of course when somebody hangs up that bandwidth goes back into the pool. So in a distributed solution that H.323 gatekeeper provides that Call Admission Control functionality.