CICD – Ch6 – Understanding the CME Dial Plan
Configuring Analog Voice Ports
- FXS – Foreign Exchange Station
- Connects to end station – phone, fax machine, modem
- Physical ports on router, typically a WIC card
- show voice port summary
CME#sh voice port summary IN OUT PORTCH SIG-TYPE ADMIN OPER STATUS STATUS EC =============== == ============ ===== ==== ======== ======== == 0/3/0 --fxs-lsupdorm on-hookidle y 0/3/1 --fxs-lsupdorm on-hookidle y 50/0/11efxs upup on-hookidle y 50/0/12efxs upup on-hookidle y PWR FAILOVER PORTPSTN FAILOVER PORT ================================== CME#
- Configuration areas
- Call Progress Tone
- Signaling
- Loop Start
- Default
- Signal by completing a circuit
- Off Hook handset, DC power
- Typically used with analog devices – phones, fax, modems
- Ground Start
- Configured
- Signal a connection by grounding 2 wires in the cable temporarily
- Tpyically used when connecting to PBX
- Loop Start
CME(config)#voice-port 0/3/0 CME(config-voiceport)#cptone ? locale 2 letter ISO-3166 country code
- Caller ID Information
- Allows other devices in the system to receive caller ID name and number
CME(config-voiceport)#station-id name ANALOG PHONE CME(config-voiceport)#station-id number 5553000
- FXO – Foreign Exchange Office
- Trunk port to PSTN Central Office (CO) or PBX
- Uses same commands as FXS for signal, station and ID
- 2 new configurations
- Dial-type
- Choose DTMF (Dual Tone Multifrequency)
- Pulse dialing or rotary dial
- dial-type <dtmf/pulse>
- Ring-number
- ring number <#>
- Number of rings that should pass before router answers an incoming call to the FXO port
- Default – one ring
- Causes router to answer immediately
- ring number <#>
- Dial-type
Configuring Digital Voice Ports
- T1 or E1 connection, VWIC interface card on a router
- Must configure to operate, router needs to know which signaling to use
- CAS – T1/E1 – ds0-group
- CCS – ISDN – pri-group
Configuration example – CAS
CME(config)# controller t1 0/0/0 CME(config-controller)# frame esf CME(config-controller)# linecode b8zs CME(config-controller)# clock source line CME(config-controller)# ds0-group 1 timeslots 1-24 type …
- Config info must match the provider
- Frame in US is most likely esf
- Clock source – where to get clocking from
- ds0-group – configure the line as T1 CAS
- Allow to enter specific number of time slots to provision
- Single T1 can be provisioned for different purposes
- Command automatically create voice ports
Configuration example – CCS
CME(config)# isdn switch-type primary-ni CME(config)# controller t1 0/1/0 CME(config-controller)# pri-group timeslots 1-24
T1 signaling – slot 24
E1 signaling – slot 17

CLI Delivered interface Serial 0/1/3:23 description T1 shutdown isdn switch-type primary-ni no shutdown isdn protocol-emulate network exit voice-port 0/1/3:23 description T1 exit card type T1 0 1 network-clock-participate wic 1 isdn switch-type primary-ni network-clock-select 6 T1 0/1/3 controller T1 0/1/3 description T1 shutdown pri-group timeslots 1-24 no shutdown exit
Dial Peers
-
Static route for the voice network
- Manually enter destinations
- Define voice reachability information
- Phone numbers that can be dialed
- Can assign one or more numbers to analog devices
- Allows for wildcards to define a range of phone numbers
2 Types of Dial Peers
- POTS – Plain Old Telephone Service
- Reachability for traditional voice devices connected to FXS, FXO, E&M
- VOIP Dial Peer
- Reachability for VOIP connection
- Reachable through IP address

POTS Dial Peer from CCP

VOIP Dial Peer from CCP
Voice Call Legs
- Connection to or from a voice gateway from a POTS of VOIP resource
- Call legs need return paths to provide 2 way calling
- Dial peers provide reachability information (phone number) and path audio must travel
- Call legs are matched both inbound and outbound
Configuring POTS Dial Peer
- Dial-peer voice <tag> pots
- Tag can be any number. Must be unique on the router
- Try and have tag match the dial peer phone number
CME(config)#dial-peer voice 1101 pots CME(config-dial-peer)#destination-pattern 1101 CME(config-dial-peer)#port ? <0-50>Voice interface slot # CME(config-dial-peer)#port 0/? <3-3>Voice interface SubUnit # CME(config-dial-peer)#port 0/3/0 CME(config-dial-peer)# CME(config-dial-peer)#exit CME(config)#dial-peer voice 2201 pots CME(config-dial-peer)#destination-pattern 2201 CME(config-dial-peer)#port 0/3/1 CME(config-dial-peer)#exit CME(config)#
Show Output
CME#sh dial-peer voice summary dial-peer hunt 0 ADPRE PASSOUT TAGTYPEMINOPER PREFIXDEST-PATTERNFER THRU SESS-TARGETSTAT PORTKEEPALIVE 20001potsup up 2001$0 50/0/1 1101 potsup up 1101 0up 0/3/0 2201 potsup up 2201 0up 0/3/1 CME#

