Asterisk 1.4.29 musiconhold of remote party doesnt work


we updated from 1.2 to 1.4, beside some other problems - i have a strange problem with the musiconhold on 1.4.29. If I call somebody (external - no asterisk machine) and the called party sets me on “hold” - I hear my own musiconhold instead of his.

Is this one a problem of my configuration or just a “little” bug ?


Default Settings:
  Context:                default
  Nat:                    RFC3581
  DTMF:                   rfc2833
  Qualify:                0
  Use ClientCode:         No
  Progress inband:        Never
  Language:               de
  MOH Interpret:          default
  MOH Suggest:            
  Voice Mail Extension:   asterisk

It’s a limitation of the SIP protocol. Presently the most common way of putting a connection on hold is to set the SDP direction attribute to sendonly, which implies that you are going to source MOH. However, whilst SIP phones do this, they don’t source MOH, with the result that the only sensible option for a PABX is to assume that sendonly means that it should source MOH, because it is more likely to get a hold indication from a phone than from another PABX.


thanks for your fast reply. But mhh - what exacly does that mean ? I mean - it worked fine before (with asterisk 1.2.X) now after the update this does not work anymore.
I tested the whole stuff and disabled the musiconhold in musiconhold.conf - the debug told me that the asterisk was trying to request the moh - couldnt find anything…and taadaa - i have heard the external moh.

But this wouldnt be a workaround, since I still want to use my own moh while I try to put externals on MY hold… :wink: So what would you suggest to do ?

It might be that 1.2 didn’t recognise the media direction attribute method for initiating a hold. It is also possible that 1.2 doesn’t support remotely initiated holds at all. You would need to provide sip set debug trace output to really see what was happening.


i just did a sip debug

  1. Called out to some external number (A)
  2. Call was estahblished (A + B)
  3. B put me (A) on hold
  4. A (me) heard my own moh instead of his (B)

Sip-Debug on:


The music on hold doesn’t correlate wtih the SIP dialogue, so is presumably the result of the dialplan, but you don’t seem to have any dialplan events logged.

In any case, what is really needed is both the 1.2 and 1.4 traces, ideally with the key differences noted.


It seems, that following is my Problem: . I am using dahdi 2.2.1 with libpri on asterisk 1.4.29. But discardremoteholdretrieval is not available in my setup. Even “mohinterpret=passthrough” does not fix my problem :-/

Is there any way on how to get “discardremoteholdretrieval” to work ?

I don’t think you said one side was not SIP!

Well - like I said - external (not asterisk). So if I call from SIP (Asterisk 1.4.29) over dahdi (PRI) somebody external - I have that Problem.
Example: SIP100 calls me on my mobilephone. The call is esthablished and I (mobilephone) put the caller into hold. SIP100 should listen to the moh that is from my carrier - instead of that - SIP100 listens to his own asterisk pbx moh.

A lot of people use a third party SIP to PSTN service. My original comments are only strictly valid for pure SIP, although I think it would apply to any other technology that can actually signal a hold state.

Hi, i have the same problem right now, Asterisk 13.13.0, how can i fix it?