Первый - штатными средствами астериск. Создаем файл дозвона. Как пример:
Код: Выделить всё
// При красном статусе формируем файл для дозвона и оповещения
if (gg("Security.stateColor") == "red") {
$calltmp = "/var/spool/asterisk/tmp/security_red.call";
$calldir = "/var/spool/asterisk/outgoing/security_red.call";
$callnumber = "SIP/200";
$dirmessage = "/var/www/cached/voice/";
$message = (md5("Статус системы безопасности изменился на ".gg("Security.stateTitle").". ".implode(". ",gg("Security.stateDetails"))));
$callfile = fopen ($calltmp, "w");
fwrite ($callfile,"Channel: $callnumber\n");
fwrite ($callfile,"Callerid: 299\n");
fwrite ($callfile,"MaxRetries: 2\n");
fwrite ($callfile,"RetryTime: 60\n");
fwrite ($callfile,"WaitTime: 60\n");
fwrite ($callfile,"Context: majordomo\n");
fwrite ($callfile,"Extension: s\n");
fwrite ($callfile,"Priority: 1\n");
fwrite ($callfile,"Set: playfile=$dirmessage$message\n");
fwrite ($callfile,"Archive: Yes\n");
fclose($callfile);
copy ($calltmp,$calldir);
};
Код: Выделить всё
$param = array (
"command" => "Command",
"option" => "('dongle ussd dongle0 *110*10#')",
);
$response = callMethod ('Asterisk.Action',$param);
if ($response['Response'] != 'Success')
{
say ('Не удалось выполнить комманду',1);
} else
{
say("Удачное выполнение комманды",1);
}