No Multicast MoH on CUCM's local subnet

Answered Question

I have a phone on the same subnet as the CUCM MoH (Multicast enabled) server that plays the annunciator when call is placed on hold. The phones' MRG has multicast checked, the MoH server has Multicast checked, the MoH server is registered, voice media streaming service running. The MoH server is the only server I have in its entire MRGL.....If I uncheck "Allow multicast" in MRG, caller then hears MoH. If I recheck the box to enable multicast MoH, the user on hold hears ann. Again, the phones are on the same VLAN/subnet as the CUCM server so it is not a network issues- also, since I hear the ann when on hold, when multicast is enabled, that tells me CUCM realizes it cannot source multicast MoH and defaults to the ann tone. Same results if I set up the Subscriber as Multicast MoH. Also, since uncheck/checking "Allow Multicast" in MRG turns MoH on/off, I know my music file is good. I've reviewed the enterprise and services parameters for CallManager and Voice Media Streaming, but couldn't find any fields that I thought could cause it......

- New install - CUCM 7.1(3)-2000


Any ideas?????


THANKS!

Correct Answer by David Hailey about 7 years 2 months ago

Actually in most modern switches (post 2002 deployments), IGMP snooping is on by default.  When IGMP snooping is enabled, multicast is NOT treated as broadcast.  When snooping is enabled you need a querier on that L2 VLAN.  A router interface can be a querier by turning on PIM or on a Cisco switch you can configure the switch itself to be a querier for a L2 VLAN. So you have 3 options:


1) Turn on PIM on the L3 interface

2) Turn off IGMP snooping on that VLAN

3) Enable a querier on that VLAN


If it is isolated to a single VLAN, I would use option 3.  Older switches like Cat4k's with Sup2's don't even support snooping so IGMP is off by default on those devices - in those cases, you are exactly right.  But if you have newer switches and haven't done of the 3 options above, multicast will not work.


Hailey


Please rate helpful posts!

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4.5 (6 ratings)
Loading.

David,

   Thanks for responding. I don't believe it is a multicast networking issue because 1) When I check the "enable multicast" box in MRG, the caller hears the annunciator when placed on hold. That tells me that CUCM is making a decision that it does not have the ability to do multicast MOH and has replaced it with the ANN. (If I didn't hear anything while being placed on hold, I'd say it CUCM MIGHT by place a multicast MOH stream out on the network but it isn't getting to the IP Phone.    2) The phone and CUCM (MoH) server are on the same subnet- multicast packets are treated as L2 broadcasts by switchports. I don't need any L3 multicast config if the Multicast is staying within the VLAN.  3) Also, my original problem was trying to get this to work on an SRST router and it wouldn't. When I did a debug ccm-manager moh, I was seeing a multicast address being sent from CUCM of 0.0.0.0.  4) RTMT doesn't show any active multicast streams when the user is placed on hold.

   I can span the CUCM port and sniff the traffic- but the annunciator tone


Thanks,


Mike.

Correct Answer
David Hailey Wed, 04/21/2010 - 09:22
User Badges:
  • Purple, 4500 points or more

Actually in most modern switches (post 2002 deployments), IGMP snooping is on by default.  When IGMP snooping is enabled, multicast is NOT treated as broadcast.  When snooping is enabled you need a querier on that L2 VLAN.  A router interface can be a querier by turning on PIM or on a Cisco switch you can configure the switch itself to be a querier for a L2 VLAN. So you have 3 options:


1) Turn on PIM on the L3 interface

2) Turn off IGMP snooping on that VLAN

3) Enable a querier on that VLAN


If it is isolated to a single VLAN, I would use option 3.  Older switches like Cat4k's with Sup2's don't even support snooping so IGMP is off by default on those devices - in those cases, you are exactly right.  But if you have newer switches and haven't done of the 3 options above, multicast will not work.


Hailey


Please rate helpful posts!

David, Thanks for the continued input. I ended up placing multicast routing global and on the interface, but the scenario remained. I placed the IP phones on the same 3560 switch as CUCM, same problem. If I sniff the phone's port, I do see source IP address=CUCM_MOH, Dest IP address going to 239.1.1.1  source/dest UDP 16384, but just hear ToH on the phone on hold. Is ToH Multicasted? I wouldn't think that a CUCM cluster would attempt to put out a ToH and an MoH stream to the same phone. It certainly seems as though the multicast stream is getting to the phone. I also think the file is valid, because if I uncheck multicast (and only have that one MOH server in the MRG), I do receive music.


Any thoughts?



Thanks!

