Call Routing Overview
With our call routing, when the call setup message contains all the digits that need to be routed, the Communications Manager Express looks for an outbound dial-peer. The entire incoming dial string is used to match the outgoing dial-peer. In the following example, dial-peer 1 is selected because we have that 91302 that is the specific match, so that is going to be my first choice.
If two-stage dialing is required for our incoming call the match is done on digit-by-digit basis. The Communications Manager Express looks at the digit coming in and it'll collect them in-band and our outbound dial-peer, matching is done on digit-by-digit basis. Now the Communications Manager Express is going to check for dial-peers that match this information, and at that point you would route the call. Here's the way it works. If we have more than one outbound dial-peer that matches the dial string all the dial-peers are used. Basically it kind of forms a little hunt group, if you will, and all our outbound dial-peers in the hunt group are tried until we successfully complete that call.
Call Routing Backup
Just like we created redundancy in the Communications Manager, remember we had our route lists and our route groups and then we had our gateways defined, so we could have a WAN gateway and then a PSTN gateway as a back-up. Here we'll do the same thing only we're doing it in our dial-peers. Our dial-peers can provide backup routes for each other by using the preference command. How do we leverage the preference command? Well every dial-peer you create by default gets a preference of 0. To influence this, we might say, okay dial-peer 1 you're a preference of 1, dial-peer 2 you're a preference of two and so on. The range is 0 through 10. Basically what we can do is we can add all these different dial-peers and we can wait those dial-peers so that we first try dial-peer with the preference of zero for example, if that doesn't work then preference of 1 then preference of 2. So we have that redundancy in place, so that we can make sure that those calls do get completed.
It's possible with your dial-peers to have them utilize Trunk Groups. Trunk Groups support up to 64 interfaces, and that might be an option within your dial-peer. You don't want to just have to point one dial-peer to one outgoing port. So, we can assign digital interfaces or even analog voice ports to a Trunk Group. We then assign the Trunk Group to an outgoing dial-peer as a member of that dial-peer. Now, within that Trunk Group, because let's say you had 64 possible interfaces, how do we select those? Well we can use the default that's the least used. We can also say Round Robin, Longest Idle, Least Idle, sequential or randomly select the outgoing Trunk or outgoing interface in the Trunk Group.
Within a dial-peer you can actually have more than one Trunk Group. How do we influence which Trunk Group is used? It's the preference-num command and the value is set by saying 1 is the highest preference so that Trunk Group is used first, and a value of 64 is the lowest preference, so that's obviously going to be chosen last. If we don't have a value entered with that preference-num command then the software assigns the Trunk Group a preference of 65. This causes that Trunk Group to be selected after all other Trunk Groups are used within that dial-peer. So, if two Trunk Groups have the same preference value, what happens then? The Trunk Group that was configured first is used before the other Trunk Group. Kind of interesting how that works, because it's not intuitive, you don't automatically think that way, so if I went ahead and created two Trunk Groups, the first one I created is going to be the most used, and then that second Trunk Group would be used I guess in the event that the first one was all used up.
Ephone Hunt Group Default Behavious
We can also setup hunting between ephone directory numbers. You know, if you have like an IT department or even a sales department and you wanted calls to rotate through directory numbers to different people, we can set up a hunt pilot number and then a hunt group that contains the list of ephone directory numbers we want those calls routed to. Then we can go in and say how you want that hunting to take place, is it sequential, is it peer, parallel to everybody, longest idle? I like longest idle because that seems the fairest of the bunch, but it does depend upon what your needs are. And then we also have a final command. This can then direct a call to either an ephone dn or a pilot number for another ephone hunt group. So, if we might have a backup plan there, maybe we have first sales group and then we have another sales group that can take calls on behalf of them, maybe we have it rotate off to them in a final hunting behavior.
Basic Automatic Call Distribution
With Automatic Call Distribution, it's been around forever. We use this to manage call center environments, and yes, we have the ability to set up an ephone hunt group, but with Automatic Call Distribution we have a little bit extra going on here. We have the ability to set up an auto attendant that lets the user self-navigate through the system and either windup at an ephone hunt group or voice mail or maybe somebody's extension or the operator. We also have the ability to collect call stats. Why is that important? Well in an Automatic Call Distribution environment, typically we're looking at how long does it take for somebody to resolve a caller's request, whether that's 'place an order' or maybe you're using text support environments and you have to troubleshoot problems, we like to track that information. We also like to track how many calls can be handled by an agent in a certain time frame, like maybe every hour, for example, call collecting tools are critical in Automatic Call Distribution. Also, we have to have a tool that lets us script the auto attendant functionality and the call queuing functionality and it's called the Toolkit for Command Language or TCL script, we call it for short. Now these TCL scripts allow us to create the scripting in the flash memory of your router, so we're able to set up that call queuing, which allows calls to be placed into a queue in the order of their arrival. I'm sure you've been through this before where it tells you, "welcome to our company, if you know your party's extension dial it now", you finally get there and now it tells you that maybe it's busy right now and you're going to be holding in this queue and it even might give you a time, your call should be handled in the next five minutes or you're the next caller in the queue. That type of information is handled by the call queuing function. The Auto-Attendant function is the fact that I heard the main greeting and I was able to self navigate to the area that I need help with either placing an order or getting technical support. So, we do have this nice basic Automatic Call Distribution functionality with our Communications Manager Express if we need it.