[asterisk-dev] voicemail odbc storage retrieve_file problem

Dan dan at telcohero.com
Wed Jun 21 13:11:26 MST 2006


If I boot asterisk, dial into a mailbox, listen to the "unavail" recording 
from the database, and hang up before it completes and moves on to the 
"vm-intro" recording, I can continue to call back in and hear the proper 
"unavail" recording from the database.

If I let it proceed to the "vm-intro" recording (sometimes it takes 2 or 3 
times), every time I dial into that mailbox after that, there are errors 
retrieving the "unavail" recording and it skips directly to the "vm-intro" 
recording until I restart asterisk.

The console messages are as follows:

GOOD
-- Executing VoiceMail("SIP/24.148.96.142-006d6380", "u1234") in new stack
-- Playing '/var/spool/asterisk/voicemail/default/1234/unavail' (language 'en')
-- Playing 'vm-intro' (language 'en')

BAD
-- Executing VoiceMail("SIP/24.148.96.142-006d6380", "u1234") in new stack
Jun 21 16:01:07 WARNING[22971]: format_wav_gsm.c:120 check_header: Read 
failed (type)
Asterisk Event Logger restarted
Asterisk Queue Logger restarted
Rotated Logs Per SIGXFSZ (Exceeded file size limit)
Jun 21 16:01:07 WARNING[22971]: file.c:436 ast_filehelper: Unable to open 
file on /var/spool/asterisk/voicemail/default/1234/unavail.WAV
Jun 21 16:01:07 WARNING[22971]: format_wav_gsm.c:120 check_header: Read 
failed (type)
Jun 21 16:01:07 WARNING[22971]: file.c:436 ast_filehelper: Unable to open 
file on /var/spool/asterisk/voicemail/default/1234/unavail.WAV
Jun 21 16:01:07 WARNING[22971]: file.c:824 ast_streamfile: Unable to open 
/var/spool/asterisk/voicemail/default/1234/unavail (format ulaw): No such 
file or directory
-- Playing 'vm-intro' (language 'en')


I found that when things don't go as planned, the write() of retrieve_file 
in app_voicemail.c results in errno 27 (File too large).

I also found that putting an fstat() before the write() causes the problem 
to go away.

At someones suggestion, I tried using tmpfs and ext2 instead of reiserfs 
v3 for the /var/spool/asterisk/voicemail directory, but that resulted in 
"bus error" instead of the console messages above.

I am using Debian with the following software:

   asterisk 1.2.9.1 (compiled)
   kernel 2.6.12-1-amd64-generic
   gcc-3.4.3-13
   unixodbc 2.2.4-11
   libmyodbc 3.5.1.09-1
   mysql 4.1.11a-4sarge4


Any suggestions or input appreciated.

Thanks,

Dan



More information about the asterisk-dev mailing list