Disable Digit Strip
Configuring VOIP Dial Peers
Example shows wildcard being used. This is explained in next section
CME(config)#dial-peer voice 3000 voip CME(config-dial-peer)#destination-pattern 3... CME(config-dial-peer)#session target ipv4:192.168.10.200 CME(config-dial-peer)#codec ? aacldAACLD 90000 bps clear-channelClear Channel 64000 bps (No voice capabilities: data transport only) g711alaw G.711 A Law 64000 bps g711ulaw G.711 u Law 64000 bps g722-48G722-48K 64000 bps - Only supported for H.320<->H.323 calls g722-56G722-56K 64000 bps - Only supported for H.320<->H.323 calls g722-64G722-64K 64000 bps g723ar53 G.723.1 ANNEX-A 5300 bps (contains built-in vad that cannot be disabled) g723ar63 G.723.1 ANNEX-A 6300 bps (contains built-in vad that cannot be disabled) g723r53G.723.1 5300 bps g723r63G.723.1 6300 bps g726r16G.726 16000 bps g726r24G.726 24000 bps g726r32G.726 32000 bps g728 G.728 16000 bps g729br8G.729 ANNEX-B 8000 bps (contains built-in vad that cannot be disabled) g729r8 G.729 8000 bps gsmamr-nbGSM AMR-NB 4750 - 12200 bps (contains built-in vad that cannot be disabled) ilbc iLBC 13330 or 15200 bps isac iSAC 10 to 32 kbps (variable bit-rate) transparenttransparent; uses the endpoint codec CME(config-dial-peer)#codec g711ulaw CME(config-dial-peer)#
- Session Target – Similar to pots, port command
- Syntax = ipv4:<ip> , dns:<name>
- Codecs must match between the 2 routers
- Default on VOIP is G.729

dial-peer voice 3000 voip no shutdown no vad description 3000 destination-pattern 3… preference 0 session target ipv4:192.168.10.200 codec g711ulaw exit
Dial Peer Wildcards
Wildcard | Description |
. (period) |
Matches any digits dialed 0-9 or * 20.. matches 2000 – 2099 |
+ (plus) |
Matches 1 or more instances of preceding digit 5+23 matches 5523, 55523, 55523, etc up to 32 digits – max length of dialable numbers |
[ ] (brackets) |
Match range of digits [1-3] matches 122, 222, 322 ^ does not match [^1-3] matches 422,522 – 922, *22 |
T |
Matches any number of dialed digits 0-32 digits |
, (comma) | Insert 1 second pause between dialed digits |
PSTN Dial Plan
North America example
Dial Plan |
Description |
[2-9]…… |
7 digit dialing 6 periods |
[2-9]..[2-9]…… |
10 digit dialng 2 periods, followed by 6 |
1[2-9]..[2-9]…… |
11 digit dialing |
[469]11 |
Service numbers 411, 611, 911 |
011T |
International Dialing |
CME(config)# dial-peer voice 90 pots CME(config-dial-peer)# description Service Dialing CME(config-dial-peer)# destination-pattern 9[469]11 CME(config-dial-peer)# forward-digits 3 CME(config-dial-peer)# port 1/0:1 CME(config-dial-peer)# exit CME(config)# dial-peer voice 91 pots CME(config-dial-peer)# description 10-Digit Dialing CME(config-dial-peer)# destination-pattern 9[2-9]..[2-9]...... CME(config-dial-peer)# port 1/0:1 CME(config-dial-peer)# exit CME(config)# dial-peer voice 92 pots CME(config-dial-peer)# description 11-Digit Dialing CME(config-dial-peer)# destination-pattern 91[2-9]..[2-9]...... CME(config-dial-peer)# forward-digits 11 CME(config-dial-peer)# port 1/0:1 CME(config-dial-peer)# exit CME(config)# dial-peer voice 93 pots CME(config-dial-peer)# description International Dialing CME(config-dial-peer)# destination-pattern 9011T CME(config-dial-peer)# prefix 011 CME(config-dial-peer)# port 1/0:1 CME(config-dial-peer)# exit
- Forward digits <#>
- Specify the number of right justified digits to forward
- Ex: 9[469]11, forward-digit 3
- Only sends 411, 611 or 911. Leading 9 is dropped
- prefix <#>
- Add any digit in front of dialed number before routing the call
Private Line Automatic Ringdown
- PLAR relies on existing dial plan to complete a call
- Automatically dial a number as soon as the port detects an off hook signal
Example:
voice-port 0/0/0 connection plar <extension>
Router Call Processing and Digit Manipulation
- Most specific destination pattern always wins
- When a match is found router immediately processes the call
555[1-3]… –> Matches 3000 numbers
5551… –> Matches 1000 numbers
This is more specific
If the following 3 dial peers existed and 5551234 is dialed, the 3rd dial peer would process the call
- 555[1-3]…
- 5551…
- 5551
The 234 would be dropped, this is the most specific match as it was found before 234 were dialed
show dialplan number <dialed digits>
– Test to see which dial peer would be matched
Matching Inbound and Outbound Dial Peers

