A client of mine had a Cisco 2811 installed before I started working for them so I had to go over the configuration to become familiar with things. One of the Cisco IOS configuration items used was translation-rule which will allow 10 to 15 Rules to be created under each translation-rule. In this scenario they were using translation-rule to forward external DID’s from their telco provider to internal extensions. This works fine except for the fact that if you have more than 10 (in this case) external numbers you won’t be able to continue to forward them to internal extensions without complicating the configuration using multiple dial plans, etc. The easiest way to get away from the translation-rule being used in this way is to assign t he external DID telephone numbers as secondary numbers under each extension configuration as explained below.
Debug Incoming Calls Using Cisco IOS Command:
First you should login to the Cisco device, in this case a Cisco 2811, and use the below command to see how the external numbers are being routed down the T1 provided by the telecommunications company.
Debug Incoming Calls From T1 Using Cisco IOS:
debug isdn q931
Make sure that you have terminal monitoring on by typing “term mon” before or after the above command. The output of the above debug command will look similar to the below and what you are looking for is “Called Party Number” to see how the number you are dialing shows up on your Cisco device. Typically the last four digits will show up so if you dialed 502-111-1234 then the Called Party Number would be 1234.
Example Cisco IOS Debug ISDN Q931:
Cisco2811# Oct 29 23:41:30.030: ISDN Se0/0/0:23 Q931: RX <- SETUP pd = 8 callref = 0x0388 Bearer Capability i = 0x8090A2 Standard = CCITT Transfer Capability = Speech Transfer Mode = Circuit Transfer Rate = 64 kbit/s Channel ID i = 0xA98381 Exclusive, Channel 1 Facility i = 0x9F8B0100A10F01111106072A7538CE1500040B2200 Protocol Profile = Networking Extensions 0xA10F03210106072A7548CE1511140B2200 Component = Invoke component Invoke Id = 1 Operation = InformationFollowing (calling_name) Name information in subsequent FACILITY message Calling Party Number i = 0x2183, '5021111123' Plan:ISDN, Type:National Called Party Number i = 0x80, '7112' Plan:Unknown, Type:Unknown Oct 29 23:41:30.050: ISDN Se0/0/0:23 Q931: TX -> CALL_PROC pd = 8 callref = 0x8388 Channel ID i = 0xA98381 Exclusive, Channel 1 Oct 29 23:41:30.070: ISDN Se0/0/0:23 Q931: TX -> DISCONNECT pd = 8 callref = 0x8388 Cause i = 0x8081 - Unallocated/unassigned number Oct 29 23:41:30.102: ISDN Se0/0/0:23 Q931: RX <- RELEASE pd = 8 callref = 0x0388 Oct 29 23:41:30.106: ISDN Se0/0/0:23 Q931: TX -> RELEASE_COMP pd = 8 callref = 0x8388
Notice that in the above example the Called Party Number is 7112. We will next want to add 7112 as a secondary number to an already configured internal extension as described below.
Add External DID As Secondary Number To Already Configured Extension:
Below shows an example of an already configured extension which we will be adding a secondary number to so when an external DID is dialed it will ring this specific extension.
Current Extension Configuration:
ephone-dn 39 number 449 label Ext 449 name Ext 449 call-forward busy 700 call-forward noan 700 timeout 10
Addition Of External DID To Extension Configuration:
ephone-dn 39 number 449 secondary 7112 no-reg both label Ext 449 name Ext 449 call-forward busy 700 call-forward noan 700 timeout 10
As you can see above the phone will now ring extension 449 when 502-123-7112 is dialed based on adding the secondary 7112 number. I did also want to explain the translation-rule limitation that caused me to start configuring external numbers in this manner. The previous admin that worked on this device used the translation-rule command to route external DID’s to internal extensions but doing this will limit you to routing 10 or 15 external telephone numbers to internal extensions.