I have an installation of asterisk 1.2.10 on Fedora Core 4, with 2 2.8Ghz procs and 1 gig of memory, that has always worked well for my customers at relatively low traffic. We are now implementing an auto dialer, using 12 channels, on a 70 user site. All goes well until we turn on the auto dialer, at which point errors inevitably begin to occur and eventually brings asterisk to its knees.
This excites the customer greatly.
The errors that we most often see first is this :
Apr 27 16:09:06 WARNING: format_wav.c:247 update_header: Unable to find our position
This if often followed closely by:
Apr 27 16:10:38 WARNING: rtp.c:390 ast_rtcp_read: RTP Read error: Bad file descriptor
and its close friend
Apr 27 16:11:07 WARNING: rtp.c:390 ast_rtcp_read: RTP Read error: Socket operation on non-socket
When these errors appear, they often come in batches of thousands and even thousands per second, making the messages log huge !
Finally, asterisk begins spitting out an “avoided deadlock” warning. Once we see this error, incoming calls are still coming in, but no outgoing calls can be made, including SIP to SIP calls. Asterisk has to be restarted to resume normal operations.
We are running call recording as well as the dialer, but shutting off call recording does not seem to have an effect on the outcome once the dialer is turned on. If we catch it in time, before the deadlock errors, we can shut down the dialer and save asterisk most times.
We monitor systems resources, and have not seen the CPU or memory get even close to being sapped. The Dialer generates a WAV file and stores it to the hard drive. An idea being floated at the moment is that perhaps we are overwhelming the HD I/O with all the call recording and Dialer traffic on the drives, but I have not been able to find any data to support that theory.
Any and all help on this would be GREATLY appreciated. I mean, throw an idea out there and I will look into it. I am a little baffled at this point.
Thanks for all the help in advance !