Cannot upload System Recording

Hi all, I see other posts similar to this, but I cannot solve my problem using them.
I can record a system recording using and internal extension, but I cannot upload a wav or mp3 file.
I tried with two different freepbx version:
I choose the file to upload, give it a name and press the “save” button:
nothing happens

I checked the permission/owner of /tmp and …sounds/custom

ls -la /var/lib/asterisk/sounds/custom
drwxrwxr-x 2 asterisk asterisk 4096 May 12 2006 .
drwxrwxr-x 15 asterisk asterisk 61440 Dec 18 10:36 …
-rw-rw-r-- 1 asterisk asterisk 290124 Mar 30 2006 aa_1.wav

what else can I check ? when I press the save button, having set E_ALL in php.ini, I get:

[Tue Mar 10 09:59:09 2009] [error] [client] PHP Notice: Undefined variable: tabindex in /srv/www/amp/admin/modules/recordings/page.recordings.php on line 194, referer:
[Tue Mar 10 09:59:09 2009] [error] [client] PHP Notice: Undefined variable: rname in /srv/www/amp/admin/modules/recordings/page.recordings.php on line 229, referer:
[Tue Mar 10 09:59:09 2009] [error] [client] PHP Notice: Undefined variable: suffix in /srv/www/amp/admin/modules/recordings/page.recordings.php on line 235, referer:
[Tue Mar 10 09:59:09 2009] [error] [client] PHP Notice: Undefined variable: isok in /srv/www/amp/admin/modules/recordings/page.recordings.php on line 118, referer:

where is supposed to be (temporary) saved the uploaded file ?

(the size of uploaded file is about 100 kBytes)

thanks in advance,

better looking at the output screen (I was focused on the logs, sorry!)

[ERROR] The Recorded File Does Not exists:

make sure you uploaded or recorded a file with the entered extension

If I :
touch /tmp/unnumbered-ivrrecording.wav
chown asterisk.asterisk /tmp/unnumbered-ivrrecording.wav

I can upload the file; but the file is empty ! (of course, is the touched file
I created) I find this 0 bytes file into /var/lib/asterisk/sounds/custom

Then I can manually change there the 0 bytes with the proper file.

So I think the problem is the impossibility to upload the right file into
but /tmp is world-wide writeble:

asterisk01:/tmp # ls -la
total 780
drwxrwxrwt 10 root root 4096 Mar 10 10:33 .

apache is running as asterisk user and asterisk groups

what else can I check ?


First off check actual case of the filename. While linux is case sensitive windows is not. So if you are uploading from windows to linux and you type unnumbered-ivrrecording.wav but the Actual name is Unnumbered-IVRrecording.wav or even unnumbered-ivrrecording.Wav Windows will provide the file but when it’s uploaded it will be a issue and fail.

I am not uploading a file named unnumbered-ivrrecording.Wav !

I am uploading a file named, i.e. MyWavFile.wav, and going to name it

unnumbered-ivrrecording is something intrrinsic to freepbx: if you try to delete
a System recording, you will notice that as a side effect a unnumbered-ivrrecording. (dotted without extension) file is created into the /tmp directory

The prefix “unnumbered” come from the fact that I didn’t choose an extension to record my System recording, otherwise it would be called 567-ivrrecording (supposing 567 the choosen ext).

I belive that there is some conceptual bug into the upload process, but before
posting a bug I would like to know if anybody could try to upload a System recording file via Freepbx (and see if it will be uploaded correctly !)


I’ve uploaded several in the last few years on 2.2, 2.3 and (the last two just a minute ago) all without a single issue. Deleted several, etc.

While deleting the file does move a copy of the file being deleted to the name unnumbered-ivrrecording. in /tmp and leave the actual recording in the proper location it does not have any impact on things operationally, even if you delete multiple ones.

Have you verified that the audio meets the requirements as stated on the system recording page?

Also check the user and group settings for everything under /var/lib/asterisk/sounds (this includes the custom folder where it moved them to) and make sure it’s asterisk:asterisk.

The problem is not on the target /var/lib/asterisk/sounds but on the upload
If you put a false unnumbered-ivrrecording.wav, the upload process seems ok:
you then find your false file moded to the target directory with appropriate right.
Then, if you manually substitute the false file under /var/lib/asterisk/sounds with the proper one, everythin is OK (meaning that the file is actually in the proper format, as you can perfectly listen to it conneting it to an IVR, i.e.)

The problem is something related to the apache upload process, I guess…
perhaps some module rights on the some php lib directory ?

The question is: is there any way to track the apache upload process ?
The apache error log shows that errors I posted, but they appear trivial to me…

what version of php are you running?

I don’t have any of those errors in my install and like I said it works just fine. I can’t get access to my one 2.5.x box at a remote office from my current location, but the uploads also worked when last I checked (we use the same IVR welcome at all offices).

How was this box built (OS, hand or distro, etc) as the path to the files is not the normal defaults which means that we can’t assume anything standard about this.

Also have you considered updating to the latest 2.5.2.x code first as reporting a possible bug on a older version of the current branch will get you the standard first response of please try latest code first please.

Starting from the bottom: I am not able to see any update I could do,
using tools, check for updates online.

If we focused on the, it is an

opensuse 11.0
asterisk: 1.4.23-rc3
php version is 5.2.6

relevant php info:
file_uploads On
upload_max_filesize 32M
upload_tmp_dir /tmp

FreePBX is installed in /srv/www/amp
(as I always did startig with AMP 1.0.8 in 2005)

In the past I succeded to upload system recordings, but having more than 50 asterisk servers installed in the last 4 years it is not easy to remember when and which were the os / freepbx versions…

meanwhile: I have no problem in uploading moh on the same server:
i.e. uploading a new mp3 for default moh, i get:

Error Processing: "High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See ‘README’ for more!

Directory: /var/lib/asterisk/mohmp3/
Playing MPEG stream from orig_Simon_Garfunkel_The_Sound_Of_Silence.mp3 …
e]0;orig_Simon_Garfunkel_The_Sound_Of_Silence.mp3aMPEG 1.0 layer III, 64 kbit/s, 44100 Hz mono

[4:14] Decoding of orig_Simon_Garfunkel_The_Sound_Of_Silence.mp3 finished.
sox soxio: Can’t open input file /var/lib/asterisk/mohmp3/orig_Simon_Garfunkel_The_Sound_Of_Silence.mp3': unknown file typemp3’" for Simon_Garfunkel_The_Sound_Of_Silence.mp3!
This is not a fatal error, your Music on Hold may still work.


apart from errors about decoding, the file is perfectly uploaded

It was a browser/screen/colors (?) issue, not showing “upload” button.
So I only pressed “save” button without actually prevoiously uploading
the file (!!!).

Changing browser solved.
So no bug at all, perfectly working.

thanks all,

Found this on a scratch-load Asterisk/FreePBX load I am working on - I had not adjusted the upload_max_filesize in /etc/php.ini - on a CentOS 5.4 scratch load, it was set to 2 Megs - put it to 32 Megs for good measure and the error went away.

FreePBX is amazing - when you machine is set up right, EVERYTHING works and works right!


/var/spool/asterisk/tmp/unnumbered-ivrrecording.wav make sure you uploaded or recorded a file with the entered extension

You need PCM, 16Bit, 8000HZ…
you cannot upload .Mp3 file…Convert it to .WAV file…
You can use Total Recorder for modification and edition…
type command
vi /etc/php.ini

; File Uploads ;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

Change upload_max_filesize = 20M

now write these changes through this command :wq