MOH set on inbound route is playing when called extension puts the call on hold. Nothing plays when the calling number puts the call on hold

I have set up a class with streaming audio. This is not a production system.

I only have one inbound route specification and in it a specify the class that points to the mpg123 app and the URI of the stream. I also have an extension that specifies the URI of another stream.

I then dial the DID which is routed to this particular extension. After answering, I the extension puts the incoming call on hold and I hear the specified class. Then I put the incoming call on hold and all I hear is the default MOH files, not the class specified in the incoming route.

Not sure what the problem is.

The stream that’s being used should be documented in the /var/log/asterisk/full file.

Check there, and let us know what you find.

[2019-06-04 23:00:26] VERBOSE[12410][C-00000007] pbx.c: Executing [18054676070@from-internal:4] Set("PJSIP/601-00000009", "MOHCLASS=default") in new stack
[2019-06-04 23:00:26] VERBOSE[12410][C-00000007] pbx.c: Executing [s@macro-dialout-trunk:17] ExecIf("PJSIP/601-00000009", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)T)") in new stack
[2019-06-04 23:01:11] VERBOSE[12440][C-00000007] res_musiconhold.c: Started music on hold, class 'default', on channel 'PJSIP/VoIP.ms-0000000a'

This should not be “default”. The setting in the inbound route is “wagner”

Check the extension and see of you’re setting the MOH for that. From this, it looks like extension 601 is setting the MOH Class for you.

What line is showing that? The inbound route goes to in ivr from which I dial extension 901.

Extension 601 does have another class defined in Find Me/Follow Me. That is called “Streaming”.

“Streaming” is also the class set in the inbound route

That looks like the MOHCLASS is getting set because of the Extension settings to me.

I must be confused. Where do I set the MOH class to play when this extension presses the hold button?

You can’t set the MOH for the extension, you can only set it on Inbound Route, Queues, RGs and FMFM.

Can you perhaps post a picture of the inbound route?
As well as a full call log https://wiki.freepbx.org/display/SUP/Providing+Great+Debug#ProvidingGreatDebug-AsteriskLogs-PartII

The inbound rule MOH is working. If the caller dials my DID then puts it on hold, the stream plays. If the called extension puts the caller on hold, the default MOH plays. I think what your telling me is that this is the way it’s supposed to work

The original title of this post was incorrect. I changed it. I still don’t understand when the stream specified in FM/FM MOH is played. It says it is going to play the MOH instead of ringing, but it doesn’t.

Can you post a call trace? Also, screenshots of your config

Sure…what is the link to the service that allows me to paste the logs?

https://wiki.freepbx.org/display/SUP/Providing+Great+Debug#ProvidingGreatDebug-AsteriskLogs

Great. I haven’t read all the documentation yet and hadn’t got this far.

I’ll get to this sometime this weekend.

Right now, if the calling phone puts the call on hold, nothing is being played, not even the default. If the called extension puts the call on hold, the stream plays.

Have you set the Music on Hold for the Outbound Route?

Music on Hold is determined by the channel that is holding the call. So if you set your MoH in an Inbound Route then send the call to the extension, if the extension puts the call on hold Asterisk will look at the mohsuggest setting for the peer/endpoint and use that if there is no MoH specified for that channel or the channel being held doesn’t have a musicclass set on it.

So now you’re making outbound calls. The default MoH is used for outbound calls unless set on the outbound channel (i.e. Outbound Routes) to tell it to use something else. Otherwise when an extension makes an outbound call and puts the call on hold, it will use the default musicclass because that was what was assigned to the outbound channel and the extension isn’t suggesting or setting an alternative.

Try setting the proper Music on Hold for the Outbound Route and see if the issue persists.

I once had two outbound routes. One of them had the MOH set correctly and that was the one I deleted when I decided I no longer needed it. After updating the remaining outbound route, MOH his working correctly now.

Many thanks for all the help

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.