Flowchart of Avaya Communication Manager Routing

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.


Click Here for the flowchart PDFs

18 thoughts on “Flowchart of Avaya Communication Manager Routing

  1. Rajarajan

    Hi Roger,

    You are an amazing guy. Your blog has so many useful things which is a wonderful write-up.


  2. Angus


    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”.


    1. roger Post author

      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.

  3. Pat

    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!

    1. roger Post author

      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.

      1. Pat

        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!

        1. roger Post author

          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.

          1. Pat

            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?

          2. Jay

            Your CM flow chart is awesome!! Have you had a chance to put a session manager routing flow chart ?..I would be eternally grateful.

          3. roger Post author

            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.


  4. Keven

    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”

    1. roger Post author

      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!

      list ars digit-conversion
                            ARS DIGIT CONVERSION REPORT
                                      Location: all
       Matching Pattern     Min   Max   Del   Replacement String   Net  Conv ANI Req
       11                   2     2     2     911                  ars   y       n
       121355512            11    11    7                          aar   n       n
       141555581            11    11    7                          aar   n       n
  5. Murat

    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.

    1. roger Post author

      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.


Leave a Reply

Your email address will not be published. Required fields are marked *