This document answers some of the primary questions about Music On Hold (MoH) in Cisco CallManager 3.x/4.x/5.x and 6.x. Refer to Cisco CallManager Administration and System Guides and the Release Notes for Cisco CallManager Releases for more information. Refer to Cisco Unified Communications Manager (CallManager) Frequently Asked Questions for more informatio on the latest versions.
This list of possible symptoms might be encountered when you attempt to start the IP Voice Media Streaming App (CallManager Serviceability > Tools > Service Activation) which is required to configure the MoH service:
The The following Services are not properly configured on the service configuration page error message is reported when you attempt to start or activate IP Voice Media Streaming App. The service that was not configured correctly was the IP Voice Media Streaming App.
The web page displays a message that it was actually disabling the service when you attempt to activate the IP Voice Media Streaming App service.
Manually remove these entries to resolve these symptoms:
Software-based conference bridge
After you remove these three entries, the IP Voice Media Streaming App should activate successfully. After you activate the IP Voice Media Streaming App, make sure that you have an entry in the MoH servers, MTP and Conference bridge configuration pages.
A. MoH, an application that can be installed to a media convergence server (MCS), streams Real-Time Protocol (RTP) audio in either unicast or multicast streams from the application server to the endpoint device.
Administrators can stream MoH audio to all Cisco IP phones, Cisco Voice over IP (VoIP) gateways, and Cisco IP SoftPhone. Endpoint devices that support receiving multicast for MoH include Cisco IP Phone models 7910, 7940, 7960, Cisco Catalyst 4000 Access Gateway Module (AGM) gateways, Catalyst 4224 gateways, and VG200 gateways.
A dedicated MCS server can stream as many as 250 MoH streams (unicast or multicast). Any server can stream from up to 50 separate logical sources, each with its own continuously looping source .wav file. A 51st source—a sound card—can provide a real-time streaming source. Audio codec formats for any stream include G.711, G.729A, and high-fidelity audio. A translation utility included with the application allows translation from common formats such as .mp3 to the supported audio codecs.
A. MoH is supported in Cisco CallManager version 3.x, 4.x, and later.
A. MoH servers are deployed on any media convergence server (MCS) platform. This could be a stand alone MoH server on an MCS platform or an MoH service that is co-located with the Cisco CallManager.
A. The current capabilities and features of MoH include:
MoH multicast and unicast streaming service
Music streaming service for "user" hold and "network" hold
51 sources per media convergence server (MCS)
Fifty continuously looping .wav file sources
One real-time streaming source
Each source configurable as either unicast or multi-cast stream
Support for audio streaming to selected devices
Gateways (multicast only):
6608—Not until Seaview 3.3
VG200 (H.323)—Yes with Cisco IOS® Software Release 12.2(11)T and later, enable the ccm-manager music-on-hold command
VG200 (MGCP)—Yes, same as VG200 (H.323)
Gateways (unicast only)—AT-2/-4/-8, AS-2/-4/-8, and all other Cisco IOS® VoIP gateways, including Cisco 1750, 2600/3600, 5300, 58xx, and 72xx
Cisco IP phones (unicast, multicast)—7910, 7940, and 7960
Cisco IP phones (unicast only)—Cisco 7935, 12 SP+, and 30 VIP phones
Cisco IP SoftPhone (unicast only)
Maximum 250 simultaneous on-hold streaming sessions per server
Multiple server instances for application scalability
Multiple server instances for server load balancing and redundancy
G.711, G.729A, and wide-band audio codec support
Off-line audio translation utility
A. When an ICD call rings an agent, the caller is put on hold by the CallManager. At this point, the CallManager MOH can be used to play a ringback tone to the ICD caller while waiting for the Agent to answer the phone. In order to set this up, you need to configure all the CTI ports Network Hold Audio Source as the wav file (ringback.wav) you want to play during the consult transfer.
Note: Make sure that the ringback.wav file is in the CallManager server and configured appropriately. Otherwise this can cause CPU spiking in Cisco CallManager.
Q. Why are remote sites that use Locations-Based Admission Control unable to receive Music On Hold in the initial release of Cisco CallManager 3.x and 4.x?
A. If you use Locations-Based Call Admission Control, users at remote sites (for example, across a WAN link) cannot use MoH. Remote site users cannot use this feature because bandwidth calculations across location boundaries do not take into account MoH streams. In place of MoH, these users receive Tone on Hold (ToH), and bandwidth calculations are then correct.
A. After the Cisco CallManager 3.1 maintenance release and later, MoH is part of the Locations-Based Bandwidth Calculation. Remote sites are able to receive a MoH stream if there is bandwidth available. If there is not enough bandwidth for the stream, then the user receives Tone on Hold (ToH).
A. Not necessarily. A sound card is only needed if you intend to use a fixed audio source, such as a CD-ROM or sound input, such as live radio. Otherwise, the MoH server streams the local .wav files that are on its own hard drive.
A. The media convergence servers (MCSs) do not ship with sound cards. If you choose to use a sound card, you need to purchase it separately. The Sound Blaster protocol control information (PCI) 16 sound card has been tested and is recommended for use with the Cisco MCS 7835 and MCS 7835-1000. The Cisco MCS7825-800 requires a PCI 2.2 card. Therefore, no recommended or supported sound card exists for this server model.
A. The Cisco MoH USB audio sound card (MOH-USB-AUDIO=) can be used for the connection of a fixed or live audio source to the MoH server through the USB port. This USB sound card is only compatible with MCS platforms that support Cisco Unified CM Release 5.x and 6.x that run on Linux Server.
A. A stand-alone MoH server can support up to 250 unicast streams.
A. The maximum number of unicast streams is 30 for a co-located server.
A. In general, you can safely assume that 1 percent of the user community is on hold at any one time. (Some Enterprise deployments can require more.) Therefore, it is essential to have at least that many available streams. If, for instance, you had 1,000 phones in a cluster, you would need approximately ten MoH streams available to service these calls.
You can load-share across your cluster with a Media Resource List / Media Resource Groups. For instance, if you have four co-located Cisco CallManager / MoH servers, you can have 25 percent of your users use Cisco CallManager / MoH A, 25 percent using Cisco CallManager / MoH B. When you do this, you can have up to 120 unicast streams across the cluster.
If a similar load-sharing design does not provide the number of unicast streams that are needed, then a stand-alone server can be implemented.
Q. If I have co-located a Music On Hold Server, how do I make sure that I do not exceed 30 unicast streams?
A. On the MoH Servers Configuration page, you can specify the number of unicast streams to allow. In the Maximum Half Duplex Streams field, enter 30 and click Update. Also, the thirty-first call is still placed on hold but only receives Tone On Hold (ToH).
A. If you specify thirty unicast streams, and a thirty-first caller is placed on hold, that caller now receives Tone on Hold.
A. The Cisco IP Voice Media Stream application can be enabled to stream G.711u-law, G.711a-law, G.729, and Wideband. G.711 is the only codec enabled by default. Additional codecs can be selected under Service > Service Parameters > <select your server> > Cisco IP Voice Media Streaming Application.
A. Cisco CallManager checks these settings in order to play MoH to the users.
MoH configuration in Line settings
MoH configuration in Phone settings
MoH configuration in Device Pool settings
Note: With Cisco CallManager 4.2, the Network Hold MoH Audio Source and User Hold MoH Audio Source is moved under Common Profile Configuration instead of Device Pool Configuration. In other words, with Cisco CallManager 4.2, the different locations to configure the audio source are:
Directory Number Level.
Common Profile Level.
The DN/Line level takes the highest priority and the Common Profile takes the lowest priority.
If all of these settings have a value of None for MoH fields, then Cisco CallManager takes the values configured in the Cisco CallManager Service Parameters page.
Go to Cisco CallManager administration page. Choose the Service menu and choose Service Parameters.
Choose the Cisco CallManager server and choose the Cisco CallManager service.
Make sure the MoH parameters are configured with valid values.
Restart the Cisco IP Voice Media Streaming App service in the Control Center.
Another reason is a mismatch between the codec configuration used by the MoH server and the region in which the endpoint is registered. For example, the MoH server advertises only a capability of G.711 mu-law. If an endpoint is in another region that enforces the G.729 codec, the Cisco CallManager chooses Tone On Hold (ToH) because a stream cannot be played to this endpoint. Try to add additional codecs for MoH in Cisco IP Voice Media Streaming App service parameters.
Go to Cisco CallManager administration page. Choose the Service menu and choose Service Parameters.
Select the Cisco CallManager server and select the Cisco IP Voice Media Streaming App service.
Choose additional codecs for MoH. Use Ctrl in order to select multiple values.
Restart the Cisco IP Voice Media Streaming App service as indicated in step 5.
If location-based connection admission control is used and there is no bandwidth available, then Cisco CallManager sends ToH rather than MoH.
If Media Resource Groups are used, ensure that the MoH server is part of the Media Resource Group and that the group belongs to a Media Resource List. Also check that your Cisco IP Phone belongs to the Media Resource List.
Check the MoH server registration status. Check the Run Flag under the MoH Server Configuration page, and ensure it is set to Yes.
ToH can be played if there are no available audio streams. This is because the MoH server has a finite number of unicast streams it can generate. If this limit is exceeded, is causes Cisco CallManager to play ToH. Check PerfMon or the Real-Time Monitoring Tool to see if streams are available.
Ensure that the MoH server has connectivity to the held device.
If multicast MoH is used, verify that the multicast stream makes it to the network of the endpoint that needs to hear it. It could be that the infrastructure devices, such as routers and switches, no longer forward this multicast stream. A sniffer is the easiest way to verify that the multicast stream has made it to the subnet of the Cisco IP phone. Also, if it is a gateway, ensure that it is multicast-capable for voice.
A. Complete these steps:
- Go to the Cisco CallManager Administration page and choose Application > Cisco CallManager Serviceability > Tools > Control Center.
- Choose the Cisco CallManager server.
- Click the Cisco IP Voice Media Streaming App radio button under NT service.
- Click Restart. This restarts the MoH service in Cisco CallManager.
A. In Cisco CallManager, you can configure MoH so that callers hear music when one of your users places a call on hold. This can be disruptive if a user places a conference call on hold. The music, and possible announcements, can prevent other callers on the conference call from continuing the call until the user who placed the call on hold returns to the call.
You can disable MoH for conference calls when you create a Media Resource Group in Cisco CallManager for all MoH resources, and add all phones for which you want to enable MoH to the Resource Group List with the group. This disables MoH for callers within the same Cisco CallManager cluster, but does not disable MoH for outside callers.
This procedure shows how to create a new Media Resource Group for MoH resources:
- Choose Service > Media Resource > Media Resource Group from the Cisco CallManager administration page. Cisco CallManager opens the Media Resource Group Configuration page.
- Enter this information:
- Media Resource Group Name—The name of the group. For example, MoHGroup.
- Devices for this Group—Choose all of the MoH servers in the available resources list and click the down arrow in order to add them to the selected resources list.
- Click Insert. Cisco CallManager adds the group.
- Select Service > Media Resource > Media Resource Group List. Cisco CallManager opens the Media Resource Group List Configuration page.
- Enter this information:
- Media Resource Group List Name—The name of the resource group list. For example, MoHGroupList.
- Media Resource Groups for this List—Choose the MoH resource group you just created (MoHGroup) in the available Media Resource Group List and click the down arrow to add them to the selected Media Resource Group List.
- Click Insert. Cisco CallManager adds the group list.
- Configure all phones for which you want to support MoH to use the Media Resource Group list you just created (MoHGroupList). You can use the BAT tool to reconfigure many phones at once.
A. The high CPU utilization by the IP Media Streaming service (IPVMSAPP.exe) can be caused by the MoH audio sources. If the audio files are either corrupted or empty (zero-length audio), and are configured as audio sources, they cause high CPU utilization. Refer to the Creating Audio Sources section of Cisco CallManager Features and Services Guide - Music on Hold in order to create valid audio source files.
Verify that the multicast stream makes it to the network of the endpoint that needs to hear it. It could be that the infrastructure devices, such as routers and switches, no longer forward this multicast stream. A sniffer is the easiest way to verify that the multicast stream has made it to the subnet of the Cisco IP phone. Also, if it is a gateway, ensure that it is multicast-capable for voice.
Increase the hop count on the MoH source file in the MoH Server configuration page.
Note: In most environments it is recommended to increment multicast based on the IP address instead of the port. When the IP address is used, a different multicast IP address is used for each codec that has been configured. When the port is used, all codecs are sent to all phones on different ports. This can result in unnecessary network saturation.
A. Set the Run Flag to NO on all of the available MoH servers to disable MoH for all users. This prevents MoH from being played from any of the servers in the cluster. Go to the Cisco CallManager Administration page and choose Service > Media Resource > Music on Hold Server in order to do this.
In order to disable MoH for one user or a group of users, you need to create a silent/blank audio source file and assign it to the phone associated with the user or to the device pool of the devices for which you need to disable MoH. You can use a sound recorder to create the blank file, and do the recording without the microphone turned on.
Once you have the file, complete these steps to assign the file to the device for which you need to disable MoH.
For Cisco CallManager 3.x, copy the blank .wav file to C:\cisco\dropMOHaudiofileshere\ in the Cisco CallManager server.
For Cisco CallManager 4.x, copy the blank .wav file to C:\Program Files\Cisco\MOH\dropMOHaudiofileshere\.
Open the Cisco CallManager Administration page and choose Service > Media Resource > Music On Hold Audio Source.
Pick a number not in use for MoH Audio Stream Number*.
Choose the blank file you have created for MoH Audio Source File*.
Check Play continuously (repeat) for this file.
Click Insert and Update.
Choose Service > Service Parameters > Cisco CallManager > Default Network Hold MoH Audio Source ID and make sure it has the same number as the MoH Audio Stream Number from step 3.
Select Device > Phone and pick the phone associated with the user. Make sure the phone is set to the same device pool as the MoH server. Set the User Hold Audio Source and Network Hold Audio Source to the new file that you have created.
Note: In order to disable MoH for a group of users/devices, you need to assign the blank file to the device pool of the devices for which you need to disable MoH. Choose System > Device Pool, choose the Device Pool for the required devices, and set the User Hold Audio Source and Network Hold Audio Source to the new file that you have created.
Click Update and Reset on the phone for the changes to take effect.
Make sure that you reset the MoH server and IP Voice Media Streaming App service.
Note: Make sure the audio source file is silent and not empty or zero length, as these files can cause high CPU usage. See the Why does the IP Media Streaming service cause high CPU utilization? section for more information.
Note: Complete these steps in order to disable MoH for one user or a group of users:
Define a Media Resource Group (MRG) without any MoH resources, and put that group into a Media Resource Group List (MRGL) for the users that you want to deny MoH access.
Put the MoH resource into an MRG, and put that group into an MRGL for the users that you want to permit MoH access.
A. Complete these steps in order to disable ToH:
- Go to the Cisco CallManager Administration page.
- Choose Service > Service Parameters.
- Choose CallManager IP as the Server and Cisco CallManager as the Service.
- Go to the Clusterwide Parameters (Device - General) section on the Service Parameters configuration page.
- Change the value of the Tone On Hold Timer to 2000000 seconds and click Update.
This parameter specifies the number of seconds between every two hold tones that are played when a call is put on hold. For non-MGCP-based devices, if this value is 0, the held device plays the hold tone only one time when the caller is put on hold. If the value is 200000, no hold tone plays. Otherwise, the held device plays the hold tone every so many seconds (specified by this value) repeatedly. If the specified value is less than 5 seconds, the device raises it to 5 seconds. For MGCP-based devices, the hold tone is disabled if this value is 0 or 200000. Any other value enables the hold tone on MGCP-based devices when the caller is put on hold.
Q. How do I troubleshoot the issue of tone on hold not playing and I hear complete silence when the call is put on hold in spite of the fact that tone on hold is enabled?
A. In order to resolve this issue, choose the CallManager Service Parameters Configuration page at Service > Service Parameters > CallManager, and set the Send H225 User Info Message parameter to User Info for Call Progress Tone.
A. This issue can occur when the voice codec for a given device, as defined by its region, is not in the list of codecs supported by the server that streams the MoH stream. For example, if a particular device is set to only use the G.729 codec, but the MoH service is only configured to stream G.711 μ-law, then this particular problem can occur.
Enable G.729 in the IP Voice Media Stream App and restart the IP Voice Media Stream App service to resolve this issue.
Complete these steps:
- Select Service > Service Parameters and choose Cisco IP Voice Media Streaming App from the Service pull-down menu.
- Under Clusterwide Parameters, select G.729 codec for Supported MoH Codecs.
- Click Update.
- Select IP Voice Media Stream App under Application > Cisco CallManager Serviceability > Tools > Control Center and click Restart to restart the IP Voice Media Stream App Service.
A. The volume of a custom-created MoH source is defined by a Cisco CallManager service parameter and occurs when you create the audio source using the Cisco MoH Audio Translator service. You must modify the service parameter and then re-translate the audio source in order to adjust the volume of the MoH audio source.
Complete these steps to modify the service parameter that affects MoH audio source volume.
- Open up the Cisco CallManager Admin web page in Internet Explorer.
- Select Service > Service Parameters.
- Select a Cisco CallManager server from the Server drop-down box. The parameter you change affects all Cisco CallManager servers in the cluster, so it does not matter which server you select.
- Select Cisco MoH Audio Translator on the Service drop-down box.
- Click Advanced to see all service parameters.
- The Default MoH volume level is the parameter you can change. The default is -24 and the volume is measured in decibels (dB). You can enter a value in the range of -48 (soft) to 0 (loudest), but the change in volume affects only audio files processed after the change. For example, change to -28 for a softer source, or -20 for a louder source.
The service parameters setting works only for MoH audio files as the audio source. If you use a live feed or USB device as the audio source, you need to complete these steps to reduce the MoH volume.
- Select Start > Settings > Control Panel.
- Click Sounds and Multimedia.
- Go to the Audio tab.
- Under Sound Recording, click Volume to adjust the volume. The changes should take effect immediately after you click OK.
A. For information on how to set up an MoH Live-Feed on SRST gateways, refer to Configuring SRST MoH Live-Feed Support.
Note: SRST MoH Live-Feed is currently not supported with Session Initiation Protocol (SIP) gateways. It is supported only on H.323 and MGCP gateways.
A. Choose Service > Service Parameters > Cisco Call Manager > Default Network Hold MOH Audio Source ID in order to apply the MOH audio stream globally for all the devices.
A. Complete these steps in order to configure Music on Hold (MOH) to play continuously:
- Choose Service > Media Resource >Music on Hold Audio Source.
- On the MOH Audio Source Configuration, choose the Audio Source file you want to use and check the Play Continuously (repeat) check box. Restart the Cisco Media Streaming Application service and the MOH server, after you update the configuration page for that file.
The Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and collaborate with your peers.
Refer to Cisco Technical Tips Conventions for information on conventions used in this document.