CCNA Collaboration – Notes, Chapter 7

CICD – Ch7 – Enabling Telephony Features with CME


Configuring Voice Network Directory

  • IP Phones support a local directory
    • Updates from CME as devices get configured
  • Names are entered under ephone-dn configuration
    • Used for both building the local directory (internal phone directory) and caller ID information
ephone-dn1dual-line
 number 2001
 name Phone One
ephone-dn2
 number 2022
 name Super Man
ephone-dn3
 number 2033
 name Super Women

IP Phones allow you to search the directory. You can do this by tapping the directories button on the phone. It’ll bring up a new display where you can see Missed Calls, Received Calls, Placed Calls and Local Directory (along with some more)

In Local Directory you can search for first name / last name and directly dial from the search. The search sorts alphabetically by first name. This can be changed:

CME(config)#telephony-service 
CME(config-telephony)#dir
CME(config-telephony)#directory ?
  entry             Define new directory entry
  first-name-first  first name is first in ephone-dn name field
  last-name-first   last name is first in ephone-dn name field

CME(config-telephony)#directory en
CME(config-telephony)#directory entry ?
  <1-250>  Directory entry tag
  clear    clear all directory entries

CME(config-telephony)#directory entry 1 ?
  WORD  A sequence of digits representing dir. number

CME(config-telephony)#directory entry 1 95550123 name John Doe
CME(config-telephony)#
CME(config-telephony)#directory las                           
CME(config-telephony)#directory last-name-first ?
  <cr>

CME(config-telephony)#directory last-name-first 
CME(config-telephony)#
CCP - Changing Directory naming schema

CCP – Changing Directory naming schema

Name for an extension

Name for an extension


Configuring Call Forwarding

Call forwarding allows a user to forward any call coming into their extension and have it be sent to another number of their choosing (within parameters of COR)

2 Methods for configuring

  • From the IP Phone – End user method
    • User chooses CFwdAll softkey and enters the phone number they want to forward calls to. If external make sure to enter the access key to get to PSTN
  • From CME CLI – CME Administrator method
CME(config)#ephone-dn 40
CME(config-ephone-dn)#call-f
CME(config-ephone-dn)#call-forward ?
  all            forward all calls
  busy           forward call on busy
  max-length     max number of digits allowed for CFwdAll from IP phone
  night-service  forward call on activated night-service
  noan           forward call on no-answer

CME(config-ephone-dn)#call-forward all ?
  WORD  A sequence of digits

CME(config-ephone-dn)#call-forward all 91234567 ?
  <cr>

CME(config-ephone-dn)#call-forward all 91234567 
CME(config-ephone-dn)#

Call-forward Pattern to support H.450.3

H.450.3 standard allows CME to redirect call directly to the final destination. Without this standard a call could come into CME be routed to a remote gateway at site A where the extension lives and then call forwarded to the cfwd destination that exists at site B

With H.450.3 enabled we can bypass the hairpinning affect at site A where CME will directly send the call to the cfwd destination at site B

CCNP Track goes into this standard in much more detail

CME(config)#telephony-service 
CME(config-telephony)#call-forward ?
  pattern  H.450.3/SIP match calling-party number forwarding pattern. This is used to enable remote party
           redirect forwarding with H.450.3/SIP. Default is local rotary forwarding only.
  system   Define call forward system parameters. 

CME(config-telephony)#call-forward pattern ?
  WORD  A sequence of digits (including wildcards) - representing calling-party number. Use '.T' to enable
        remote party redirect forwarding for all VoIP calling-party numbers.
CME(config-telephony)#call-forward pattern 44..

Use H.450.3 standard for any call-forward matching 4400-4499


Configuring Call Transfer

Transferring a call allows you to forward a call that came into you to another person. You do this by tapping on the Trnsfer softkey on the phone and entering the extension to send the call to.

3 Transfer modes exist

  • Full-Consult
    • Allows you to talk to receiving caller before completing the transfer
    • Default in CME
    • Requires dual line configuration
    • Based on H.450.2 standard – prevent hairpinning
  • Full-Blind
    • Immediately transfer to call to the dialed extension
    • Works on single line configuration
    • Based on H.450.2 standard – prevent hairpinning
  • Local-Consult
    • Cisco proprietary method of the consult transfer. Works similar to H.450 standard, only difference is when operating with non-Cisco phones in the network
