Today I had so much fun with branch multicast MOH, and by had so much fun what i actually mean is: that sucked. that was a total pain in the ass, thank god i know mostly how it works now.
Lets briefly talk about the concepts.
Basically the idea behind Branch-based MOH is that you might have a small LAN link between two sites, and you want to run G.729 over that link. Your MOH can ofcourse be streamed at g729 rates but have you ever heard MOH with voice over g.729? it sounds pretty awful.
With branch-based MOH by telling the IP Phone to listen for a multicast source for MOH you can have the router stream the music locally from a file located on flash, using G.711 but without using up any of your precious WAN bandwidth.
So thats the concept in a nutshell.
The devil is absolutely in the detail with this one, there are so many things that can go wrong.
First things first, you need to create your MRG and MRGL that use multicast
you should create a seperate region for your MOH and your WAN sites that ONLY uses g.711, the MOH is only streamed in G.711 format so its important that you use this for your region.
Once thats done, go ahead and load a file into flash at your remote site, and then enter these commands, its very important that you already have a MOH source audio file and ip source address, max-ephone, max-dn etc configured.
multicast moh 22.214.171.124 port 16384 route
you can use some very handy debug commands for this to see if it has worked:
debug ephone moh
debug ccm-manager moh
here are some useful debug commands:
show ccm-manager music-on-hold
show call active voice | inc Remote
The last command i just showed you is incredibly useful to make sure that CUCM is trying to get the phone to listen to the right multicast address.
I hope this helps someone out there!