On Tue, 17 Apr 2007, Gustavo Felisberto wrote:

I'm using asterisk 1.2.14

When asterisk stores voicemail messages in
/var/spool/asterisk/voicemail/default/EXTENSION/INBOX files are created with:

-rwx------ 1 asterisk web-aster   6690 Apr 17 16:08 msg0002.WAV
-rwx------ 1 asterisk web-aster   6732 Apr 17 16:08 msg0002.gsm
-rw------- 1 asterisk web-aster    274 Apr 17 16:08 msg0002.txt
-rwx------ 1 asterisk web-aster  65324 Apr 17 16:08 msg0002.wav

I needed the files to have modes 660. I tried setting up umask in the script
that starts asterisk and that did not help. After some searches I found that the
apps/app_voicemail.c sets a define about this:

#define VOICEMAIL_FILE_MODE     0600

that is used in:

if ((ofd = open(outfile, O_WRONLY | O_TRUNC | O_CREAT, VOICEMAIL_FILE_MODE)) < 
0)


But no matter what I set in there I always get the files created the same way.

Any ideas?

Yes.

in app_voicemail.c, you've already found the #define, but you might also want to add:

                fchmod (txtdes, 0660) ;

after line 2615.

ie. before the comment line:

                  /* Now play the beep once we have the message number for our 
next message. */

You also need to edit app.c: round about line 600, change:

        others[x] = ast_writefile(recordfile, sfmt[x], comment, O_TRUNC, 0, 
0700);

into:

        others[x] = ast_writefile(recordfile, sfmt[x], comment, O_TRUNC, 0, 
0660);

Enjoy!

(I did this to enable a web based php voicemail system to work without requiring it to be suidperl - I'm guessing you're doing sometime similar!)

Gordon
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to