cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4992
Views
35
Helpful
21
Replies

Overlapping e164-pattern-map

kely
Level 1
Level 1

Can I have overlapping pattern maps?

What will be the behavior? Closest match?

 

In my scenario I have a large group of TNs. Most of the numbers will point to CUCM. Some need to point directly to a different GW, but are in the same range. Would this setup work?

 

TN Range: 1800-800-0000 through 1800-800-0999.

 

e164-pattern-map 1

e164 18008000...

 

e164-pattern-map 2

e164 18008000268

e164 18008000594

e164 18008000558

e164 18008000944

 

dial-peer 1

destination e164-pattern-map 1

send to CUCM

 

dial-peer 2

destination e164-pattern-map 2

send to GW

21 Replies 21

Works for me in production as well.

Please remember to rate useful posts, click on the stars below.

Is this still working for you? I attempted this and I got more of a round robin result. We were migrating off an old system and had the CUBE configured to fork the calls by adding numbers to the pattern map as we migrated. 

 

Dial peer 1

 destination e164-pattern-map  (e164 +1[2-9]..[2-9]......$)

 destination old PBX

 

Dial peer 2 

 destination e164-pattern-map (e164 +13045551234$)

 destination new PBX

 

The result was that some calls would go to the new system while others would route to the old PBX. We ultimately had to do provisioning policies to get the result we wanted. The overlapping pattern map would have been way easier. 

Hi Nathan,

 

It is still working for us. Looking at your example, it appears you are setting your dial peer to route on an e164 pattern map, but then referencing a specific pattern instead of a defined map. I have never attempted that configuration before and cannot confirm what results you would get. If you haven't already, I would try this instead to reference a defined e164 pattern map:

 

voice class e164-pattern-map 3

e164 +1[2-9]..[2-9]......$

 

voice class e164-pattern-map 4

e164 +13045551234$

 

Dial peer 1

destination e164-pattern-map 3

destination old PBX

 

Dial peer 2

destination e164-pattern-map 4

destination new PBX

Gerry O'Rourke
Spotlight
Spotlight

(updated) 

 

Closest match is not quite obvious. This is what I have found from testing.

1) use $ to terminate the numbers

2) a exact match for a number of a range of numbers using brackets [0-5] are treated equally and match before the wild card dot "."

 

So in summary

 

The following config does NOT match against the dial-peer with the closest match.

i.e. if I dial "+35315552491" it uses e164 map 1000 and not 1001.

 

!
voice class e164-pattern-map 1000
description ### Match UCCE numbers ###
e164 +3531555249[0-4]
!
voice class e164-pattern-map 1001
description ### Match UCCE Test A side number ###
e164 +35315552491
!

 

The closing match does also not work with below (adding the $).

!
voice class e164-pattern-map 1000
description ### Match UCCE numbers ###
e164 +3531555249[0-4]$
!
voice class e164-pattern-map 1001
description ### Match UCCE Test A side number ###
e164 +35315552491$
!

 

However this DOES work - i.e. match e164 1001 when you dial the +35315552491

i.e. using the wildcard "." and not the range [0-4]

 

!
voice class e164-pattern-map 1000
description ### Match UCCE numbers ###
e164 +3531555249.$
!
voice class e164-pattern-map 1001
description ### Match UCCE Test A side number ###
e164 +35315552491$
!

 

And this would also work 

 

!
voice class e164-pattern-map 1000
description ### Match UCCE numbers ###
e164 +3531555249.$
!
voice class e164-pattern-map 1001
description ### Match UCCE Test A side number ###
e164 +3531555249[0-4]$

 

i.e. if you dial a number in the range "+3531555249[0-4]" it will match 1001 over 1000.

 

But don't mix exact numbers and range numbers as I believe the first one found will be matched.

Mix Exact names, and ranges numbers versus numbers with the dot wildcard.

!

 

Gerry

Thanks for testing that @Gerry O'Rourke 

 

How about if we had the range as well as the wild card. Can you test that in your setup? Below is your example, modified. 


voice class e164-pattern-map 1000
description ### Match UCCE numbers ###
e164 +353155524[8-9].$
!
voice class e164-pattern-map 1001
description ### Match UCCE Test A side number ###
e164 +35315552491$

Nathan,

 

Yes - that should work - +35315552491$ will match before +353155524[8-9].$, because "+353155524[8-9].$" has a wildcard. What won't work is a range of numbers versus a exact match.

 

e.g. +35315552491$ versus +3531555249[0-5]$.

The one which matches in above I believe is the first one on the config. (Not closest match)

 

Gerry

 

 

rholifield
Level 1
Level 1

Interesting. Sorry this isn't working for you. It appears from the docs that it should be matching based on the longest prefix, so you may want to reach out to TAC to see why it isn't working as expected. For what it is worth, it is functioning for us using wildcards and ranges without issue on a Cisco 4451 using a pretty recent version of IOS XE.

 

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/dialpeer/configuration/15-mt/vd-15-mt-book/vd-mdp-dialpeer.html

 

Restrictions for Multiple Pattern Support on a Voice Dial Peer

This feature is supported only on a VoIP dial peer.

Duplicate patterns cannot be added to a pattern map.

 

Information About Multiple Pattern Support on a Voice Dial Peer

Matching an incoming or outgoing call using a pattern defined in a VoIP dial peer is an existing feature on the Cisco Unified Border Element (Enterprise) and Session Initiation Protocol (SIP) Gateway. You can now support multiple patterns on a VoIP dial peer using an E.164 pattern map. You can create a E.164 pattern map and then link it to one or more VoIP dial peers.

When a pattern is the only source to enable a dial peer, a valid E.164 pattern map enables the linked dial peers, whereas an invalid E.164 pattern map disables the linked dial peers. Additionally, whenever an E.164 pattern map is created or reloaded, one or more dial peers linked with an E.164 pattern map is enabled or disabled based on the validation of a pattern map.

You can match a pattern map to an incoming calling or called number or an outgoing destination number.

When a dial peer has multiple patterns, the pattern with the longest prefix is considered as the matching criteria.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: