A Quick one, by default Music on hold is not enabled on the Lync Client.
A change of policy at the global level is required to enable it.
set-csclientpolicy -identity global -enableclientmusiconhold $true
details here: http://technet.microsoft.com/en-us/library/gg398300.aspx
Once it’s enabled and replicated users will have Music on hold (they may need to sign in and out to get the feature)
By default users can change the .wma file played, but you can disable the ability to change by policy if required.
Also not that Lync Phone Edition (IP Phones) don’t have music on hold functionality
, unless connected via USB to a Lync Client and putting the call on hold via the Lync client Corrected by Jeff.