I have set this up for someone in the past, it does work but it has problems.
Firstly you need to set IMS as a server on port 606 and also as an extension on the PBX
If you want the player to cut in when a call first arrives go to the Group section of Axon and change the hold options to Link to IMS On-Hold Player and enter the IP of the server running IMS (xxx.xxx.xxx.xxx:606). This will cause Axon to answer the incoming call and play the on hold music while the extensions ring.
To use the IMS Player for calls put back on hold your phone must support MOH. I use polycom IP500, IP501, Lynksys ATA’s and Grandstream ATA’s. The IP501 and Linksys ATA’s support this function but older Polycom’s and Grandstreams do not.
Find the MOH settings in the phone and set it to the extension you registered the IMS to. Now when a call is put on hold the phone effetely transfers the call to that extension so the caller hears the music on hold and recovers the call when taken of hold, a sort of three way conference.
However this will not work with all providers. If you are using a bridge to a PSTN line (SPA3102 etc) it should work fine. However when a call is placed on hold Axon sends the on hold signal to the service provider, in some cases your music might play, however it is more likely the service providers music will cut in over riding yours, or the service provider will cut in just play a beep. There are no settings in Axon to over ride the on hold signal to the service provider.
The on hold music will never play on an internal call, just a beep.