Click Here for the flowchart PDFs
One might argue that telephone systems do only one thing. They route calls. In the process they turn lamps on and off, and they make telephones buzz and beep. But the only point is to route voices from point A to point B.
If you’ve been working with Avaya Communication Manager for a while, you have been exposed to AAR and ARS routing. And you hopefully have a fair grasp of how it all fits together. But there are a whole lot of decisions that are made when routing outbound calls. And if you’re new to Avaya, it might seem overwhelming to troubleshoot routing issues. So here are four pages of flowcharts that, based on my experience, are the most common configuration issues you’ll see when managing your telephone system. Click Here for the flowchart PDFs
Page 1 is a flowchart of the digit collection. This is what the CM does to collect the dialed digits, translate them as necessary, and select a network (AAR vs. ARS). Digits can be translated many times and re-pointed to different networks. Once this process is complete, the logic continues to page 2.
Page 2 is the process of using the final dialed digits (and station’s location) to select a route and a trunk group. There are many location and facilities restriction level checks here. And there is even more digit translation that can take place during this process. Once a trunk is selected and the call delivered, this may not be the end of it. Look Ahead Routing may pull the call back and try again.
Those two pages compose the primary routing logic that you will use in your typical troubleshooting. However, many decisions are based upon the calling party’s location. It may be obvious to you how the CM know’s the station’s location. But if things get strange, you can see how the CM associates a station to a location on page 3.
And lastly, there is one major headache associated with the “Prefix Mark” in a route pattern. Prior to 1995, there were many, many dialing rules associated with seven digit dialing, one plus seven digits, ten digits, etc. I remember living in a small town in the California Bay Area, and to dial Concord (over the hill), I had to dial 1+seven digits. Then when the area code 415 was split in to 415/510, we could dial 10 digits between them. Unfortunately, if you dialed 1+10 digits, it would be charged as a long distance call. All this went away in 1995 when the North America Numbering Plan was implemented. It is much easier to route calls now. But there is still the dreaded “Prefix Mark” that may still be in your routes. This causes havoc with the dialed-digits that are sent to your carrier. Page 4 is a summary of how this prefix mark works.
Please note there are two extremely important troubleshooting tools when dealing with Avaya routing. One, is the ‘list ars route-chosen’ and ‘list aar route chosen’ commands, and the other is the ‘list trace station’ and ‘list trace tac’ commands. If you use Avaya Site Administrator, you will not be able to use the ‘list trace’ command. I encourage you to use telnet or ssh in your day-to-day management of your PBX so you can use these commands when necessary. It may not sound like much, but being able to list trace at a moment’s notice is very helpful.
I will save the “list aar/ars route-chosen” and “list trace station/tac” for another posting. There’s a lot of information available in these commands.
Please let me know if you find these flowcharts helpful. Also, if you find any typos please let me know. Please keep in mind there are many more routing decisions the CM makes that are not in these flowcharts. If your CM uses other routing (for example tenants or time-of-day) and you think I should incorporate them into these flowcharts, please let me know! Happy routing everyone. This is really the core of any PBX, so I personally really enjoy working with routing.
You are an amazing guy. Your blog has so many useful things which is a wonderful write-up.
Oh thank you for the kind words Rajan! I hope the flowchart is helpful with your troubleshooting. Please let me know!
I do traces using ASA often. The command is not supported when you use GEDI (Ctrl+g), but it is when use use emulator (Ctrl+e). It is somewhat limited in the one page at a time viewing, but you can review the previous trace with “list trace previous”.
Ooooh – good tip Angus! I will try it and update this posting. The one-page-at-a-time thing is also in SSH and it quite inconvenient, but it’s better than most modern PBXs.
It’s a perfect explaination ever for avaya routing, very easy to be understood, so powerful and dependable
You are one of the few talented avaya, keep it up and forwrad
Thank you so much 🙂
Absolutely amazing! I appreciate the level of detail here, some things I never considered. This will surely make tracing a call much easier to understand *each step* it goes through. Thanks for the time in putting this together!
Oh, thanks Pat! I’m glad you like it. I’m sure there’s more, but that’s all I’ve ever had to deal with. If you think I should add anything please let me know.
Hey Roger, would you be able to put one together for System Manager and Session Manager?
What I’m most confused about is how CM plays in with SM. It seems there’s A LOT of moving parts now with SM and CM trunk groups to SM with Adaptations and Routing, so on and so on. Thanks!
Oh I completely agree about Session Manager/System Manager. It’s a confusing mess. I remember complaining about it to a business partner once and the guy, who was about 30 years old said “What? What’s confusing about it?”
That’s when I realized it was not confusing to these kids today who are used to web clicky clicky. Actually, this tech turned out to be brilliant so can still feel good about myself.
And I just learned something new about digit patterns when I cut a trading floor a few weeks ago. I agree that Session Manager is SCREAMING for a decent flowchart. I’ll try to put one together.
I’m in my early 30s, am Microsoft certified and have been working with Avaya systems for 10-15 years. I understand Linux, servers, all this good stuff. That said, the SM stuff just confuses me! Maybe I just need a roadmap to visualize it to make sense?
Your CM flow chart is awesome!! Have you had a chance to put a session manager routing flow chart ?..I would be eternally grateful.
Thank you Jay!!!
That is a completely reasonable request to make one for session manager. Funny, I always picture Session Manager with a little box in the middle of the flowchart that says “randomly route the call here” and branches in all directions. I know it’s not that random, but it sure feels like it.
I will work on a Session Manager flowchart. After all these years, the routing is starting to make sense to me.
Thanks for the compliment on the Avaya routing flowchart. I hope it helps.
Call routing Dilemma; How do you prevent an on-switch extension from using a trunk (ARS) to dial another on-switch extension thus using two trunk group members (one for the outgoing and one for the incoming) without having to add all extensions or range of extension in the ARS table? All on-switch extensions are in the UDP which leads me to questions your path “Use the uniform-dialplan table for this pattern to manipulate digits and call-type. “list uniform-dialplan”. Use the “conv” column to determine if additional translations are allowed after this one (there is no location-specific uniform-dialplan table – it is global)” after the “AAR/ARS Loop”
Great question Kevin. And I’m not sure if it’s addressed in the flowchart. Let’s say you have two DID ranges 213-555-12xx and 415-555-81xx. Users can four-digit dial each other but may not know this. And you want to prevent them from using the PSTN when dialing offices between 213 and 415.
Do do this manipulation, you make an entry in ARS Digit Conversion (list ars digit-conversion). If you use 9 for an outside line, you probably already have an entry to convert 11 to 911 (for the emergency situations where a user dials 9 once only). Just add the DID ranges here and tell the system to strip the first seven digits and send it to “aar” routing. If you want aar routing to be able to manipulate it further, then put a y in the conv column. I hope this answers your question!
Hi Roger, I come across your website by chance. May I ask you a question; I’m working as Quality Analyst for Call Center and we use Avaya systems; we assume some staff may have found to cheat the system by dialing random (or particular) numbers. is it possible, indeed? If so, how could it be? Thank you.
Hi welcome to the site! So you think some call center agents are making outbound long-distance calls? And you have your system designed to prevent these calls? I suppose the easiest way would be to set up CDR recording so you can see each extension’s activity. Would that work? Funny enough, I just posted instructions using Kiwi at http://rogerthephoneguy.com/?p=385. You would be able to find calls that violate your policy that way.
Another way is to meticulously go through the routing and look for things like COR or location-specific tables that are easy to miss. But finding the call record itself it probably easier.
Do you have multiple locations? Another thing you can try is “list ars route-chosen”. This will tell you what route will be picked for certain digit patterns. For example, if your call center is in location 3, you can “list ars route-chosen location 3 900-555-1234” and it will tell you which route will be selected (if the call is allowed). It’s pretty powerful since it goes through all the routing logic of the flowchart – straight from the horse’s mouth.
You are rock. Thanks so much
Wow Jayce! Thank you!
Good stuff! love the flow chart. thank you
Thanks! I am a Telecommunications Manager for a Federal Agency. We are trying to flatten and consolidate our nationwide offices. I have a Network guy who says we MUST go to 10 digit dialing. This, hopefully will help explain to him how we may get around that (something upper management does NOT want to do)
Douglas! Aak! I’m sorry I missed this! What did you decide about the 10 digit dialplan? Is that battle over? I’d love to discuss it with you!
This is the best blog so far. This flowchart discussion is amazing! Thank you for sharing!
These are great flowcharts! Thank you for putting in the time to create them. I’m sure my team will benefit from them.
I do have a question about other flows. That is the phone registration process flow. Whether it is an H.323 phone, a SIP phone, or a VPN phone, each goes through a registration process to connect to a server, to get its config files, seek out a call server, and obtain dial tone. I don’t know the exact process for each. Have you put together something that shows the process, or know where the process is documented? Avaya lacks greatly in their documentation.
Hmm, interesting question.
I am VERY familiar with the H.323 login process. I could totally flowchart that. The SIP registration is similar. I’m not sure how the VPN thing would work though. I wish I had a chance to play around with VPN more.
Do you want me to put together the H.323 process?
No worries. No decision has been made yet. We have in fact figured out how to do it without changing numbers, dialing plans, etc. We are still considering it though so we may “groom” our dial plans into a new consolidated plan to make it easy to maintain and give it a semblance of order.
I was working at a company who is moving from Avaya to Cisco and we recommended going to a full e.164 dial-plan. You can allow 4 or 5 digit dialing through digit translation, but the core routing is 11 digits. I just wish voicemail could do digit translation, you know? But with UC or visual voicemail on mobiles, you don’t typically need to use the TUI for voicemail anymore so hopefully people will not mind too much.
Anyway, this company has a *very* congested 4-digit dial plan so it’s a terrible challenge to get any new DIDs into any offices. And when you go through the exercise of “expand to 5, find conflicts, expand to 6, find conflicts” etc, it just seems easier to go to 11 digits.
The advantage is you no longer have to dial 9 for outside line! So you can finally get those DIDs that have 9s as leading digits! If you dial a 1, expect 10 more digits and route to PSTN if the PBX doesn’t own it. Any other digit can be translated into a 11 digit number, so 2xxx can still get people in your local office. Anything that starts with 011 is international. No more 9.
But it’s a tough sell to management. Probably easier if you can replace or upgrade phones at the same time so people are already expecting some kind of change.
Good luck! Keep us all posted if you don’t mind!
I work at a call center for T-Mobile, and Our center does use Avaya phones and software. I’m trying to design a VBA program that can scrape (might not be the right word) an incoming caller’s phone number and paste it into a premade memo template in Excel. I’ve only started to learn about coding six months ago, with the hopes of being able to design solutions to customer service rep pain-points. Any suggestions would be greatly appreciated. Thank you for your time.
Yuri – did you ever figure this out?
Thank you for this article. Quite a helpful one.
Could you please also do the same for incoming call.
Hmm, good point. Incoming calls hit the “incoming call handling treatment” table and then follow this same path. I’ll see if there’s an easy way to add it w/o adding confusion. thank you!
This call flow chart is really good and helpful for understanding the call flow.
Pingback: How to translate four digits to an eleven digit PSTN call in Avaya Communication Manager | Roger the Phone Guy
great information! The area i am having problems with understandig is how external incoming calls are routed to a VDN, Hunt group etc… Is this a part of the flow charts, or is there another process.
Hunt groups pilot numbers and VDNs are dialed-digits just like any extension. So if you look at incoming-call-handling-treatment or uniform-dialplan, you’ll find the hunt group pilots or VDNs in there. As far as I know, you cannot go backwards – like, if you have a VDN and you want to find that in the system somewhere, I don’t think you can.
You can do a “list usage” and then hit help. You might find a way to cross-reference.
That’s interesting about the flowcharts though. I might try to change those.
I need call flow for inbound/incoming call flow same as above Pdf. Can you help me on this.
You articles are so helpful for the beginners.
Oh thank you Ashok. Yes, I should put together an inbound flowchart, but it’s pretty simple. I’ll summarize.
Inbound calls always arrive over a trunk group (list trunk). When they do, the phone company (or far-end PBX) sends some “setup digits”. You’ll want to look in the inbound call handling treatment (display inc-call-handling-trmt trunk-group x) table to see what the PBX expects to do with it. This is where the CM converts the setup digits to something else. So if the trunk is a PRI and the phone company is sending 10 digits, this is where it gets stripped to 4 digits and sent along. Or if you have a funky DID range of 213-555-9334 and somehow that is being translated to extension 5334, this is where you will find it. Once you determine the actual digits for the inbound call, you can then follow the flowchart for outbound routing. These inbound digits follow the same rules as far as I know. In most cases, it’ll be an extension, hunt group, vector, etc. You can “list usage extension 5334” and see if there is a specific object, or it could follow the AAR/ARS rules as if a station dialed the same digits.
I’ll try to figure out how to incorporate that into the existing flowcharts. Thanks for the question!
Thank you very much for your efforts you have spent on preparing this doc. thank you for sharing this valuable doc with the globe as well. You are awesome!
Very nice flowchart. It gives a very nice overview of the dialing rules.
I see however 2 items missing in this flowchart: “enhanced local dialing rules” settings you can set within the settingsfile for h323/sip phones + the calltype analysis on CM level that you can define as well. These 2 are very confusing for me and they seem to be acting differently depending if you use a h323 or sip phone. Any help in some explanation or integrating those items in your flowchart will be highly appreciated.
Thank you, Wim. In my years of supporting Avaya, I did not run across those items! I will ask around…
your flowchart is amazing, could you please help me in understanding the call flow from CM–>SM–>SBC and vice Versa for incoming call.
Thank you, Mohammed. I no longer have access to my Avaya environment, and I don’t remember Session Manager well enough to make a flowchart from memory. It was always dicey – seems like no matter what I did, I needed three tries to get it to work. I do know that TraceSM was an AMAZING tool. I wish Cisco had such a thing.
I am working with Avaya, I just try to boost my skills, after a long search on how call routing works, I found this wonder clear picture and i checked all the commands in CM and got very clear information on routing calls, thankyou for the document.
If possible also share the connectivity diagram for all the systems, for eg i got a question from interview person asking what is the link connectivity b\w CM & CMS like this.
Hey thank you for the kind words! I no longer have access to my Avaya environment and when I did, it was pretty basic (no CMS, no AES, etc). Anyone else reading this able to help Ravi?
As relevant as the day this was published. Thank you.