Borrowed directly from book https://www.safaribooksonline.com/library/view/ccna-collaboration-cicd/9780134171760/ch06lev3sec8.html#ch06lev3sec8
Dial Peer 0
- Cannot change
- Default settings
- Any codec
- No DTMF Relay
- IP Precedence 0
- Voice Activity Detection Enabled
- No RSVP Support
- Fax-rate voice
- No application support (IVR)
- No DID support
Digit Manipulation
- Process of adding or removing digits from a dialed number to help reach a destination
- POTS
- prefix-digit > add before dialed digits
- forward-digits <number> > Forward the number of right most digits
- [no] digit-strip > Enable/disable digit stripping
- Global
- num-exp and digit set digits > Transform any dialed number match the string into digits specified in the string
- Global, POTS or VOIP
- Voice translation profile
- Allow to configure a translation profile consisting of up to 15 rules
- Created globally
- Applied to dial peer, similar to an ACL
- Voice translation profile
Additional Commands
preference – if desintation pattern is the same, choose the path with the lower preference
– Used for failover
– 0 is better than 1
num-exp 0 <dn> – Anytime 0 is dialed, send to configured directory number
Digit Manipulation, POTS Dial Peers Order of Operations
- num-exp
- Automatic digit strip, pots dial peer
- Voice translation profile
- Prefix digit
- Forward digits
CME Class of Restriction (COR)
- Prevent users from calling certain number
- International calls
- High cost numbers (1-900)
- Certain internal phones from reaching executives numbers
Steps for COR Creation
- Define COR Tags to use
- Create outbound COR list
- Create inbound COR list
- Assign outbound COR list
- Assign inbound COR list
COR Configuration – CLI
CME# CME#conf t Enter configuration commands, one per line.End with CNTL/Z. CME(config)#dial-peer cor CUSTOM CME(config-dp-cor)#name 911 CME(config-dp-cor)#name LOCAL CME(config-dp-cor)#name LD CME(config-dp-cor)#exit CME(config)#dial-peer cor list 911-CALL CME(config-dp-corlist)#member 911 CME(config-dp-corlist)#dial-peer cor list LOCAL-CALL CME(config-dp-corlist)#member LOCAL CME(config-dp-corlist)#dial-peer cor list LD-CALL CME(config-dp-corlist)#member LD CME(config-dp-corlist)#dial-peer cor list 911-ONLY CME(config-dp-corlist)#member 911 CME(config-dp-corlist)#dial-peer cor list 911-LOCAL CME(config-dp-corlist)#member 911 CME(config-dp-corlist)#member LOCAL CME(config-dp-corlist)#dial-peer cor list 911-LOCAL-LD CME(config-dp-corlist)#member 911 CME(config-dp-corlist)#member LOCAL CME(config-dp-corlist)#member LD CME(config-dp-corlist)#exit CME(config)# CME(config)# CME(config)#do sh run | s dial-peer dial-peer cor custom name 911 name LOCAL name LD dial-peer cor list 911-CALL member 911 dial-peer cor list LOCAL-CALL member LOCAL dial-peer cor list LD-CALL member LD dial-peer cor list 911-ONLY member 911 dial-peer cor list 911-LOCAL member 911 member LOCAL dial-peer cor list 911-LOCAL-LD member 911 member LOCAL member LD CME(config)# CME(config)# CME(config)# CME(config)#dial-peer voice 10 pots CME(config-dial-peer)#cor list outgoing 911-CALL ^ % Invalid input detected at '^' marker. CME(config-dial-peer)#cor CME(config-dial-peer)#corlist outgoing 911-CALL CME(config-dial-peer)# CME(config-dial-peer)#dial-peer voice 11 pots CME(config-dial-peer)#corlist outgoing LOCAL-CALL CME(config-dial-peer)#dial-peer voice 12 pots CME(config-dial-peer)#corlist outgoing LD-CALL CME(config-dial-peer)# CME(config-dial-peer)# CME(config-dial-peer)# CME(config-dial-peer)# CME(config-dial-peer)#exit CME(config)# CME(config)# CME(config)#ephone-dn 1 CME(config-ephone-dn)#corlist incoming 911-ONLY CME(config-ephone-dn)# CME(config-ephone-dn)#ephone-dn 2 CME(config-ephone-dn)#corlist incoming 911-LOCAL CME(config-ephone-dn)# CME(config-ephone-dn)#ephone-dn 3 CME(config-ephone-dn)#corlist incoming 911-LOCAL-LD CME(config-ephone-dn)# CME(config-ephone-dn)#
COR Rule
- If no outgoing cor list is applied the call is always routed
- If no incoming cor list is applied the call is always routed