CME(config)#telephony-service 
CME(config-telephony)#tran
CME(config-telephony)#transfer-?
transfer-digit-collect  transfer-pattern  transfer-system  

CME(config-telephony)#transfer-sys
CME(config-telephony)#transfer-system ?
  full-blind     Perform call transfers without consultation using H.450.2 or SIP REFER standard methods
  full-consult   Perform H.450.2/SIP call transfers with consultation using second phone line if available,
                 fallback to full-blind if second line unavailable. This is the recommended mode for most
                 systems. See also 'supplementary-service' commands under 'voice service voip' and
                 dial-peer.
  local-consult  Perform call transfers with local consultation using second phone line if available,
                 fallback to blind for non-local consultation/transfer target. Uses Cisco  proprietary
                 method.

CME(config-telephony)#transfer-system full-consult
CME(config-telephony)#

By default – Cisco only allows transfers within the internal system. This is done to help prevent toll fraud. To allow transfers to outside world use the transfer-pattern command or go under advanced features in CCP.

CME(config-telephony)#transfer-pattern ?
  WORD  digit string pattern for permitted non-local call transfers

CME(config-telephony)#transfer-pattern 


Configuring Call Park

Call park allows you to pick up a call that has been placed on hold. Calls on hold are only allowed the be answered again on the original phone. Parking the call works by using a free ephone-dn in the CME config that hasn’t been assigned to a phone and has specifically designated as a call park slot

Park softkey on the phone
Once a call is parked the phone will display an extension. Any other phone may dial this extension to answer the parked call. Can also use the PickUp softkey and dial the park number to retrieve from

CME(config)#ephone-dn 30
CME(config-ephone-dn)#number 3000
CME(config-ephone-dn)#name Park
CME(config-ephone-dn)#park-slot
CME(config-ephone-dn)#park-slot ?
  directed           Configure this park slot to be used for directed park 
  reservation-group  Reserve this park slot for the exclusive use of the phone with the same reservation
                     group
  reserved-for       Reserve this park slot for the exclusive use of the phone with the extension indicated
                     by the transfer target extension number
  timeout            Set call park timeout
  <cr>

CME(config-ephone-dn)#park-slot
CME(config-ephone-dn)#park-slot timeout ?
  <0-65535>  Specify the park timeout (seconds) before the call is returned to the number it was parked
             from

CME(config-ephone-dn)#park-slot timeout 60 ?
  limit  Set call park timeout count limit

CME(config-ephone-dn)#park-slot timeout 60 li
CME(config-ephone-dn)#park-slot timeout 60 limit ?
  <1-65535>  Specify the number of park timeout cycles before the call is disconnected

CME(config-ephone-dn)#park-slot timeout 60 limit 2 ?
  notify    Define additional extension number to notify for park timeout
  recall    recall transfer back to originator phone after timeout
  transfer  Transfer to originator or specified destination after timeout limit exceeded
  <cr>

CME(config-ephone-dn)#park-slot timeout 60 limit 2 recall ?
  alternate  Transfer to alternate target if original target is busy
  retry      Set recall/transfer retry interval if target is in use
  <cr>

CME(config-ephone-dn)#park-slot timeout 60 limit 2 recall 
CME(config-ephone-dn)# 

Park-slot command functions

  • reservered-for <dn> – allows to reserve the call park slot for a DN, other phones cannot use this call park slot
  • timeout <seconds> – Number of seconds CME will wait before notifying the phone that parked the call
  • limit <count> – Limit the number of timeout intervals
  • notify <dn> – Notify a different DN than the phone that parked the call
    • only
  • recall – cause the call to ring back to original phone that parked the call
  • alternate <dn> – allows to transfer destination
  • retry <seconds> – Amount of time before CME attempts to transfer a parked call again


Configuring Call Pickup

Allows you to answer another ringing phone in the org from your local phone. This is done by using the PickUp softkey while the other phone is ringing. PickUp groups can be created to divide the phones out. Based on the group the phone is assigned to you can call PickUp for that group

By default phones managed by CME a user can pickup other ringing phones. Can disable this under the telephony-services with the no service directed-pickup
Doing this sets the PickUp softkey to work for local group pickup

3 methods to answer ringing phones

  • Directed PickUp
    • Press PickUp softkey and dial the DN of the ringing phone. CME transfers the call to the phone you are on
  • Local Group PickUp
    • PickUp a call in the same PickUp Group, use the GPickUp softkey
  • Other Group PickUp
    • Answer another groups ringing phone by using the GPickUp softkey and dialing the DN

