Why does Asterisk server make MOH silence after a while

When I put a call on hold, I can NOT hear MOH for 5 seconds, and then MOH is silent. After a while, I may hear MOH again. Does Asterisk Server needs hold reminding tone?

Do you have any telco hardware on the box (e.g. T1/E1 card) ? If not did you build Zaptel with Ztdummy ?

Does Asterisk server need the phone periodically send something to the server in order for server to keep sending MOH even if VAD is enabled from the phone? If I disable VAD, the server will send MOH all the way.

Asterisk does not support VAD.