Streaming MOH - proper MP3 Formatting


This error keeps coming up:

res_musiconhold.c:719 monmp3thread: poll() failed: Interrupted system call

I have my own streaming server, so I have full control of the mp3 that is being streamed. What is the correct way to format the mp3 files so that I can get rid of the above error?

Thanks in advance

Is this being reported as an ERROR? Interrupted system calls tend to be either normal, or the result of a real time bug.

1 Like

It reports as a warning

[May 5 17:15:53] WARNING[18610]: res_musiconhold.c:656 monmp3thread: poll() failed: Interrupted system call

Any way to shut these off?

I thought this is because of how the mp3 is formatted, but if you are saying something else, i’d love to get it solved

poll is a system call that waits for events on multiple file descriptors and also a timeout.

The way that Unix type systems handle asynchronous signals is that they terminate any long runnig system call (this includes blocking reads, as well as poll), run the signal handler as a subroutine, and let the program continue after the return from the signal handler. As the long running call didn’t complete, it returns with an interrupted system call status. The normal action of a program that is expecting that is to re-issue the call.

If nothing else is going wrong, other than the warning, the code is apparently handling that response, which suggests it is a normal condition, i.e. the thread expects to receive asynchronous events.

I haven’t looked at the code, and you didn’t give the exact version,so I can’t be sure why it would receive signals, but that reason is not going to be simply related to the format of the file.

Asterisk 13.15.0 (this has been going on with multiple versions since asterisk 1.8)

The code for my MOH is:

application=/usr/local/bin/mpg123 -q -r 8000 -f 8192 -s --mono

1 Like