Configuring Intercom

Allows phones to have a speakerphone ‘tether’ between them. The deployment of intercoms works through speed-dial and auto-answer speed-dial configuration.

Example: Admin Assistant can press the button configured for intercom (speed-dial button) which will dial the Execs phone which is setup for auto-answer. The call is answered muted and the Exec can unmute to respond

To prevent users from mis-dialing the intercom, use something that cannot be dialed from other IP phones

CME#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
CME(config)#ephone-dn 20
CME(config-ephone-dn)#number A200 ?
  no-reg     Set E164 not register
  secondary  secondary dn number
  <cr>

CME(config-ephone-dn)#number A200 
CME(config-ephone-dn)#name Assistant
CME(config-ephone-dn)#intercom ?
  WORD  A sequence of digits - representing intercom/auto-call extension to call
  <cr>

CME(config-ephone-dn)#intercom A201 ?
  barge-in        Allow intercom calls received on this DN to force other calls into the call HOLD state to allow the incoming intercom
                  call to immediately connect without waiting
  label           Define a text label for the intercom
  no-auto-answer  Disable intercom auto-answer
  no-mute         Disable intercom mute-on-answer
  ptt             Define intercom push-to-talk
  <cr>

CME(config-ephone-dn)#intercom A201 label Manager ?
  ptt  Define intercom push-to-talk
  <cr>

CME(config-ephone-dn)#intercom A201 label Manager 
CME(config-ephone-dn)#exit
CME(config)#
CME(config)#ephone-dn 21
CME(config-ephone-dn)#number A201
CME(config-ephone-dn)#intercom A200 label ?   
  WORD  Intercom text label, use quoted string if including spaces

CME(config-ephone-dn)#intercom A200 label Assistant
CME(config-ephone-dn)#exit
CME(config)#
CME(config)#ephone 20
CME(config-ephone)#mac-address cccc.cccc.cccc
CME(config-ephone)#type 7975
CME(config-ephone)#button 2:20
CME(config-ephone)#
CME(config-ephone)#
CME(config-ephone)#exit  
CME(config)#ephone 21
CME(config-ephone)#mac-add
CME(config-ephone)#mac-address bbbb.bbbb.bbbb
CME(config-ephone)#type 7965
CME(config-ephone)#button 2:21
CME(config-ephone)#
CME(config-ephone)#
CME(config-ephone)#restart
restarting BBBB.BBBB.BBBB
CME(config-ephone)#end
CME#
CME#


Configuring Paging

Similar to intercom except that it only provides one-way automatic path for communication. Broadcast a message

This works by assigning an ephone-dn as a paging number. Calls into the paging DN will broadcast to the phones that have been assigned to the paging group. Phones are only allowed to be assigned to one group, but you can create a paging number that pages multiple paging groups.

CME Paging can be unicast or multicast. CME limits a unicast paging group to 10 phones. Multicast is outside of the scope of the CCNA. The note for multicast is that you must enable to the network to route multicast within the network. When I get back to my CCIE studies I’ll write up a post specifically on the different types of multicast.

Unicast Paging

CME#conf t
Enter configuration commands, one per line.End with CNTL/Z.
CME(config)#ephone-dn 25
CME(config-ephone-dn)#number 2525
CME(config-ephone-dn)#paging
CME(config-ephone-dn)#exit
CME(config)#ephone 10
CME(config-ephone)#paging-dn 25
Set phone's mac address or device-id first
CME(config-ephone)#mac-add acac.acac.acac
CME(config-ephone)#paging-dn 25
CME(config-ephone)#exit
CME(config)#ephone 11
CME(config-ephone)#mac-add caca.caca.caca
CME(config-ephone)#paging-dn 25
CME(config-ephone)#

Multicast Paging

CME(config)#ephone-dn 26
CME(config-ephone-dn)#number 2626
CME(config-ephone-dn)#paging ip 239.1.1.200 port 2626 
CME(config-ephone-dn)#
ephone-dn 4  number 2727  name GroupA  paging ip 239.0.0.1 port 2000  exit ephone 21  paging-dn 4 multicast  exit

ephone-dn 4  number 2727  name GroupA  paging ip 239.0.0.1 port 2000  exit ephone 21  paging-dn 4 multicast  exit


Configuring After-Hours Call Blocking

After hours call blocking allows for a range of times to be defined as specific after hours. This can then be used to list number patterns that are not allowed during those times. Calls made during that time will receive a reorder tone and then disconnected.

