cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1947
Views
0
Helpful
2
Replies

dial-peer issue with voice-port

jordan.bean
Level 1
Level 1

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

1 Accepted Solution

Accepted Solutions

Try to study the Variable-Length Matching:

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.


View solution in original post

2 Replies 2

Try to study the Variable-Length Matching:

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.


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