cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1098
Views
0
Helpful
8
Replies

Routing Calls Based on a List?

courtschuett
Level 1
Level 1

Hello,

I was wondering if there was a way to route calls based on a list of numbers, rather than a specifically matched incoming-called number.

For example:

In a range of 312-555-1000 thru 312-555-1999 I would like to route 25 speficic numbers to a different target.  In this case, it would be a CUBE router with SIP on each side, one to a carrier and the other to two different CUCM clusters.

Rather than crafting 25 individual dial-peers (they are not sequantial at all), is there a way to use a master list and match based on that?

Thanks!

1 Accepted Solution

Accepted Solutions

Here is one creative solution (without getting into TCL scripting):

Divide your numbers up into to groups: cluster 1 numbers, and cluster 2 numbers (i assume you have that done already)

Which ever group has the fewer numbers, or the better pattern summaries, do the following for it:

! Prefix an A

voice translation-rule 1

rule 1 /.*100X$/ /A\0/

rule 2 /.*12[3-7]5/ /A\0/

...

rule 15 /.*1919/ /A\0/

!

! Strip a prefixed A

voice translation-rule 2

rule 1 /^A/ //

!

voice translation-profile PrefixA

translate called 1

!

voice tranlation-profile StripA

translate called 2

!

! Prefix interesting numbers with an A, do nothing for other numbers

dial-peer voice 100 voip

translation-profile outgoing PrefixA

incoming called number 1...$

!

! Non prefixed numbers

dial-peer voice 200 voip

description Send these calls to cluster 1

destination-pattern 1...$

session target ipv4:10.1.1.1

!

! Prefixed numbers

dial-peer voice 201 voip

description Send these calls to cluster 2

translation-profile outgoing StripA

destination-pattern A1...$

session target ipv4:10.1.1.2

!

If you need more patterns, you could create a second inbound call leg DP like this, which would double your pattern capacity:

! Prefix an A for first 500 numbers

voice translation-rule 11

rule 1 /.*100X$/ /A\0/

rule 2 /.*12[3-7]5/ /A\0/

...

rule 15 /.*1419/ /A\0/

!

! Prefix an A for last 500 numbers

voice translation-rule 12

rule 1 /.*150X$/ /A\0/

rule 2 /.*17[3-7]5/ /A\0/

...

rule 15 /.*1919/ /A\0/

!

voice translation-profile PrefixA1

translate called 11

!

voice translation-profile PrefixA2

translate called 12

!

! Prefix interesting numbers with an A, do nothing for other numbers

! For the first 500 numbers

dial-peer voice 100 voip

translation-profile outgoing PrefixA1

incoming called number 1[0-4]..$

!

! Prefix interesting numbers with an A, do nothing for other numbers

! For the last 500 numbers

dial-peer voice 101 voip

translation-profile outgoing PrefixA2

incoming called number 1[5-9]..$

!

EDIT: Formatting

View solution in original post

8 Replies 8

Hello,

As i understand your problem with the incoming called-number , not destination-pattern , in this case no , there is no way to do that since the gateway is the only place that can match to a incoming called-number , the call manager can only match to destination-pattern (route pattern and translation-pattern).

This is as far to my knoweldge , i am 99% sure that it can't be done , if it was destination-pattern there are ways but not incoming called-number.

Amer

I'm confused. The incoming called number is an inbound call leg command to match based on DNIS. The destination pattern is an outgoing call leg command to match on DNIS. Could you explain a bit further? Thank you.

EDIT: To clarify, I'm asking for clarification of what might possibly my own misunderstanding.  Thank you.

Sent from Cisco Technical Support iPhone App

Sorry, I think I got that backwards. How could it be done on a destination-pattern?

This would be done for an inbound call from the PSTN through a SIP carrier and then to two different CUCMs. Basically, I need to split some calls to one CUCM and other calls to a different CUCM based on the DID called.

Thanks

So what you are asking is:  How can you steer certain dialed numbers to different destinations on your SIP gateway, in the most effecient manner possible?

And in your case, you don't have a clean dmarc of DID's: i.e., 1[0-4]XX & 1[5-9]XX, rather you have gaps in your ranges: i.e., 1000, 100X, 123[45], 1983, 1783, etc.  Thus the question about a list?

EDIT: Moved example to new post

courtschuett
Level 1
Level 1

Exactly.  It's basically a random list of numbers.  I've been trying to think of

different options.  So, for example:

Let's say the range is 3125551000 - 3125551999

We're looking to route numbers 1629, 1358 and 1281 to a CUCM 8.0 Cluster and the rest to a CUCM 6.0 Cluster.  That would be reasonable if it were 3 numbers, but we're looking at 150+ numbers out of several thousand.

The possible ideas I had were:

1) Cor Lists.  This is sort of theoretical.  I'm working on getting a lab togeter to test this, because I'm not 100% that this would work or not.  If we could do it, it would be pretty good.  Again, theoretically, we could create a member list of all the DIDs we want to route in one direction and just add to it when new users are moved from the CUCM 6 to CUCM 8.  

2) CUSP.  I think we could make this work, but is not particularly ideal because of the cost of teh CUSP just to do some simple routing.  We wouldn't really be using this for what it's made for.

3) Hard coded dial-peers.  Again, not ideal just because of the management factors, but we could definitely get this to work.  We're doing it now but on a smalle scale (hard coding fax numbers to use G.711 codec instead of G.729, e.g.)

Here is one creative solution (without getting into TCL scripting):

Divide your numbers up into to groups: cluster 1 numbers, and cluster 2 numbers (i assume you have that done already)

Which ever group has the fewer numbers, or the better pattern summaries, do the following for it:

! Prefix an A

voice translation-rule 1

rule 1 /.*100X$/ /A\0/

rule 2 /.*12[3-7]5/ /A\0/

...

rule 15 /.*1919/ /A\0/

!

! Strip a prefixed A

voice translation-rule 2

rule 1 /^A/ //

!

voice translation-profile PrefixA

translate called 1

!

voice tranlation-profile StripA

translate called 2

!

! Prefix interesting numbers with an A, do nothing for other numbers

dial-peer voice 100 voip

translation-profile outgoing PrefixA

incoming called number 1...$

!

! Non prefixed numbers

dial-peer voice 200 voip

description Send these calls to cluster 1

destination-pattern 1...$

session target ipv4:10.1.1.1

!

! Prefixed numbers

dial-peer voice 201 voip

description Send these calls to cluster 2

translation-profile outgoing StripA

destination-pattern A1...$

session target ipv4:10.1.1.2

!

If you need more patterns, you could create a second inbound call leg DP like this, which would double your pattern capacity:

! Prefix an A for first 500 numbers

voice translation-rule 11

rule 1 /.*100X$/ /A\0/

rule 2 /.*12[3-7]5/ /A\0/

...

rule 15 /.*1419/ /A\0/

!

! Prefix an A for last 500 numbers

voice translation-rule 12

rule 1 /.*150X$/ /A\0/

rule 2 /.*17[3-7]5/ /A\0/

...

rule 15 /.*1919/ /A\0/

!

voice translation-profile PrefixA1

translate called 11

!

voice translation-profile PrefixA2

translate called 12

!

! Prefix interesting numbers with an A, do nothing for other numbers

! For the first 500 numbers

dial-peer voice 100 voip

translation-profile outgoing PrefixA1

incoming called number 1[0-4]..$

!

! Prefix interesting numbers with an A, do nothing for other numbers

! For the last 500 numbers

dial-peer voice 101 voip

translation-profile outgoing PrefixA2

incoming called number 1[5-9]..$

!

EDIT: Formatting

That's a really good solution.  We are doing that for digit manipulation for forwarding length.  Unfortunately, the 15 rule limit makes this a little tricky.  We had considered that option as well, so sorry, I should have included that as part of the dial-peer option.

The solution worked very well.  The 15 rule limit makes it a little troublesome though.  Especially when we're talking about 150+ numbers that would need to be re-routed.  Thoughts on using COR Lists?

Thanks!

Sorry, no thoughts on COR lists.  I have little experience with them, from way back in CUCME 4.1 days.