Exceptions to the rule can be made by creating a back-door. A PIN can be entered on the phone to allow a call to be made. The time is configurable in CME to say how long the PIN is good for

Configuration Steps

  1. Define day and/or hours of the day that are considered off hours
  2. Specific patterns that will be blocked for the times in step 1
  3. Create exemption policy if required

telephony-service  after-hours block pattern 1 1900.......  login timeout 60 clear 0:0  after-hours day mon 18:0 7:1  after-hours day tue 18:0 7:1  after-hours day wed 18:0 7:1  after-hours day thu 18:0 7:1  after-hours day fri 18:0 7:1  after-hours day sat 7:2 7:1  after-hours day sun 7:2 7:1  exit

telephony-service  after-hours block pattern 1 1900…….  login timeout 60 clear 0:0  after-hours day mon 18:0 7:1  after-hours day tue 18:0 7:1  after-hours day wed 18:0 7:1  after-hours day thu 18:0 7:1  after-hours day fri 18:0 7:1  after-hours day sat 7:2 7:1  after-hours day sun 7:2 7:1  exit


Configuring CDRs and Call Accounting

Call Detail Records (CDR) contain information about calls coming into, out and between phones on the network. CDR contains all the information to find who called who and how long the conversation lasted

CME logs CDR to ram and/or syslog. RAM is not the best because it can all be lost if the router reboots. RAM is also a limited resource on the router. 

I do not have a syslog server in my lab, but will sent to a fake address for configuration purposes

CME(config)#logging 1.1.1.1
CME(config)#gw-accounting syslog ?
  stats  Enable stats as part of accounting.
  <cr>

CME(config)#gw-accounting syslog 
CME(config)#

CDR could be used for billing purposes (track who’s calling LD, international, etc), and do a charge back model. CME can make this easier by flagging these calls in CDR with an Accounting code.

