<?php require 'phpagi.php'; function GetVarChannnel($agi, $_varName) { $v = $agi->get_variable($_varName); if (!$v['result'] == 0) { $agi->verbose($_varName . ' ---> ' . $v['data'], 10); return $v['data']; } else { $agi->verbose($_varName . ' not set', 10); return ""; } } // GetVarChannnel($_agi, $_varName) $agi = new AGI(); $number = GetVarChannnel($agi, "CALLERID(num)"); $mytime = GetVarChannnel($agi, "STRFTIME({$EPOCH},,%Y.%m.%d-%H:%M:%S)"); // $telegram_bot = // $chat_id = $textMessage = "Пропущенный звонок: " . $number . " (" . $mytime . ")"; $content = file_get_contents("https://api.telegram.org/bot124384686:AAF_WfHdzZT0fqOgSIwXRb63eLtO3IxUelI/sendMessage?chat_id=-10651220&text=" . $textMessage, true); ?>
if (!$v['result'] == 0) { return $v['data']; } else { return ""; } } $agi = new AGI(); $EXTEN = GetVarChannnel($agi, "EXTEN"); if ($EXTEN == "h") { // это особенность работы с Askozia, для избежания зацикливания // http://igorg.ru/2011/10/22/askozia-opyt-ispolzovaniya } else { $src = GetVarChannnel($agi, 'v1'); $faxrecfile = GetVarChannnel($agi, 'v2'); $quantity = GetVarChannnel($agi, 'v3'); $from_id = GetVarChannnel($agi, 'v4'); if (strlen($faxrecfile) <= 4 && strlen($src) >= 4) { // 1.Формируем запрос $disk = storage_service_is_active("astlogs"); // проверим, есть ли временная база // если есть, то запросы к ней $cdr_db = $disk['mountpoint'] . "/askoziapbx/astlogs/asterisk/master.db"; $zapros = "SELECT\n AcctId,\n uniqueid,\n start,\n answer,\n end,\n duration,\n billsec,\n recordingfile\n FROM cdr\n WHERE recordingfile!=''\n AND src='{$src}'\n ORDER BY start DESC\n LIMIT {$quantity}"; // 2. Выполняем запрос // $faxrecfile = rtrim(exec("sqlite3 $cdr_db \"$zapros\"")); $output = array(); $agi->verbose("Start request!"); $answer = exec("sqlite3 {$cdr_db} \"{$zapros}\"", $output); } $counter = 1; $lines = "";