MusicOnHold works but Dial(...,m) does not


I am facing a strange problem with my production asterisk system. I started on development machine with SIP phones and got DIAL(SIP/${EXTEN},m(default)) working for music on hold while dialing another line. After everything was ready, I started moving things to production machines which use SS7 E1s for receiving and making calls, all I got during DIALing was silence. Hence I tested MusicOnHold(default) without Answering the call, and it works perfectly fine.

Can someone please tell me what I am missing here? I do get a “Started music on hold …” after dialing is initiated, however, it is followed immediately by a “Stopped music on hold …”.

I will be much obliged for any hints or solutions regarding this.