There are a couple ways to route calls via caller ID. Using database routing is neat and simpler, but you need Advanced Edition, so this will not work for Server Edition. Using the “Variable Routing” action, makes this possible on Server Edition though. Not as clean as a database, but it is what it is.
Voicemail Pro can use a “Variable Routing” action, to route a call based on a variable. The variable we, obviously would use to route a call by area code, would be $CLI.
In setting this up, you do need to look at your incoming caller ID. In the past, we have used a “Prefix” for a trunk, to add a “9” or a “91” to the caller ID, so we could use the history or return calls in One-X Portal. If you are doing that, we have a post to assist you.
Because this is more repetition, than actually learning something, you can download the module here.
So, after you download that, and import into your config, you really see what we did, separated Variable routing based by a states area code. Arizona transfers to Ext200, etc… So now we need to modify for you….
If your incoming caller ID is just area code and number (EG: 4405551212), then the routing will work right away. If you are receiving a “1”, or even a “9” (or both) we can use a Generic action and “massage” the digits. Please see this post to remove the 1 or 9….
So, now the incoming part is done, we need to adjust the destination if there is a match. You will need to now go to all of the transfer actions and change to fit your destination/dial plan. There is 1 for each state.
Once that is done, we just need to have a solution on what to do if there is no caller ID, or there is no match. The last action is WY, and a no match entry.
So here you can do whatever you want. A module return (my choice) or transfer to an Operator, etc…
BAM! Bob’s your uncle!