Summary:ASTERISK-03238: file_retrieval() failure when using ODBC Storage
Reporter:silik0n (silik0n)Labels:
Date Opened:2005-01-09 17:04:15.000-0600Date Closed:2008-01-15 15:21:02.000-0600
Versions:Frequency of
Environment:Attachments:( 0) mydiff.txt
Description:When retrieving voicemail and using ODBC storage, returned msgXXXX.WAV file includes a large ammount of trailing padding which induces ear shattering noise to the caller and prolongs the palyback past the actual end of the message


What appears to be the issue is on or about line 750 of app_voicemail.c where fdlen is set to = colsize.

colsize is gathered by the SQLDescribeCol call at line 743. In this statement colsize is returned as the actual size of the col in the DB not the size of the data stored in said col.

using mysql as the actual backed DB with a longblob col type results in a size of 16M on all calls.

Possible fix is to build the file for use in the mmap/memset after the SQLGetData call as colsize in that call appears to return actual data size. (note: I am going off of Microsoft documentation for the ODBC APIs so I could be off base here)

Anyone willing to test/assist me in getting a patch out for this please contact me on IRC (#asterisk) as Silik0n
Comments:By: silik0n (silik0n) 2005-01-09 23:21:40.000-0600

Someone give Markster some + kharma

Patch works...

By: Mark Spencer (markster) 2005-01-09 23:26:10.000-0600

Fixed in CVS head, although it would be best if we knew the real size first.

By: Digium Subversion (svnbot) 2008-01-15 15:21:02.000-0600

Repository: asterisk
Revision: 4746

U   trunk/apps/app_voicemail.c

r4746 | markster | 2008-01-15 15:21:01 -0600 (Tue, 15 Jan 2008) | 2 lines

Truncate file as appropriate (bug ASTERISK-3238)