MoH Via AGI Broken After Upgrade.

Home » Asterisk Users » MoH Via AGI Broken After Upgrade.
Asterisk Users 2 Comments

I recently upgraded Asterisk from 1.8.x to 13.x and am now finding that music on hold isn’t working like it used to.

It seems that even though the correct MoH class is being set, the system still plays the “default” music.

All of my call handling is done with an AGI script. When a call is made, the AGI script sets the MoH class before dialing.

The log indicates that the correct class is being set:
[Jul 18 15:14:57] — AGI Script Executing Application: (SetMusicOnHold) Options: (jazz)

However, when the call is placed on hold, the “default” MoH class is used:
[Jul 18 15:15:50] — Started music on hold, class ‘default’, on channel ‘SIP/trunk-0000bfa9’

My AGI script is writen in Perl. Here is the line that does the MuH class setting:

$agi->exec(“SetMusicOnHold”, $o->{musiconhold});

I have verified that $o->{musiconhold} contains the name of a valid MoH class.

Is there a different/new way to set the MoH class in version 13?

Any advise would be welcome.


2 thoughts on - MoH Via AGI Broken After Upgrade.

  • The SetMusicOnHold application was deprecated in v1.6 and removed in v13. Use Set(CHANNEL(musicclass)=class) instead to set the music class on the channel.

    The change was documented in the UPGRADE.txt files.


  • Man, I was hoping it was something like that. I did read the release notes; I must have missed that part.

    This should solve the problem, so thanks again.