A dialplan pattern is an essential element of the Cisco CME configuration to integrate the Cisco CME and PSTN dial plans. If the dialplan patterns are not properly configured, calls to or from the PSTN may not terminate correctly. This section describes some of the common pitfalls in configuring dialplan patterns and how to troubleshoot them.
Figure 17-1 shows the Cisco CME configuration for a company with two geographically separate headquarters and customer support center offices, with Cisco CME deployed at both sites. There are 20 employees in the headquarters office and five employees in the customer support center. Calls between the two sites are routed over the IP WAN using voice over IP (VoIP). This saves the company money and also provides the convenience of uniform four-digit dialing between the sites. Both offices have PSTN connectivity via a Primary Rate Interface (PRI) line.
Figure 17-1. System Configuration
In Figure 17-1, the extension numbers for the support office start at 1001, with an E.164 prefix of 555111, making the PSTN Direct Inward Dial (DID) number for employees at the office start at 555.111.1001. The E.164 prefix for the headquarters site is 555222. Mapping the DID number to the extension number is achieved by using the dialplan-pattern command.
In this scenario, everything seems to be working fine for the company. Employees can call each other by dialing the appropriate four-digit extension number, and PSTN customers can call the support center by dialing the full PSTN DID number. Example 17-1 shows the relevant portions of the configuration of the headquarters Cisco CME router (HQ_router).
Example 17-1. Headquarters Cisco CME Configuration
HQ_Router#show running-config dial-peer voice 1 voip destination-pattern 1... session target ipv4:10.10.10.1 dtmf-relay h245-alphanumeric ! telephony-service load 7960-7940 P00303020214 max-ephones 24 max-dn 48 ip source-address 10.10.10.2 port 2000 create cnf-files version-stamp 7960 Jan 10 2004 14:22:22 dialplan-pattern 1 55522220.. extension-length 4 extension-pattern 20.. max-conferences 4 transfer-pattern 1... ! ephone-dn 1 number 2001 ! ephone-dn 2 number 2002 ! ephone 1 mac-address 0009.B7DA.0461 button 1:1
Example 17-2 shows an extract from the customer support center Cisco CME router (CS_router) configuration.
Example 17-2. Customer Support Center Cisco CME Configuration
CS_router#show running-config !Output omitted for brevity ... dial-peer voice 1 voip destination-pattern 2... session target ipv4:10.10.10.2 dtmf-relay h245-alphanumeric ! dial-peer voice 2 voip destination-pattern 3... session target ipv4:10.10.10.3 dtmf-relay h245-alphanumeric ! dial-peer voice 3 pots destination-pattern 9........... direct-inward-dial port 2/0:23 forward-digits 11 telephony-service load 7960-7940 P00303020214 max-ephones 24 max-dn 48 ip source-address 10.10.10.1 port 2000 timeouts ringing 30 url authentication http://10.10.10.1/CCMCIP/authenticate.asp create cnf-files version-stamp 7960 Dec 05 2002 03:25:07 dialplan-pattern 1 555111100. extension-length 4 extension-pattern 100. max-conferences 8 transfer-pattern 2... ! ephone-dn 1 number 1001 name CS Engineer1 ! ephone-dn 2 number 1010 name CS Engineer2 ephone 1 mac-address 0007.EB46.299E type 7960 button 1:1
A recent increase in sales for the company has led to an increased call volume to the support center. Therefore, the company has decided to hire five more people. Each new employee is provided with a new phone. John, the last person hired, is assigned extension number 1010. He is happy not to receive any customer calls on his first day, even though every one of his colleagues fields multiple customer calls. On the second day, John also receives no calls, and the next day and the day after. He can make calls from his phone to another extension and also can dial out via the PSTN. Colleagues from the headquarters office can call him, but no customer calls reach John directly. The next sections look at some of the show and debug commands that help identify and fix this problem.
Debugging Dialplan Patterns
One of the most useful debug commands for call processing issues involving Cisco CME phones is the debug ephone detail command. Because of the verbose nature of its output, use this command with caution in configurations that have a large number of phones and high call volumes. You can add a mac-address option to this command to show output for only a particular phone.
If you were to turn on debug ephone detail mac-address 0003.E373.76FB and make a call from the PSTN to John's number, 555.111.1010, you would see absolutely no debug output. This means that there is no incoming call to John's phone, which has a Media Access Control (MAC) address of 0003.E373.76FB. For a call to terminate on a particular extension, there must be a dial peer with a destination pattern matching that number. If you refer to the configuration of CS_router in Example 17-2, you see that the destination pattern 555.111.1010 is not configured explicitly anywhere in the configuration. In fact, you have not configured the E.164 (PSTN DID) number for any of the phones. The Cisco CME dialplan-pattern command is taking care of this conversion from DID number to extension number.
For each ephone-dn that matches the wildcard characters (dots) in the dialplan-pattern command, an additional dial peer was automatically created with the destination pattern being the full E.164 number. The original dial peer has the actual destination pattern as the number configured with the ephone-dn command. For example, ephone-dn 1 configured with the number 1001 has two dial peers with destination patterns of 1001 and 555.111.1001, respectively. These additional configurations are not seen as part of the router's running configuration, because they are Cisco CME-specific, internally generated configurations. You can see these configurations by issuing the show telephony-service command followed by the appropriate options. The output of the show telephony-service dial-peer command for the CS_router configuration is shown in Example 17-3.
The dial peers for extension numbers 1003 to 1008 have been removed from the output to save space.
Example 17-3. show telephony-service dial-peer Command Output
CS_router#show telephony-service dial-peer dial-peer voice 20001 pots destination-pattern 1001 huntstop progress_ind setup enable 3 port 50/0/1 dial-peer voice 20003 pots destination-pattern 1010 huntstop progress_ind setup enable 3 port 50/0/2 dial-peer voice 20016 pots destination-pattern 1009 huntstop progress_ind setup enable 3 port 50/0/9 dial-peer voice 20018 pots destination-pattern 1010 huntstop progress_ind setup enable 3 port 50/0/10 dial-peer voice 20029 pots destination-pattern 5551111001 huntstop progress_ind setup enable 3 port 50/0/1 dial-peer voice 20036 pots destination-pattern 5551111009 huntstop progress_ind setup enable 3 port 50/0/9
As you can see from the output in Example 17-3, for each number configured under an ephone-dn, there are two dial peers with destination patternsone with the extension number and another with the full E.164 version of the number.
Correcting the Dialplan Pattern
By now you realize that there is a missing dial peer for John's extension matching the E.164 version of his number (his PSTN DID number), 555.111.1010. You can also see that John's extension is the only number in the configuration with a missing dial peer for the E.164 extension.
Initially, when only five phones were connected to the system, the dialplan pattern configured was correct. The extension pattern of 100. in the command dialplan-pattern 1 555111100. extension-length 4 extension-pattern 100. was valid for the extension numbers 1001 to 1005 that existed on the system at the time. With the addition of five more phone lines, the configuration became invalid for the most recent number: John's extension of 1010. This is the reason for the missing dial peer with the E.164 number as the destination pattern.
Changing the dialplan pattern from the existing configuration to the new configuration of dialplan pattern 1 5551111... extension-length 4 extension-pattern 1... solves the problem. With this change, you do not need to worry about adding extensions all the way to 1999, because they are all taken care of. However, you should certainly look at the configuration again after that.
Missing Transfer Patterns