I recently completed a CUCM upgrade for a customer where their CUCM 7.0 system, running on the MCS platform was migrated to an 8.5 system running in vmware (on the UCS platform). One of the requirements was to preserve the ability to leverage a satellite radio feed for Music On Hold.
There are several options available to address this requirement, I discuss some of the more viable options here. For this deployment, we decided to leverage a “uni-tasker” to take the audio input and stream it on the multicast-enabled network. The product we used is the Barix Annuncicom.
Configuring the Network
Of course, if we don”t have a network that can handle multicast routing then we are dead in the water. I had the privilege of working with Carole Warner Reece on getting the network portion laid out. The basic approach is illustrated in the following example.
The solution leverages MSDP, PIM, and IGMP to facilitate IPmc routing throughout the network. The CUCM publisher and the Barix audio streamer are both configured to stream using the same multicast group. The difference is that the SVI for the CUCM VLAN is configured to block multicast streams from leaving the VLAN. This can be done via ACL or by simply disabling PIM on the CUCM SVI.
When a phone is placed on hold, the CUCM says “hey, listen to my wonderful tunes on channel 126.96.36.199”. Unfortunately, Barix is pirating the signal.
The network piece was nicely done — thanks Carole!
We identified the specific multicast group we were going to use for this application as a general pre-requisite before configuring CUCM. Next we configured an audio source in CUCM that leveraged the Sample Audio Source file but associated it to a new audio source ID (ID 2, in our setup).
The reason we used a real audio source file is that if the media consumer (i.e. the device placed on hold) was not on a multicast network, we still wanted to send MoH. It would just be the sample audio source or, “the Cisco clap”, as my customer so aptly named it.
Audio Source Configuration
- Audio Stream Number: 2
- Audio Source File: SampleAudioSource
- Audio Source Name: BarixSoundFile
- Play Continuously: enabled
- Allow multi-casting: enabled
MoH Server Configuration
We only associate the multicast capabilities to one of the CUCM IPVMS nodes. This MoH server was configured as follows:
- Run Flag: Yes
- Multi-cast IP Address: 188.8.131.52
- Multi-cast port number: 16384
- Increment multi-cast on: IP Address
Media Resource Group
We create two media resource groups (MRGs). The MoH server is assigned to both MRGs. The only difference between the two is that one MRG is multicast enabled, while the other is not.
Media Resource Group List
We created at least two media resource group lists (MRGLs). One of these MRGLs contained the multicast-enabled MRG, while the other does not. The latter is assigned to devices on networks incapable of routing multicast, while the former is associated to devices that are on multicast-enabled networks.
The Barix appliance is a nifty little box that is pretty easy to integrate in your network. Barix recommended loading the “Instreamer” firmware given the use case. This worked like a champ. After you assign an IP address to the Barix box, you can web to the system to complete the configuration. IP address assignment can be done via DHCP on initial boot and then reconfigured to static. The code versions leveraged are shown below.
- Firmware VB3.17 (7/25/2011)
- Web app: V 1.20
- Bootloader V99.15
- Setup: V 1.07
- Song: V8.18
- XT: V 1.18
The first step is to go to Settings and then modify the network settings. Apply an IP address that fits your design.
After configuring the network, the audio settings are modified to identify the appropriate input source, the encoding mechanism, and gain. The encoding is G711 ulaw / 8 kHz mono. The rest of the settings may vary by environment.
For stream settings, you can provide whatever name you want. The streaming mode should be set to “send always”, the send contact closure information is disabled, and the DSCP value is set to 46 (PHB EF).
When setting up the multicast destination, modify connection number 5 to use the multicast group address and port number provisioned for the MoH server in CUCM.
Tweaking may be necessary, depending on your needs. In our situation, the configuration was pretty straightforward. We tested with an iPod so we didn’t have to move the live feed from the production (pre-migration) CUCM 7 system. Once we migrated phones to the new system, we moved cables and were in business.
William Bell is the Collaboration Practice Lead for Chesapeake NetCraftsmen. Bill has over 10 years of experience in the IT industry with a focus on communication and collaboration technologies. In addition to blogging on the NetCraftsmen site, Bill also maintains the UC Guerrilla blog: http://ucguerrilla.com. You can follow Bill on Twitter: @ucguerrilla