Need for Speed
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 22.214.171.124”. 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
MoH Server Configuration
We only associate the multicast capabilities to one of the CUCM IPVMS nodes. This MoH server was configured as follows:
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.
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
Need for Speed
Container-Based WAN Monitoring
What is NVMe and How Does It Impact My Network?
Nick has over 20 years of experience in Security Operations and Security Sales. He is an avid student of cybersecurity and regularly engages with the Infosec community at events like BSides, RVASec, Derbycon and more. The son of an FBI forensics director, Nick holds a B.S. in Criminal Justice and is one of Cisco’s Fire Jumper Elite members. When he’s not working, he writes cyberpunk and punches aliens on his Playstation.
Virgilio “Bong” has sixteen years of professional experience in IT industry from academe, technical and customer support, pre-sales, post sales, project management, training and enablement. He has worked in Cisco Technical Assistance Center (TAC) as a member of the WAN and LAN Switching team. Bong now works for Tech Data as the Field Solutions Architect with a focus on Cisco Security and holds a few Cisco certifications including Fire Jumper Elite.
John is our CTO and the practice lead for a talented team of consultants focused on designing and delivering scalable and secure infrastructure solutions to customers across multiple industry verticals and technologies. Previously he has held several positions including Executive Director/Chief Architect for Global Network Services at JPMorgan Chase. In that capacity, he led a team managing network architecture and services. Prior to his role at JPMorgan Chase, John was a Distinguished Engineer at Cisco working across a number of verticals including Higher Education, Finance, Retail, Government, and Health Care.
He is an expert in working with groups to identify business needs, and align technology strategies to enable business strategies, building in agility and scalability to allow for future changes. John is experienced in the architecture and design of highly available, secure, network infrastructure and data centers, and has worked on projects worldwide. He has worked in both the business and regulatory environments for the design and deployment of complex IT infrastructures.