#!/usr/bin/php
<?php
$in = $argv[1];
$out = $argv[2];
$file = $argv[3];
$recopts = 0;
system ("soxmix $in $out $file");
system ("rm $in");
system ("rm $out");
$link = mysql_connect("localhost","username","password");
$query = "SELECT * FROM `system`";
$result = mysql_db_query("database", $query);
if ($result) {
while ($r = mysql_fetch_array($result)) {
$mailserv = $r["email-server"];
$servname = $r["server-name"];
}
}
list($label, $extn, $ddi, $dialled, $datetime, $type, $user, $id) = explode("-", $file);
$date = substr($datetime,0,2) . "/" . substr($datetime,2,2) . "/" . substr($datetime,4,2);
$time = substr($datetime,6,2) . ":" . substr($datetime,8,2) . ":" . substr($datetime,10,2);
$query = "SELECT * FROM `users` WHERE `extn` = '$user'";
$result = mysql_db_query("database", $query);
if ($result) {
while ($r = mysql_fetch_array($result)) {
$recemail = $r["rec-email"];
$recopts = $r["rec-opts"];
system ("mkdir /var/www/recordings/$user");
}
}
mysql_close($link);
$from = "Recordings@" . $servname . ".pbx";
$reply = $recemail;
$filename = "/tmp/rec2vm.txt";
$url = "http://" . $servname . "/recordings/index.php";
switch ($recopts) {
case 0:
exit;
break;
case 1:
$subject = "Recorded message alert";
$fh = fopen ($filename, 'w');
fwrite ($fh, "This is an automated message from $servname.\n\n");
fwrite ($fh, "You have the following recorded file on the server:\n\n");
fwrite ($fh, "Party 1 : $extn.\n");
if ($dialled) {
fwrite ($fh, "Party 2 : $dialled.\n");
}
fwrite ($fh, "Date recorded : $date.\n");
fwrite ($fh, "Time recorded : $time.\n\n");
fwrite ($fh, "NOTE : The recording can be reached by logging in here : $url.\n\n");
fwrite ($fh, "Thanks,\n$servname.\n");
fclose ($fh);
system ("sendEmail -f $from -t $recemail -s $mailserv -u $subject -o reply-to=$reply -o message-file=/tmp/rec2vm.txt");
system ("rm $filename");
system ("mv $file /var/www/recordings/$user/");
break;
case 2:
$subject = "Recorded message copied";
$fh = fopen ($filename, 'w');
fwrite ($fh, "This is an automated message from $servname.\n\n");
fwrite ($fh, "You have the following recorded file attached:\n\n");
fwrite ($fh, "Party 1 : $extn.\n");
if ($dialled) {
fwrite ($fh, "Party 2 : $dialled.\n");
}
fwrite ($fh, "Date recorded : $date.\n");
fwrite ($fh, "Time recorded : $time.\n\n");
fwrite ($fh, "NOTE : The recording can also be reached by logging in here : $url.\n\n");
fwrite ($fh, "Thanks,\n$servname.\n");
fclose ($fh);
system ("sendEmail -f $from -t $recemail -s $mailserv -a $file -u $subject -o reply-to=$reply -o message-file=/tmp/rec2vm.txt");
system ("rm $filename");
system ("mv $file /var/www/recordings/$user/");
break;
case 3:
$subject = "Recorded message forwarded";
$fh = fopen ($filename, 'w');
fwrite ($fh, "This is an automated message from $servname.\n\n");
fwrite ($fh, "You have the following recorded file attached:\n\n");
fwrite ($fh, "Party 1 : $extn.\n");
if ($dialled) {
fwrite ($fh, "Party 2 : $dialled.\n");
}
fwrite ($fh, "Date recorded : $date.\n");
fwrite ($fh, "Time recorded : $time.\n\n");
fwrite ($fh, "NOTE : The server file has been deleted.\n\n");
fwrite ($fh, "Thanks,\n$servname.\n");
fclose ($fh);
system ("sendEmail -f $from -t $recemail -s $mailserv -a $file -u $subject -o reply-to=$reply -o message-file=/tmp/rec2vm.txt");
system ("rm $filename");
system ("rm $file");
break;
}
?>
It’s a crude rough-and-ready solution - but it works for me. If anyone ‘improves’ on it - please post up
.
The ‘index.php’ bit is simply a file that lists the contents of the extensions directory (to retrieve old recordings etc.)
Oh, and it uses MySQL tables of course (you could simply put static values in here if you wish).
cheers