I am struggling with this problem. In Asterisk, I need to execute an external script after leaving a voicemail message. For this, I enabled externnotify in voicemail.conf but it was not working. So I searched in C code and found the related code. The command that executes the external script is:
execl("/bin/sh", "/bin/sh", "-c", s, (char *) NULL);
in which s is /usr/bin/myscript.sh default 2000 12 8 0 &
.
excel runs in child process successfully but the script myscript.sh
which is:
#!/bin/sh
CONTEXT=$1
EXTEN=$2
NUMVMS=$3
echo "$CONTEXT $EXTEN $NUMVMS" > /home/testfile
is not executed. The strange part is I wrote another C file and put the execl command in it and it executes my script successfully. I replaced execl
with system
command but no success again. Which part have I done wrong?