Добрый день!
А не подскажите ли, от чего такое странное поведение Приложения диалплана?
Есть очередь, в которой указываю, что если звонящий ждет 30 сек, то звонок идет на приложение диалплана, на PHP.
Приложение отправляет мне письмо на почту и разрывает связь – hangup.
Вот текст:
<?php
use MikoPBX\Core\Asterisk\AGI;
use MikoPBX\Core\System\Notifications;
require_once 'Globals.php';
$agi = new AGI();
$DATETIME = $agi->get_variable("DATETIME", true);
$DATETIME = new DateTime();
$agi_callerid = $agi->request['agi_callerid'];
$body = "{$DATETIME->format('Y_m_d H_i_s')}&{$agi_callerid}";
Notifications::sendMail("адрес@почты.ru", "пропущен звонок", $body);
$agi->hangup();
?>
Так вот, через указанное в очереди время (30 сек) на почту приходит письмо, но вызов продолжается, и только через ещё 30 секунд приходит еще одно письмо и вызов завершается.
Пробовал вместо 30 сек, ставить в очереди 15 сек, поведение аналогичное, но с интервалом в 15 секунд.
Если скрипт поменяю на такой:
<?php
use MikoPBX\Core\Asterisk\AGI;
require_once 'Globals.php';
$agi = new AGI();
$agi->hangup();
?>
то просто разрыв связи происходит через удвоенное время, указанное в очереди.
Версия MikoPBX 2021.1.54