Local moh played when remote end puts call on hold, sometimes

Hi. I think this is maybe supposed to happen if the remote end sends a reinvite to put the call on hold, instead of simply sending music-hold audio down the line?
It seems a bit weird though.
I’m in the UK, using Gamma as a SIP trunk. If I call my EE mobile phone from the Asterisk system, and put the call on hold from my mobile/cell phone, I hear our local music on hold. I would normally expect to hear either silence or an occasional beep.

Reading back over some old discussions that I don’t really understand, it seems that this is (was?) designed behavior for Asterisk if there is no audio to play, but I wonder if there’s any way to alter it? We are using an older build of Asterisk if that makes a difference - 13.15.0

I have worked around this / set it up the way I want now. I’m not sure why I’ve never come across it before though.

Since our standard moh class is not the default one (it’s playing an icecast stream of the mp3, so that it doesn’t start at the beginning every time, e.g. /usr/local/bin/mpg123 -q -r 8000 -f 8192 --mono -s http://localhost:8000/moh.mp3 ), I have just set the default class to a beep every 5 seconds, and added mohinterpret and mohsuggest = default to the sip.cnf, and it seems to do what we want.