Click here to request your free 14-day trial of Cisco Umbrella through NetCraftsmen today!

2/6
2012
William Bell

Live Stream Music on Hold and Cisco UC on UCS – Barix

Background

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.

 The following is a breakdown of how we got the solution to work.

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 239.192.1.1”. Unfortunately, Barix is pirating the signal.

The network piece was nicely done — thanks Carole!

Configuring CUCM

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: 239.192.1.1
  • 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.

Configuring Barix

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

Network Settings

The first step is to go to Settings and then modify the network settings. Apply an IP address that fits your design.

Audio Settings

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.

Stream Settings

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.

Misc Settings

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

William Bell

William Bell

Vice President, Solutions and Products

William’s background spans an array of technical disciplines including application development, network infrastructure, protocol analysis, virtualization, and Unified Communications. Bill is certified as a CCIE Voice (CCIE #38914) and possesses a deep understanding of Cisco’s UC and Collaboration portfolio. He leads the Infrastructure Engineering team and also works with customers on architecting solutions that align with core business drivers. Bill is a regular contributor on the Cisco Support Community, a 3 time Cisco Designated VIP, and blogs on the NetCraftsmen and UC Guerrilla sites.

View more Posts

 

Nick Kelly

Cybersecurity Engineer, Cisco

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” dela Cruz Jr.

CCDP, CCNA V, CCNP, Cisco IPS Express Security for AM/EE
Field Solutions Architect, Tech Data

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 Cavanaugh

CCIE #1066, CCDE #20070002, CCAr
Chief Technology Officer, Practice Lead Security Services, NetCraftsmen

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.