Queue Routing based on incoming Area Code

Unanswered Question
Apr 17th, 2009
User Badges:


My call center wants to route incoming calls to a single 800 number based on the area code of the callers. Basically, I need to split all of the area codes of the us into 3 groups, and then route to each group/csq. I know how to get the caller info, but I don't see any way in the script to parse out the first 3 digits and create a variable based on that. Then I would run that variable against a databse or flat text file and assign the call to a particular csq/skill...

If anyone has any ideas on how I might do this, please let me know. Thanks

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)

For clarity here, please indicate in the subject line if you are aking about UCCX or UCCE. The two systems are so different.

This is so easy in ICM using the CLID node that I have to assume you are on Express.

Use the Java Expression Editor and the Java substring function to pull off the first three digits. Then look up a database with the DB functions using the area code as a key.

You could use an XML document like the well-known holiday example, but with 300 area codes, this is very inefficient.

I'd use the DB.



Chris Deren Sat, 04/18/2009 - 05:01
User Badges:
  • Super Silver, 17500 points or more
  • Hall of Fame,
  • Cisco Designated VIP,

    2017 IP Telephony, Contact Center, Unified Communications

depending on the version of UCCX you either have to use the java step as described by Geoff (+5 for excellent post), or with newer versions starting with 4.0 you can do the "split" in any step, i.e. set varaible, if statement, etc. After words the best option as suggested would be to use db dip to look up the appropriate CSQ you need to send the call to. Keep in mind that in order to do db dips you need to be running Premium edition of UCCX, otherwise your other again as described by Geoff would be xml file.



sammysammys Mon, 04/20/2009 - 08:41
User Badges:

Thanks for the replies guys. Sorry, I meant to put the versions and what I was running, but totally forgot.

Yes i'm using UCCX 5.0(2), and ccm 6.1

It sounds like you guys gave me everything I need though. Use the java expression to parse the 3 digits I need and then db dip to compare.

Do you guys know a place where I might find a sample script for either the parsing or the database dipping? I don't think I've really worked in the editor for about 2 years. :)

Thanks for all the help

8jdemeule Thu, 07/02/2009 - 22:46
User Badges:

Did you ever get a sample of the expression to use?

James Hawkins Fri, 07/03/2009 - 00:31
User Badges:
  • Blue, 1500 points or more

Define two integer variables



Use the Get Call Contact Info step to store the callers number in the CallingNumber variable.

Use a Set step with the variable AreaCode and value CallingNumber.substring(0,2).

This will store the first three digits of CallingNumber in AreaCode.

If you want to grab different parts of CallingNumber change the start and finish positions within the paranthese (0,2).

Note these count from zero rather than one.

Please rate if helpful.

James Hawkins Mon, 07/13/2009 - 03:01
User Badges:
  • Blue, 1500 points or more

In previous post I should have said define two string variables rather than integer


This Discussion