The music on hold (MOH) feature provides a mechanism for the contents of a file stored on the router's Flash to be played to a remote phone when a call is put on hold. If a file does not exist, a short beep (tone on hold) is played to the held party. For IP phones local to the Cisco CME router, the phone itself generates the tone on hold. Hence, even if a music file is present on the router's Flash, a call directly between two IP phones local to the Cisco CME system when put on hold hears only short, intermittent beeps.
Debugging the MOH Problem
The company's system administrator wants to add the MOH feature to both the headquarters and customer support sites. This way, both customers and employees can hear music instead of tones when put on hold. A file, in .au format, is copied to the router's Flash, and the appropriate configurations are added. Example 17-15 shows the relevant Cisco CME configuration.
Example 17-15. show flash Output and MOH Configuration for Cisco CME
CS_router#show flash: -#- --length-- ---------date/time--------- path 1 474338 Dec 5 2002 07:03:14 +00:00 minuet.au CS_router#show running-configuration !Output omitted for brevity ... telephony-service load 7960-7940 P00303020214 max-ephones 24 max-dn 24 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 moh minuet.au
With the configuration in place, customer calls arriving from the PSTN can hear the MOH. However, calls between the headquarters and customer service sites, when put on hold, still hear a beep tone instead of music.
To analyze this problem, a useful debug command is debug ephone moh. The output of this command on the CS_router is shown in Example 17-16 when a call from headquarters is put on hold.
Example 17-16. Output of debug ephone moh
CS_router#debug ephone moh CS_router# 02:34:51: No MOH resources available for DN 1 chan 1 codec 11 CS_router# CS_router# 02:35:38: Added DN 1 chan 1 to MOH in position 0 with 1 clients 02:35:38: Startup MOH/media streams MOH:1 Media:0 02:36:08: Removed DN 1 from MOH 0 clients at position 0 02:36:08: Shutdown MOH/media streams, no active clients
The debug output segment in Example 17-16 shows the output of the debug ephone moh command for a PSTN call put on hold and then retrieved from hold again after some time. From the debug, you can see the ephone-dn listed as one of the MOH stream recipients.
The output of the debug alone doesn't explain the problem sufficiently. The key point to note is that a live MOH feed is supported only for G.711 calls. However, the call between the headquarters and customer service sites is a G.729 call. Hence, the router is unable to provide MOH and provides the tone on hold feature instead. When you know this, the word "codec" in the debug makes more sense.
Fixing the MOH Problem
There are two ways you can fix the codec-mismatch problem so that calls between the headquarters and customer service sites can hear music when put on hold:
Missing Directory Services Option