Код: Выделить всё
-- Структура таблицы `pbx_test`
--
CREATE TABLE `pbx_test` (
  `id` int(11) NOT NULL,
  `time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Индексы сохранённых таблиц
--
--
-- Индексы таблицы `pbx_test`
--
ALTER TABLE `pbx_test`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id` (`id`);
--
-- AUTO_INCREMENT для сохранённых таблиц
--
--
-- AUTO_INCREMENT для таблицы `pbx_test`
--
ALTER TABLE `pbx_test`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Код: Выделить всё
<?php
# --- define globals ---
$strhost = "127.0.0.1";
$strport = "5038";
$timeout = "10";
$errno=0 ;
$errstr=0 ;
$sconn = fsockopen ($strhost, $strport, $errno, $errstr, $timeout) or die("Connection to $strhost:$strport failed");
if (!$sconn) { echo "$errstr ($errno)<br>\n"; }
  else {
  fputs ($sconn, "Action: login\r\n");
  fputs ($sconn, "Username: *******\r\n");
  fputs ($sconn, "Secret: ***********\r\n");
  fputs ($sconn, "Events: off\r\n\r\n");
  usleep(300);
  fputs ($sconn, "Action: Originate\r\n");
  fputs ($sconn, "Channel: SIP/PBX1/888\r\n");
  fputs ($sconn, "Callerid: 888\r\n");
  fputs ($sconn, "Timeout: 30000\r\n");
  fputs ($sconn, "Context: testpbx\r\n");
  fputs ($sconn, "Exten: 700\r\n");
  fputs ($sconn, "Priority: 1\r\n\r\n");
  fputs ($sconn, "Async: yes\r\n\r\n" );
  fputs ($sconn, "Action: Logoff\r\n\r\n");
  usleep (300);
  fclose ($sconn);
  }
?>
Код: Выделить всё
#!/usr/bin/php
<?php
    // определяем начальные данные
    $db_host = '127.0.0.1';
    $db_name = '*****';
    $db_username = '*************';
    $db_password = '****************';
    // соединяемся с сервером базы данных
    $connect_to_db = mysql_connect($db_host, $db_username, $db_password)
    or die("Could not connect: " . mysql_error());
    // подключаемся к базе данных
    mysql_select_db($db_name, $connect_to_db)
    or die("Could not select DB: " . mysql_error());
    // выбираем значения из таблицы
    $qr_result = mysql_query("SELECT * FROM pbx_test ORDER BY id DESC LIMIT 1")
    or die(mysql_error());
     // выводим данные таблицы MySQL
    while($data = mysql_fetch_array($qr_result)){
    $settime = $data['time'] ; }
    // закрываем соединение с сервером  базы данных
    mysql_close($connect_to_db);
   // выводим системное время
    $systemtime=date("Y-m-d H:i:s");
  // сравниваем время
    $seconds = strtotime($systemtime) - strtotime($settime);
  //  echo $seconds;
  // Если разница более 150 сек выполняем действие
    if ($seconds > 150) mail("123@123.123", "PBX_Alarm", "Alarm Alarm");
?>
Код: Выделить всё
exten => 888,1,NoCDR()
exten => 888,2,Set(timetest=${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)})
exten => 888,3,MYSQL(Connect connid ****** **** ********* *******)
exten => 888,4,MYSQL(Query resultid ${connid} INSERT INTO pbx_test (`id`, `time`) VALUES (NULL, ${timetest}))
exten => 888,5,MYSQL(Disconnect ${connid})
exten => 888,6,Hangup
Код: Выделить всё
<?php
# --- define globals ---
$strhost = "127.0.0.1";
$strport = "5038";
$timeout = "10";
$errno=0 ;
$errstr=0 ;
$sconn = fsockopen ($strhost, $strport, $errno, $errstr, $timeout) or die("Connection to $strhost:$strport failed");
if (!$sconn) { echo "$errstr ($errno)<br>\n"; }
  else {
  fputs ($sconn, "Action: login\r\n");
  fputs ($sconn, "Username: *************\r\n");
  fputs ($sconn, "Secret: **************\r\n");
  fputs ($sconn, "Events: off\r\n\r\n");
  // usleep(300);
  fputs ($sconn, "Action: Originate\r\n");
  fputs ($sconn, "Channel: SIP/PBX1/888\r\n");
  fputs ($sconn, "Callerid: 888\r\n");
  fputs ($sconn, "Timeout: 30000\r\n");
  fputs ($sconn, "Context: testpbx\r\n");
  fputs ($sconn, "Exten: 700\r\n");
  fputs ($sconn, "Priority: 1\r\n\r\n");
  fputs ($sconn, "Async: yes\r\n\r\n" );
  fputs ($sconn, "Action: Logoff\r\n\r\n");
  sleep (1);
  fclose ($sconn);
  }
?>