Длительность ожидания клиента на линии

Задача: вычислить и записать в поле звонка, какое количество времени клиент ожидал ответа на линии.

Как реализовать

В веб-интерфейсе настройки модуля (http://<Asterisk IP>:8077/config):

  1. Установите галочку "Включить кастомизацию".

  2. Установите галочку на пункте "полей дела".

3. Отредактируйте файл кастомизации.

Кастомизация настраивается в файле /opt/itgrix_bx/customizer/actions/customize_activity.php.

Для версий ДО 3.4.0 этот файл находится в каталоге /opt/itgrix_bx/custom/

Параметры дела, которые доступны для редактирования, описаны в статье.

$activityFields = array();
if ($params['was_answered'] == false) { // missed
$key = $params['type'] == 3 ? 'to' : 'from'; // 2 = incoming
$activityFields['SUBJECT'] = 'Пропущенный от ' . $params[$key];
} else {
$start_time = date_create($params["start_time"]);
$answer_time = date_create($params["answer_time"]);
$end_time = date_create($params["end_time"]);
$wait_time_sec = $answer_time->getTimestamp() - $start_time->getTimestamp();
$duration_time = $end_time->diff($answered_at)->format("%i мин, %s сек.");
$activityFields['DESCRIPTION'] = "Длительность звонка: " . $duration_time .
" Время ожидания ответа : " . $wait_time_sec . " сек.";
}
return array(
'state' => 'success',
'data' => $activityFields,
);