08-27-2012 01:40 PM - edited 03-16-2019 12:54 PM
We have the following configuration in our router. We must use wildcards for calls to the PSTN because we're a voice service provider and have too many DID blocks being ported in and out of our system. The telco provider is passing us 7 digits on some routers and 10 digits to others for incoming ISDN calls.
All incoming VoIP calls into the router are prepended with a 9, properly matched to a dial-peer and routed to the PSTN. Our problem is with call coming into voice-port 0/2/1:0. This is a CAS T1 channel. en bloc dialing is not supported, so digits are collected one-by-one. (FYI, for some reason only a translation-rule will work on the voice-port. A voice translation-rule will not.)
The issue that we're having is that if we dial a number such at 5551212, we see the digits collected one-by-one (with the 9 prefix) until 6 digits are collected. i.e. 9555121 is collected and immediately passed to the PSTN. The interdigit timeout value is ignored. As a result, we can't make any calls to the PSTN. We thought that the 9T means that the digits should be collected until the inter-digit timeout expires.
Can someone please advise on what configuraiton changes we can make so that we can collect any number of digits from the voice-port and have them matched to the appropriate dial-peer?
voice translation-rule 10
rule 1 /^./ /9&/
!
!
voice translation-profile PrefixNine
translate called 10
!
!
voip-incoming translation-profile PrefixNine
!
translation-rule 10
Rule 1 ^. 9
voice-port 0/2/1:0
translate called 10
output attenuation 0
timeouts interdigit 5
description Test POTS Line
station-id number XXXxxxXXXX
dial-peer voice 1 pots
description Enable DID on calls from PRI's to GW
incoming called-number .
direct-inward-dial
!
dial-peer voice 5 voip
description Default calls to CUCM
preference 1
destination-pattern .......
session target ipv4:10.10.10.10
voice-class codec 1
voice-class h323 1
dtmf-relay h245-alphanumeric
!
dial-peer voice 10 pots
description Calls to Telco (Primary)
preference 1
destination-pattern 9[2-9]11
port 0/2/0:23
forward-digits 3
!
dial-peer voice 20 pots
description Calls to Telco (Primary)
preference 1
destination-pattern 91411
port 0/2/0:23
forward-digits 4
!
dial-peer voice 30 pots
description Calls to Telco (Primary)
preference 1
destination-pattern 9T
port 0/2/0:23
!
dial-peer voice 40 pots
description Calls to Telco (Primary)
preference 1
destination-pattern 9[2-9]..[2-9]......
port 0/2/0:23
!
dial-peer voice 50 pots
description Calls to Telco (Primary)
preference 1
destination-pattern 91[2-9]..[2-9]......
port 0/2/0:23
prefix 1
!
dial-peer voice 60 pots
description Calls to Telco
preference 1
destination-pattern 9011T
port 0/2/0:23
Solved! Go to Solution.
09-05-2012 11:07 AM
Try to study the Variable-Length Matching:
When matching dial peers, the router defaults to variable-length matching, which means that as long as the left-justified digits in the dial string match the configured pattern in the dial peer, any digits beyond the configured pattern are ignored for the purposes of matching. For example, dial string 5551212 would match both of the following dial peers:
dial-peer voice 1 voip
destination-pattern 555
session target ipv4:10.10.1.1
dial-peer voice 2 voip
destination-pattern 5551212
session target ipv4:10.10.1.2
To disable variable-length matching for a dial peer, add the dollar sign ($) to the end of the destination pattern, as shown:
dial-peer voice 1 voip
destination-pattern 555$
session target ipv4:10.10.1.1
The $ character in the configuration prevents this dial peer from being matched for dial string 5551212 because the extra digits beyond 555 are considered in the matching.
With two-stage dialing, the router collects the dialed string digit by digit. It attempts to match a dial peer after each digit is received. As soon as it finds a match, it immediately routes the call. For example, given the following configurations, the router would immediately match dial string 5551212 to dial peer 1.
dial-peer voice 1 voip
destination-pattern 555
session target ipv4:10.10.1.1
dial-peer voice 2 voip
destination-pattern 5551212
session target ipv4:10.10.1.2
If the router is performing two-stage dialing and you want to make sure that the full dial string is collected before a dial peer is matched, you can use the timeout T-indicator as in variable-length dial plans. For example, after the router waits until the full dial string is collected, dial string 5551212 would match both of the following dial peers:
dial-peer voice 1 voip
destination-pattern 555T
session target ipv4:10.10.1.1
dial-peer voice 2 voip
destination-pattern 5551212T
session target ipv4:10.10.1.2
How the router selects a dial peer also depends on whether the dial peer is being matched for the inbound or outbound call leg.
09-05-2012 11:07 AM
Try to study the Variable-Length Matching:
When matching dial peers, the router defaults to variable-length matching, which means that as long as the left-justified digits in the dial string match the configured pattern in the dial peer, any digits beyond the configured pattern are ignored for the purposes of matching. For example, dial string 5551212 would match both of the following dial peers:
dial-peer voice 1 voip
destination-pattern 555
session target ipv4:10.10.1.1
dial-peer voice 2 voip
destination-pattern 5551212
session target ipv4:10.10.1.2
To disable variable-length matching for a dial peer, add the dollar sign ($) to the end of the destination pattern, as shown:
dial-peer voice 1 voip
destination-pattern 555$
session target ipv4:10.10.1.1
The $ character in the configuration prevents this dial peer from being matched for dial string 5551212 because the extra digits beyond 555 are considered in the matching.
With two-stage dialing, the router collects the dialed string digit by digit. It attempts to match a dial peer after each digit is received. As soon as it finds a match, it immediately routes the call. For example, given the following configurations, the router would immediately match dial string 5551212 to dial peer 1.
dial-peer voice 1 voip
destination-pattern 555
session target ipv4:10.10.1.1
dial-peer voice 2 voip
destination-pattern 5551212
session target ipv4:10.10.1.2
If the router is performing two-stage dialing and you want to make sure that the full dial string is collected before a dial peer is matched, you can use the timeout T-indicator as in variable-length dial plans. For example, after the router waits until the full dial string is collected, dial string 5551212 would match both of the following dial peers:
dial-peer voice 1 voip
destination-pattern 555T
session target ipv4:10.10.1.1
dial-peer voice 2 voip
destination-pattern 5551212T
session target ipv4:10.10.1.2
How the router selects a dial peer also depends on whether the dial peer is being matched for the inbound or outbound call leg.
09-05-2012 11:21 AM
Thank you. That was the issue - the digit-by-digit collection was matching the voip dial-peer before the 9T POTS dial-peer. I ended up fixing this by implementing cor lists so that:
1) Incoming PSTN calls can only use the dial-peers to CUCM and the POTS lines terminated on the router.
2) Incoming POTS calls from POTS lines on the router can only use the PSTN dial-peers
3) Incoming VOIP calls can only use the PSTN dial-peers
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide