Hi,
some people reported problems with the client not be able to copy, move or delete files. Whats the reason?
As stated in the
vmxml installation guide your webserver needs to be able to write into asterisk spool directory. Per default the asterisk voicemail spool directory (usually "/var/spool/asterisk/voicemail"

belongs to the user-id your asterisk server is running under. This is per default the user "asterisk" or "root". The webserver usually runs under its own user-id (i.e. www-data, apache) and is therefore not able to manipulate the voicemail files. Which is required for our "Tycho" client to work.
Now, how can you fix this? There are several ways to change this behaviour but most of them require a custom config to the asterisk source and recompilation. So those solutions are not practical for most of the voicemail users out there.
Luckily asterisks voicemail system offers a possebility to change the user-id without making changes to include-files/code.
Here are the instructions as pointed out on Voip-Info.Org:
QUOTE:
The externnotify approach
In order for a user to have access to their voicemail, something must be done to the files in /var/spool/asterisk/voicemail/. I added the command "chmod -R a+rw /var/spool/asterisk/voicemail/default/" in a script that is called whenever a voicemail is left. That script is referenced in voicemail.conf as "externnotify=". This will allow anyone to read/write the voicemail files. No one has a login to my asterisk server so I don't care. You might want to set up a group or something.
Here are the steps in more detail:
1. create a shell script named "chastowner.sh" somewhere in /usr/local/bin or /usr/bin with the follwing content:
| Code: |
#!/bin/bash
/bin/chgrp -R www-data /var/spool/asterisk/voicemail
/bin/chown -R www-data /var/spool/asterisk/voicemail
/bin/chmod -R 775 /var/spool/asterisk/voicemail
|
In this case "www-data" is the user-id the webserver is running under. If you use a differnt user-id you need to replace "www-data" with the according user-id!
2. Make the scrip executable using
| Code: |
chmod +x /usr/local/bin/chastowner.sh
|
3. Load "/etc/asterisk/voicemail.conf" into your editor of choice. Search for the follwing line:
| Code: |
; If you need to have an external program, i.e. /usr/bin/myapp
; called when a voicemail is left, delivered, or your voicemailbox
; is checked, uncomment this:
;externnotify=/usr/bin/myapp
|
now uncomment the ";externotify=.." line and edit like this
| Code: |
; If you need to have an external program, i.e. /usr/bin/myapp
; called when a voicemail is left, delivered, or your voicemailbox
; is checked, uncomment this:
externnotify=/usr/local/bin/chastowner.sh
|
Execute the script once manually as root:
| Code: |
/usr/local/bin/chastowner.sh
|
and reload asterisk. Thats it.<br><br>Post edited by: voiphead, at: 2006/10/21 10:42