I have an entire site with phones in the same DP, using the same CDC, with all the same MoH references on their lines and everyone but one is getting MoH and they are getting silence. About the only thing I haven't tried yet is a delete/rebuild of the phone.
MOH source file does not decide what is used by the phone, it is what drives what the other party hears. MOH server is selected based on MRGL configured on the phone or assigned to the DP the phone is using.
Are you using Unicast or Multicast MOH? Is the proper MRGL configured with MRG that lists one of the MOH Servers?
If you are using Multicast, do you have multicast traffic properly routed? If this is at a remote location are you perhaps streaming from flash of the GW?
Unicast across the WAN best I can tell although it does have a file in flash and the proper dial-peers setup. I can rule out multicast by using "debug ephone moh" and "show ephone summary" and show ccm-manager music-on-hold".
I guess my question is how all the other phones have it while this one doesn't? There is literally nothing different between the phones.
Your analysis did not rule out multicast at all as the commands are irrelevant under CUCM. Quick check would be to look at the MRG configuration to ensure "Use Multi-cast for MOH Audio (If at least one multi-cast MOH resource is available)" is not checked, and if it is checked look at the MOH server to see if that is configured for Multicast.
So, are phones in the same VLAN, registered to the same SUB, have the same MRGL and/or Device Pool? No device mobility is causing roaming?
What do you see when you bring up RTMT and look for Multicast streams, are they incrementing?
One MoH server is checked for Multicast, max-hops =1. This was for testing purposes only. All phones in same Vlan, registered to same Sub, have same MRGL & DP settings, not using mobiliity.
No MC streams incrementing.