Summary:ASTERISK-14997: Asterisk MOH playing old audio for first 30 to 60 seconds
Reporter:happywebuser123 (happywebuser123)Labels:
Date Opened:2009-10-15 23:17:00Date Closed:2009-10-18 14:46:50
Versions:Frequency of
Environment:Attachments:( 0) actual_logs_-_with_playing_60_seconds_old_audio.txt
( 1) musiconhold.conf
Description:Calling all members of the asterisk community,

I am posting about an old issue that has been reported many places and times online, To my amazement, there has yet to be anyone that has reported any solutions to the following problem.

"Initially when putting callers on hold, it plays between 30 and 60
seconds of old audio that was on the stream in the past. Then after
that 30-60 seconds, it does a hard cut into what is currently playing
(which sounds pretty bad)."

I think it would be a great service and big help to all of the asterisk community, if you can please contribute your expertise on helping find a solution to this problem. This issue likely effects millions of asterisk users worldwide without a solution!

Good Luck and Thanks very much in advance for your kind help and contribution!!
Comments:By: Elazar Broad (ebroad) 2009-10-16 11:16:05

Per the bug guidelines, please reply with the following:

1. A sip debug and verbose trace, you can do this by issuing: sip set debug on and core set verbose 3 in the Asterisk CLI.
2. Your music hold configuration, musiconhold.conf

Additionally, if this is an ongoing issue like you state, some references would be nice as well. Thanks!

By: happywebuser123 (happywebuser123) 2009-10-16 14:30:46


Thanks for your attention to this matter, I just uploaded the two files as requested, this has been referenced many places online, the following are two that I can find at a quick moment.


Thanks again!!

By: happywebuser123 (happywebuser123) 2009-10-16 14:56:29

I think it would be important to note that this issue happens regardless of whether you use mplayer and/or mpg123.

Also, it happens only after a caller has been listening to the MOH, then disconnects from asterisk and next caller enters MOH again after a few minutes or more that the MOH/queue has been empty of callers...

By: happywebuser123 (happywebuser123) 2009-10-18 13:27:29

Interestingly enough, I just did some more research online and this issue was in fact already noted in a bug report back in 2003, without any resolution to date??

I really don't understand, why since it likely effects so many millions of asterisk users worldwide and is such a major problem, how come additional attention is not being given to this report?? especially in light that it has already been reported back in 2003 ? almost 6 years ago?




" (0002661)
oliver (reporter)
2003-12-03 19:08
edited on: 2003-12-03 19:12
I discovered a small problem with MP3-streams. They start playing the first time a channel gets connected to MOH, but get interrupted in the way I described above as soon as no more channels are listening to MOH. An unfortunate side-effect is that in this case, mpg123 seems to lose the stream after a short time. The next channel connecting to MOH will hear the part of the stream that was still in mpg123's buffer, after which the audio gets cut off. Only restarting Asterisk or killing the mpg123-processes (after which Asterisk spawns fresh ones, which re-connect to the stream) will reliably get the stream back.

Maybe this patch could be modified to kill and restart mpg123 if the MOH-source is a stream, has been idle with no channels listening and a new channel connects to it.

In short: Check the number of listeners each time a new channel connects to MOH. If there are 0 listeners and the MOH-source is a stream, restart mpg123 to allow it to re-connect.
edited on: 12-03-03 19:03 "

By: happywebuser123 (happywebuser123) 2009-10-18 13:30:41

...The next channel connecting to MOH will hear the part of the stream that was still in mpg123's buffer, after which the audio gets cut off...

By: happywebuser123 (happywebuser123) 2009-10-18 13:34:38

Here seems to be another such same exact problem report!!


By: Elazar Broad (ebroad) 2009-10-18 14:46:32

Per Ollys response to 0000143, I am closing this issue as well. IMHO, it is the responsibility of the stream server to seek/play the stream continuously, even if the stream is idle, if that is how the server is designed; Asterisk is just a client. There is a version of mpg123 which is capable of this, see Russell's response to the OP in the last link that you posted. With that said, I am a community bug marshal, not as Asterisk/Digium developer, if you would really like to see this implemented, I would highly recommend that you take up with an Asterisk developer on #asterisk-dev.