Understanding Inbound and Outbound Dial Peers Matching on IOS Platforms
Contents
Introduction
Prerequisites
Requirements
Components Used
Conventions
Matching Inbound Dial Peers
Inbound Dial Peers Elements and Attributes
Inbound Dial Peers Matching Process
The Default Dial-Peer 0 peer_tag=0, pid:0
Special Note on isdn overlap-receiving
Special Note on POTS Calls with Empty Calling Number Field
Matching Outbound Dial Peers
DID (Direct Inward Dial) Case
Non-DID Case
Special Note on Variable-Length Dial Plans
Dial Peer Operational Status
Dial Peer Additional Information
Case Study: Understanding Inbound Matching and Default Dial-Peer 0
Configurations
Cisco Support Community - Featured Conversations
Related Information
Introduction
The purpose of this document is to explain how inbound and outbound dial peers are matched to plain old telephone service (POTS) and Voice-Network call legs.Prerequisites
Requirements
Cisco recommends that you have knowledge of these topics:- Voice - Understanding Dial Peers and Call Legs on Cisco IOS Platforms
- Voice - Understanding Inbound and Outbound Dial Peers on Cisco IOS Platforms
Components Used
This document is not restricted to specific software and hardware versions.Conventions
Refer to Cisco Technical Tips Conventions for more information on document conventions.Matching Inbound Dial Peers
Inbound Dial Peers Elements and Attributes
Three information elements sent in the call setup message and four configurable dial peer command attributes are used to match dial peers as follows:- Inbound POTS dial peers are associated to incoming POTS call legs on the originating router or gateway.
- Inbound Voice-Network dial peers are associated to incoming Voice-Network call legs of the terminating router or gateway. Examples of Voice-Network calls legs are Voice over IP (VoIP), Voice over Frame Relay (VoFR), Voice over ATM (VoATM), and Multimedia Mail over IP (MMoIP).
Dial Peer Attribute | Description | Call Setup Element (See Table 2) |
---|---|---|
gwy(config-dial-peer)# incoming called-number DNIS_string | This dial peer command defines the called number destination or dialed number identification service (DNIS) string. When properly configured, this dial peer command uses the called number to match the incoming call leg to an inbound dial peer. | Called number (DNIS) |
gwy(config-dial-peer)# answer-address ANI_string | This dial peer command defines the originating calling number or automatic number identification (ANI) string. When properly configured, this dial peer command uses the calling number to match the incoming call leg to an inbound dial peer. | Calling Number (ANI) |
gwy(config-dial-peer)# destination-pattern string | When inbound call legs are matched, this command uses the calling number (originating or ANI string) to match the incoming call leg to an inbound dial peer. Note: For outbound dial peers, this command is matched against the called number or DNIS strings. | Calling Number (ANI) for inbound or the Called number (DNIS) strings for outbound |
gwy(config-dial-peer)# port port | This dial peer command defines the POTS voice port through which calls to this dial peer are placed. | Voice Port |
The three call setup elements are:
Call Setup Element | Description |
---|---|
Called number (DNIS) | This is the call destination dial string and is derived from the ISDN setup message or channel associated signaling (CAS) DNIS. |
Calling Number (ANI) | This is a number string that represents the origin and is derived from the ISDN setup message or CAS ANI. The ANI is also referred to as Calling Line Identification (CLID). |
Voice Port | This represents the POTS physical voice port. |
Inbound Dial Peers Matching Process
When the Cisco IOS router or gateway receives a call setup request, a dial peer match is made for the incoming call in order to facilitate routing the call to different session applications. This is not a digit-by-digit match, rather the full digit string received in the setup request is used to match against configured dial peers.Note: The maximum number of dial peers that can be configured on a Cisco IOS gateway depends on the available memory (DRAM). Each dial peer consumes approximately 6KB of memory. Make sure that you have at least 20% of the total memory reserved for other CPU processes. If the dial peers are used for call routing, a larger number of dial peers will add to the delay to route a call. This will be significant as the Cisco IOS voice stack looks through dial peers from the top down, similar to an Acess Control List.
The router or gateway matches the information elements in the setup message with the dial peer attributes to select an inbound dial peer. The router or gateway matches these items in this order:
- Called number (DNIS) with the incoming called-number command
First, the router or gateway attempts to match the called number of the call setup request with the configured incoming called-number of each dial peer. Because call setups always include DNIS information, it is recommended to use the incoming called-number command for inbound dial peer matching. This attribute has matching priority over the answer-address and destination-pattern commands.
- Calling Number (ANI) with the answer-address command
If no match is found in step 1, the router or gateway attempts to match the calling number of the call setup request with the answer-address of each dial peer. This attribute can be useful in situations where you want to match calls based on the calling number (originating).
- Calling Number (ANI) with the destination-pattern command
If no match is found in step 2, the router or gateway attempts to match the calling number of the call setup request to the destination-pattern of each dial peer. For more information about this, see the first bullet in the Dial Peer Additional Information section of this document.
- Voice-port (associated with the incoming call setup request) with configured dial peer port (applicable for inbound POTS call legs)
If no match is found in the step 3, the router or gateway attempts to match the configured dial peer port to the voice-port associated with the incoming call. If multiple dial peers have the same port configured, the dial peer first added in the configuration is matched.
- If no match is found in the first four steps, then the default dial peer 0 (pid:0) command is used.
The previous selection process is displayed with this diagram:
The Cisco IOS router or gateway matches only one of these conditions. It is not necessary for all the attributes to be configured in the dial peer or that every attribute match the call setup information. Only one condition must be met for the router or gateway to select a dial peer. The router or gateway stop to search as soon as one dial peer is matched.
The longest prefix matching criteria applies while each step is performed. At each step, if multiple matches are found, the one with the longest explicit match is chosen. This example helps clarify this concept:
Assume the incoming called number (DNIS) is "81690". Dial peer 2 is matched.
Note: For inbound dial peers, the session target command is ignored.dial-peer voice 1 pots incoming called-number 8.... direct-inward-dial ! dial-peer voice 2 pots incoming called-number 816.. direct-inward-dial
The Default Dial-Peer 0 peer_tag=0, pid:0
If no incoming dial peer is matched by the router or gateway, the inbound call leg is automatically routed to a default dial peer (POTS or Voice-Network). This default dial peer is referred to as dial-peer 0 or pid:0.Note: There is an exception to this statement. Cisco voice and dial platforms, such as the AS53xx and AS5800, require that a configured inbound dial peer is matched for incoming POTS calls to be accepted as voice calls. If there is no inbound dial peer match, the call is treated and processed as a dial-up (modem) call.
Dial-peer 0 (pid:0) has a default configuration that cannot be changed. The default dial-peer 0 fails to negotiate non-default capabilities, services, and applications such as:
- Non-default Voice-Network capabilities: dtmf-relay, no vad, and so forth.
- Direct Inward Dial (DID)
- TCL Applications
- any codec
- vad enabled
- no rsvp support
- fax-rate voice
Note: The default DSCP for voice is EF codepoint 101110 (RFC 2598), and the default DSCP for signaling is AF31 codepoint 011010 (RFC 2597). The default dial peer does not mark packets to DSCP 0. All voice packets on the routers are marked by default (this can be overridden by the dial peer), signaling with AF31 and media with EF. Calls that match the default dial peer 0 should also have this behavior.
- no ivr application
Special Note on isdn overlap-receiving
There are implications for inbound dial peer matching when the isdn overlap-receving command is configured on ISDN interfaces. After every digit is received at the ISDN layer, dial peers are checked for matches. If a full match is made, the call is routed immediately (to the session app in this case) without waiting for additional digits. The 'T' terminator can be used to suspend this digit-by-digit matching and force the router or gateway to wait until all digits are received. The 'T' refers to the T302 interdigit timer at the ISDN level, configurable under the serial interface associated with the ISDN interface. ISDN also provides other mechanisms to indicate the end of digits, such as setting the Sending Complete Information Element (IE) in Q.931 information messages.Special Note on POTS Calls with Empty Calling Number Field
Assume this configuration:Now, assume that an incoming call arrives with no calling number information and is matched with the POTS dial peer based on the destination-pattern 9T command. In this case, the Cisco IOS router or gateway uses the "9" digit as the calling number and forwards the call to the corresponding device, such as CallManager or the IOS Gateway. In order to not replace the empty calling number field, create a dummy POTS dial peer with just the incoming called-number command configured. Because the incoming called-number statement has higher priority than destination pattern for inbound POTS matching, dial-peer voice 2 becomes the POTS dial peer used.dial-peer voice 1 pots destination-pattern 9T port 1/0:1
dial-peer voice 1 pots destination-pattern 9T port 1/0:1 ! dial-peer voice 2 pots incoming called-number .
Matching Outbound Dial Peers
In order to match outbound dial peers, the router or gateway uses the dial peer destination-pattern called_number command.- On POTS dial peers, the port command is then used to forward the call.
- On Voice-Network dial peers, the session target command is then used to forward the call.
DID (Direct Inward Dial) Case
An incoming dial peer configured with DID direct-inward-dial looks like this:On DID calls, also referred to as one-stage dialing, the setup message contains all the digits necessary to route the call, and the router or gateway should not do subsequent digit collection. When the router or gateway searches for an outbound dial peer, the device uses the entire incoming dial string. This matching is variable-length by default. This match is not done digit-by-digit because by DID definition, all digits have been received. This example helps clarify this concept:dial-peer voice 1 pots incoming called-number 81690 voice-port 0:D direct-inward-dial
Assume the DID dial-string is "81690". In this case, the router matches dial peer 4 and forwards the complete dial-string "81690".
For more information on DID, refer to Voice - Understanding Direct-Inward-Dial (DID) on Cisco IOS Digital (T1/E1) Interfaces.dial-peer voice 3 voip destination-pattern 816 session target ipv4:172.22.10.1 ! dial-peer voice 4 voip destination-pattern 81690 session target ipv4:172.22.10.1
Non-DID Case
This case is also referred to as two-stage dialing. If DID is not configured on the matched incoming dial peer, the router or gateway enters the digit collection mode (digits are collected inband). Outbound dial peer matching is done on a digit-by-digit basis. The router or gateway checks for dial peer matches after the device has received each digit and then routes the call when a full match is made. These examples help clarify this concept:Assume the dial-string is "81690". Immediately after the router receives the digit "6", the router matches dial peer 3 and routes the call (forwarding only the digits "816").
Now, assume dial peer 3 is configured for wild-card matching:dial-peer voice 3 voip destination-pattern 816 session target ipv4:172.22.10.1 ! dial-peer voice 4 voip destination-pattern 81690 session target ipv4:172.22.10.1
In this case, the longest-prefix rule applies, and dial peer 4 is matched for the outbound call leg.dial-peer voice 3 voip destination-pattern 816.. session target ipv4:172.22.10.1 ! dial-peer voice 4 voip destination-pattern 81690 session target ipv4:172.22.10.1
Special Note on Variable-Length Dial Plans
There are situations where expected dial-strings do not have a set number of digits. In such cases, Cisco recommends you configure the "T" terminator on the dial peer destination-pattern command in order to.use variable-length dial-peers.The 'T' terminator forces the router or gateway to wait until the full dial-string is received. In order to achieve this, the 'T' terminator forces the router or gateway to wait until the full dial-string is received. The router or gateway:
- Waits for a set interdigit timeout before the device routes the call.
- Routes the call once the device receives the "#" termination character in the dial-string. For example, if you dialed "5551212#", the "#" indicates to the router that you dialed all the digits and that all digits prior to the "#" should be used to match a dial peer.
Assume the router in this example receives a call setup with dial-string "95551212" from the network. Dial peer 2 then forwards to the PSTN the digits "5551212".
Now, assume the dial-string from an inbound POTS interface is "81690".dial-peer voice 2 pots destination-pattern 9T port 2/0:23
In this case, the longest-prefix rule applies, and dial peer 4 is matched for the outbound call leg.dial-peer voice 3 voip destination-pattern 8T session target ipv4:172.22.10.1 ! dial-peer voice 4 voip destination-pattern 81690T session target ipv4:172.22.10.1
Note:
- The default interdigit timeout is set for 10 seconds. In order to modify this value, issue the timeouts interdigit seconds voice-port command.
- Anytime the "T" is used, "T" must be preceded by a "." or digits (".T" or "555T" for example). If you use "T" alone, the dial peers act improperly and effect how calls are handled by the router.
Dial Peer Operational Status
A dial peer operational status must be administratively up and valid for the dial peer to be matched. In order to be considered operational, dial peers must meet one of these conditions: (There are others, but these are the main ones.)- Destination-pattern is configured and a voice-port or session target is also configured.
- Incoming called-number is configured.
- Answer-address is configured.
Dial Peer Additional Information
The dial peer attribute destination-pattern has different behavior when applied to inbound or outbound call legs:- For inbound dial peers, the destination-pattern is matched against the calling number (ANI string).
- For outbound dial peers, the destination-pattern is matched against called number (DNIS string).
Case Study: Understanding Inbound Matching and Default Dial-Peer 0
Configurations
maui-gwy-04 | maui-gwy-06 |
---|---|
!--- | !
version 12.2
service timestamps debug datetime
!
hostname maui-gwy-06
!
interface Ethernet0/0
ip address 172.22.10.1 255.255.255.0
half-duplex
!
!--- FXS port
voice-port 1/0/0
!
dial-peer voice 1 pots
destination-pattern 81560
port 1/0/0
!
dial-peer voice 2 voip
destination-pattern 9.....
session target ipv4:172.22.10.2
DTMF-relay cisco-rtp |
In this case study, these show and debug commands are used:
- show call active voice {brief}—This command displays the contents of the active call table, which shows all of the calls currently connected through the router. In this case, the command is useful in order to display dial peers and capabilities associated to an active call.
- debug voip ccapi inout—This command is useful in order to troubleshoot end-to-end VoIP calls.
!--- Action: Call is placed from the PSTN through maui-gwy-04 !--- and terminated on an FXS port of maui-gwy-06 (called number: "81560") !--- Notes: !--- 1)On maui-gwy-04, the incoming call is received on the POTS dial-peer 1, !--- which is configured for DID. !--- 2)On maui-gwy-06, no inbound VoIP dial-peer is matched and default !--- dial-peer=0 is used. Therefore, the DTMF-relay cisco-rtp negotiation !--- fails. !----------------------------------------------------------------------------- !--- Output on maui-gwy-04 (Originating Gateway) !----------------------------------------------------------------------------- maui-gwy-04#show call active voice brief !--- This information was captured on the call originating gateway !--- once the call was placed and active. !--- !--- |
Now, to match the inbound VoIP dial-peer 2 on maui-gwy-06 add this command:
maui-gwy-06#config t
Enter configuration commands, one per line. End with CNTL/Z.
maui-gwy-06(config)#dial-peer voice 2 voip
!--- This command uses the DNIS(called number)to match the inbound call leg
!--- to the dial-peer.
maui-gwy-06(config-dial-peer)#incoming called-number 8....
This is a snapshot of the maui-gwy-06 configuration after additional configuration:
!---
dial-peer voice 1 pots
destination-pattern 81560
port 1/0/0
!
dial-peer voice 2 voip
incoming called-number 8....
destination-pattern 9.....
session target ipv4:172.22.10.2
dtmf-relay cisco-rtp
!
!--- Action: Call is placed from the PSTN through maui-gwy-04 !--- and terminated in an FXS port of maui-gwy-06 (called number: "81560"). !--- Notes: !--- 1)On maui-gwy-04, the incoming call is received on the POTS dial-peer 1, !--- which is configured for DID. !--- 2)On maui-gwy-06, dial-peer 2 voip is matched inbound, and dtmf-relay !--- Cisco RTP is negotiated. !----------------------------------------------------------------------------- !--- Output on maui-gwy-06 (Terminating Gateway) !----------------------------------------------------------------------------- maui-gwy-06#show call active voice brief !--- |
Cisco Support Community - Featured Conversations
Want to see more? Join us by clicking her
Комментариев нет:
Отправить комментарий