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

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

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

В веб-интерфейсе настройки модуля (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,
);

Last updated