Call Routing Dial Plans

Mapping Outbound Calls to Unique FXS/FXO Ports on Analog Gateways

Document ID: 41887

Updated: Oct 01, 2006



This document demonstrates how to configure an H.323 gateway to route calls out to the public switched telephone network (PSTN) using specific plain old telephone service (POTS) ports based on the calling number of the Cisco IP phone that originated the call. The examples use analog Foreign Exchange Station (FXS) / Foreign Exchange Office (FXO) ports, but the same can be done with analog recEive and transMit (E&M) or digital ports configured with each DS0 in its own ds0-group. Normally, a call sent to a gateway has to use a hunt scheme to route calls out the gateway, with no concern for which port is chosen to route the call. However, in some cases it is desirable for specific ports to be associated with a certain Cisco IP phone number.



Cisco recommends that you have knowledge of basic Voice over IP (VoIP) concepts and configuration.

Components Used

The information in this document is based on these software and hardware versions:

  • Cisco CallManager releases 3.x and 4.0

  • Cisco IP Phones

  • Analog Gateway (Cisco 3725) that runs Cisco IOS® Software Release 12.3(4)T1

    Note: This is also applicable for Analog Gateways (Cisco 2600, 3600, 1700, IAD2400) that run Cisco IOS® Software Release 12.2(11)T or later.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.


Refer to the Cisco Technical Tips Conventions for more information on document conventions.

Analog Gateways

There are two categories of Cisco access analog gateways:

  • Analog station gateways connect an IP telephony network to POTS. Analog station gateways provide FXS ports for connecting to analog telephones, interactive voice response (IVR) systems, fax machines, and voice-mail systems.

  • Analog trunk gateways connect an IP telephony network to the PSTN central office (CO) or a PBX. They provide FXO ports for PSTN or PBX access and E&M ports for analog trunk connection to a legacy PBX. In order to minimize any answer and disconnect supervision issues, use digital gateways whenever possible. Analog Direct Inward Dial (DID) is also available for PSTN connectivity.

Gateway Protocol Support

Gateways support H.323, Media Gateway Control Protocol (MGCP), and Session Initiation Protocol (SIP). H.323 and SIP can be deployed on networks in which a call control agent, such as Cisco CallManager, is not present. MGCP is a streamlined protocol and only works on a network in which a Cisco CallManager is present.

Network Diagram

This document uses this network setup.



Configure the H.323 Gateway Inbound dial-peers

An incoming dial-peer in the gateway accepts an outgoing call from the Cisco IP Phone. Refer to Understanding How Inbound and Outbound Dial Peers are Matched on Cisco IOS Platforms for more on dial-peer matching

dial-peer voice 1 voip 
 translation-profile incoming Phone1 
 answer-address 8378 

!--- A call from Cisco IP Phone 8378 matches this dial-peer. 
!--- The answer-address matches the ANI of the calling party, which triggers the 
!--- translation-profile Phone1.  This profile then prefixes a "1" onto the  
!--- destination pattern so that the call can be sent out a specific FXS port. 

dial-peer voice 2 voip 
 translation-profile incoming Phone2 
 answer-address 8379 

dial-peer voice 3 voip 
 translation-profile incoming Phone3 
 answer-address 8380 

Configure the H.323 Gateway Translation Profiles

These translation profiles are triggered by an incoming VoIP call leg that matches an inbound dial-peer. These translation profiles prefix a digit onto the called-number digit stream so that a specific port can be used to route the call outbound.

voice translation-profile Phone1 
 translate called 1 
voice translation-profile Phone2 
 translate called 2 
voice translation-profile Phone3 
 translate called 3

Configure the Translation Rules

The translation profiles use translation rules to prefix a distinct digit pattern onto the Dialed Number Information Service (DNIS) sent out by Cisco CallManager. This configuration assumes that the route pattern to dial out to the public network through the analog gateway is "9" in the Cisco CallManager.

This example shows how the translation rules look. These are the new type of translation rules that Cisco IOS Software Release 12.2(11)T and later uses. Refer to Using IOS Translation Rules - Creating Scalable Dial Plans for VoIP Networks for information on translation rules before Cisco IOS Software Release 12.2(11)T.

voice translation-rule 1 
 rule 1 /^9/ /19/ 
voice translation-rule 2 
 rule 1 /^9/ /29/ 
voice translation-rule 3 
 rule 1 /^9/ /39/

Configure the Outbound dial-peers

This is how the outbound POTS dial-peers appears. The end result is that a call that comes into the router with a certain number is detected and triggers a translation profile. The translation profile then executes a translation rule to prefix a unique digit to the front of the digit stream. This router can then send calls from certain Cisco IP phones out specific POTS ports. This essentially "maps" an IP phone to an analog port.

dial-peer voice 19 pots 
 destination-pattern 19T 
 port 1/0/0 

dial-peer voice 29 pots 
 destination-pattern 29T 
 port 1/0/1 
dial-peer voice 39 pots 
 destination-pattern 39T 
 port 2/0/0

Now when the outbound call is made, the router can choose a dial-peer based on the new translated called number, which has a digit prefixed on the front of the original digit stream. If this translation is not done, then there is no way for the router to select a specific port to send the call out. The default behavior of the router would be to route calls based on a defined hunt group order.


This section provides information you can use to confirm your configuration works properly.

Note: Refer to Important Information on Debug Commands before you issue debug commands.

  • debug voip ccapi inout —Verifies that the correct dial-peers are matched, both inbound and outbound.

  • test voice translation-rule 1 95551212—Verifies that the translation-rules prefix the number appropriately when called.

    3725#test voice translation-rule 1 95551212
    Matched with rule 1
    Original number: 95551212       Translated number: 195551212
    Original number type: none      Translated number type: none
    Original number plan: none      Translated number plan: none
    3725#test voice translation-rule 2 95551234
    Matched with rule 1
    Original number: 95551234       Translated number: 295551234
    Original number type: none      Translated number type: none
    Original number plan: none      Translated number plan: none
  • debug translation —Verifies that the translation-rules are called and applied appropriately.

    *Aug 31 14:13:50.074: xrule_checking
    *Aug 31 14:13:50.074: xrule_checking calling 8378, called 95551234
    *Aug 31 14:13:50.074: xrule_checking peer_tag 1, direction 1, protocol 1
    *Aug 31 14:13:50.074: h323_xrule
    *Aug 31 14:13:50.074: h323_xrule
    *Aug 31 14:13:50.074: xrule_checking
    *Aug 31 14:13:50.074: xrule_checking calling 8378, called 195551234
    *Aug 31 14:13:50.074: xrule_checking peer_tag 19, direction 2, protocol 1


There is currently no specific troubleshooting information available for this configuration.

Related Information

Updated: Oct 01, 2006
Document ID: 41887