I have my asterisk box to play music on hold using the MPG123 that came with the asterisk package. I uninstalled MPG321 to avoid any conflict. I am currently using on the stock music files shipped with asterisk.
When a caller goes on hold, the music plays, but will stop, and then start etc. CPU usage is OKAY (under .9%), and the console reports no errors.
All callers are connected over a SIP channel. All callers are internal, on 100Mbs switches. I haven’t tried this from outside the network.
I had similar symptoms, could hear moh intermittently, using a phone connected via a Billion 7402VGO. The answer for me was to turn off silence suppression on the 7402.