David Hailey Wed, 04/21/2010 - 16:45
User Badges:
  • Purple, 4500 points or more

Tone on hold shouldn't (I don't think) be multicasted.  Sounds like there is something amiss somewhere in regards to the phone's switchport actually joining the mcast group.  Can you scrub your config and then post it (i.e., switch and router configs for multicast)? I, admittedly, may be barking up the wrong tree but from the CUCM perspective - once you set the multicast MoH source then there's not much else to it.  Most issues after that are typically network-related so I'd like to make sure we're all square there first.


Hailey


Please rate helpful posts!

Aaron Harrison Thu, 04/22/2010 - 00:55
User Badges:
  • Super Bronze, 10000 points or more
  • Community Spotlight Award,

    Member's Choice, May 2015

Hi


Hailey is correct; ToH is signaled out via SCCP and generated locally on the phone.


If you get ToH, it means that CCM has told the phone to play out ToH.


If (for example) the phone was configured to receive Mcast MoH, but could not, you would get complete silence, as the CCM isn't aware of whether or not the phone actually picks up the RTP that CCM is sending out. This is how the 'trick' of streaming MoH from a local gateway works...


I would suggest that you have a misconfig on CCM that is causing an invalid stream to be selected - e.g.


- you haven't uploaded the MoH files to ALL your servers

- you have set an invalid source on the device that is instigating the hold (not the phone being put on hold)

- you have an MRGL assigned to this phone that does not include the MoH servers

- you have a regions setup that does not permit the codecs being used by the moh servers to the phone (g711 by default)


Regards


Aaron


Please rate helpful posts...

Ayodeji Okanlawon Thu, 04/22/2010 - 01:11
User Badges:
  • Super Bronze, 10000 points or more
  • Cisco Designated VIP,

    2017 IP Telephony

To add to Aaron excellent post, you also need to enable multicast on the MOH file itself.

David Hailey Thu, 04/22/2010 - 05:28
User Badges:
  • Purple, 4500 points or more

Good follow-up, Aaron. All definitely valid points.

Thanks guys for all the input. The ToH information is key. I guess I never thought about where the ToH was generated from, and knowing it comes from the phone is most helpful.


RTMT does show a MoH "no more resources available" error message. The MoH server is registered and is part of the MRG, within the device's MRGL.


I am using the default MoH source file "SampleAudioSource" source file #1. They are present on both servers. I have the MoH server and phone within the same location/region. If I uncheck "allow multicast", the same file works fine as uni-cast. The other odd thing, is that when I check multicast Moh (in the source file, MoH Server and MRG) I do see multicast dest IP 239.1.1.1 UDP port 16384 go to the phone, but the phone plays ToH. This happens whether I try to stream MoH from my Pub or Sub. I wish I had a method to listen to that multicast stream to see if it is audible, or whether the phone receives it but can't play it, therefore playing ToH.....I guess I also need to see the phone config.xml file being loaded after I set the MoH to multicast, to see if the phone is being told the correct Multicast/MoH information. Any other ideas?


Thanks again for all the input.

Aaron Harrison Thu, 04/22/2010 - 08:12
User Badges:
  • Super Bronze, 10000 points or more
  • Community Spotlight Award,

    Member's Choice, May 2015

Hi


You can do a packet capture using wireshark ; this will allow you to decode the SCCP and see what CCM tells the phone to listen to. If you get ToH you'll just see a 'StartTone' message.


You should also be able to squirt out the RTP file using the RTP Analysis function in Wireshark. You usually have to first right click the UDP packet and tell it to 'Decode as..' RTP.


I would leave the MoH sources, and servers mcast enabled permanently, and just use the toggle on the MRG. I would normally create a UCAST_MOH and MCAST_MOH, and then have two separate MRGLs (ucast/mcast) each containing the appropriate MOH MRG along with your other things. You can then switch between the MRGLs to turn it on/off.


There's always the chance when making lots of changes that you aren't resetting all that needs to be reset.


Get it so you can see the MoH, and then concentrate on why CCM is telling the phone to play out ToH. And be aware that just because your phone can see the traffic doesn't mean it's necessarily asked to see it - if you wireshark the port when the phone is idle you may still see it (LAN config dependant).


Regards


Aaron

David Hailey Tue, 04/20/2010 - 16:52
User Badges:
  • Purple, 4500 points or more

Just because the CUCM is multicast-enabled does not mean you have enabled multicast on the network.  You also need to enable multicast on the network and ensure that it works properly before multicast MoH with CUCM will work.


Have you done that?


Hailey


Please rate helpful posts!

Actions

This Discussion