Users would press an Acct softkey on the phone, enter a PIN (accounting code) to allow them to dial out to long distance or international phones. After the user presses the Acct softkey, an Acct prompt appears at the bottom of the phone, where the user can enter the accounting code followed by the pound key (#). Entering this number during the ring out or connected call state does not interrupt the call in any way. After the user enters the account code, CME flags the CDR records with the account number dialed. This allows for easy filtering and accurate billing to each department.


Configuring Music on Hold

CME can stream MOH from an audio file that is located on the routers flash. MOH can be either unicast or multicast. CME supports G.711 or G.729 codecs for MOH.

G.711 is recommended for MOH as G.729 would require DSP resources for transcoding

CME(config)#telephony-service
CME(config-telephony)#moh ?
  WORD  music-on-hold filename containing G.711 A-law or u-law 8KHz encoded audio file (.wav or .au format). The file must be loaded into
        the routers flash memory, e.g., flash:/moh.au or flash:/audio/moh.au  The minimum supported file size is 100 Kb.

CME(config-telephony)#moh flash:moh.wav
CME(config-telephony)#multicast moh ?
  A.B.C.D  Define music-on-hold IP multicast address from flash

CME(config-telephony)#multicast moh 239.2.2.222 port 2222
CME(config-telephony)#

Configuring Single Number Reach (SNR)

SNR allows a call to come into a single phone number and ring multiple phone destinations. You can link multiple numbers to a parent number (office extension for example). When a call comes into your office DN, if you do not answer at the desk phone it can start to ring your cell phone as well and if no answer the call is transferred to corp voicemail. 

If the call was picked up on the cell phone and you get back to your desk you can “move” the call to the deskphone by hanging up on the cell and continuing the call on the desk phone.

Vice versa, you can be on a call on your desk phone and press the Mobility softkey to move the call to your cell phone without dropping the call.

When configuring SNR in the real world make sure you have enough PSTN trunks available as SNR will use 2 channels (1 for the inbound call to the desk, 1 for the outbound to the cell).

SNR is enabled on a DN by DN basis

ephone-dn 3  no snr calling-number local  snr 915558605555 delay 6 timeout 30  mobility  exit

ephone-dn 3  no snr calling-number local  snr 915558605555 delay 6 timeout 30  mobility  exit


Configuring Hunt Groups

Hunt groups allow you to call a specific number and have multiple phones ring in a configured sequence. 

Hunt groups are configured by creating a pilot number (ephone-hunt, pilot sub-command). The pilot number is what a person would call into that would then start ringing the phones configured in the hunt group in a specific order.

Types of Hunt Groups

  • Longest Idle – Round Robin distribution. Phones are run in a listed order, starting with the phone that has the longest on-hook
  • Peer – Round robin distribution. Extensions are rung in a listed order. Starts with the number after the one last answered a call 
  • Parallel – All phones ring simultaneously
  • Sequential – Strict top-down ordered list. First phone always get the new call unless it is already busy or answer within the timeout period

ephone-hunt 1 longest-idle  pilot 5550011  list 2001,2033  description HuntPilot  no-reg both  exit

ephone-hunt 1 longest-idle  pilot 5550011  list 2001,2033  description HuntPilot  no-reg both  exit

If no answer is made from the Hunt Pilot the following options are available

  • Forward to a pilot number of another hunt group
  • Voicemail pilot
  • Any ephone-dn
  • Back to ephone-dn that transferred the call to the hunt pilot

Configure Night Service

Night service is a specialized afterhours call forwarding system. Night service defines one or more extensions that are eligible for night service that will ring during this time. 

telephony-service  night-service day sat 07:01 07:00  night-service day fri 19:00 07:00  exit telephony-service  no night-service day sat 07:01 07:00  night-service day sun 07:01 07:00  night-service day sat 07:01 07:00  exit telephony-service  no night-service day sun 07:01 07:00  night-service day mon 19:00 07:00  night-service day sun 07:01 07:00  exit telephony-service  no night-service day mon 19:00 07:00  night-service day tue 19:00 07:00  night-service day mon 19:00 07:00  exit telephony-service  no night-service day tue 19:00 07:00  night-service day wed 19:00 07:00  night-service day tue 19:00 07:00  exit telephony-service  no night-service day wed 19:00 07:00  night-service day thu 19:00 07:00  night-service day wed 19:00 07:00  exit telephony-service  no night-service day fri 19:00 07:00  no night-service day thu 19:00 07:00  night-service day fri 19:00 07:00  night-service day thu 19:00 07:00  exit telephony-service  night-service code *1234

telephony-service  night-service day sat 07:01 07:00  night-service day fri 19:00 07:00  exit telephony-service  no night-service day sat 07:01 07:00  night-service day sun 07:01 07:00  night-service day sat 07:01 07:00  exit telephony-service  no night-service day sun 07:01 07:00  night-service day mon 19:00 07:00  night-service day sun 07:01 07:00  exit telephony-service  no night-service day mon 19:00 07:00  night-service day tue 19:00 07:00  night-service day mon 19:00 07:00  exit telephony-service  no night-service day tue 19:00 07:00  night-service day wed 19:00 07:00  night-service day tue 19:00 07:00  exit telephony-service  no night-service day wed 19:00 07:00  night-service day thu 19:00 07:00  night-service day wed 19:00 07:00  exit telephony-service  no night-service day fri 19:00 07:00  no night-service day thu 19:00 07:00  night-service day fri 19:00 07:00  night-service day thu 19:00 07:00  exit telephony-service  night-service code *1234

ephone-dn 3  night-service bell  exit

ephone-dn 3  night-service bell  exit

ephone 11  mac-address CACA.CACA.CACA  exit ephone 11  night-service bell  exit ephone 11  exit ephone-dn 3  name “”  exit ephone 11  button  1:3  restart  exit ephone 11  restart  exit


Configuring Shared ephone-dn

Shared ephone-dn is putting the same ephone-dn on one or more ephones

ephone 2  mac-address CDCD.CDCD.CDCD  type CIPC  auto-line  exit ephone 2  button  2:3 1:2  restart  exit ephone-dn 3  no name  exit ephone-dn 2  exit

ephone 2  mac-address CDCD.CDCD.CDCD  type CIPC  auto-line  exit ephone 2  button  2:3 1:2  restart  exit ephone-dn 3  no name  exit ephone-dn 2  exit


Extension Mobility in CME

Extension Mobility allows users to log into any IP Phone configured for extension mobility. This allows users to sit at different desks and still use their own extension. These settings follow the users who logs in with Ext Mobility – extension, Caller ID, speed dials, etc.

Ext Mobility is configured by creating logout profiles. This defines which extension a phone will have when a user logs out of the phone. 

Users profiles must include their extension, caller ID and speed dials when setting up Ext Mobility. Ext Mobility prompts users to login with their username and a password using the keypad.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.