Мониторинг звонков

Мониторинг звонков (адрес /calls) — пульт реального времени для руководителя. Видно, кто прямо сейчас разговаривает, кто свободен, какой счётчик звонков за сегодня и какие пропущенные накопились с утра. Страница обновляется автоматически каждые 10 секунд — можно держать вкладку открытой как дашборд.

Зачем нужен мониторинг

  • Видеть нагрузку «здесь и сейчас». Сколько разговоров идёт прямо в эту секунду, кто на линии, кто звонит, у кого уже минут 10 одна и та же беседа.
  • Реагировать на пропущенные на лету. Список пропущенных за сегодня — на одной странице. Не надо листать журнал и фильтровать, всё уже отобрано.
  • Управлять качеством через супервайзинг. Прямо из таблицы активных звонков можно прослушать разговор тихо, подсказать сотруднику (клиент не услышит) или подключиться к разговору третьим участником.
  • Считать SLA. Уровень обслуживания (% входящих, отвеченных за ≤20 секунд) считается в реальном времени за сегодня — типичный KPI колл-центра.
  • Контролировать готовность смены. Список сотрудников с цветовыми статусами «В сети / Звонит / В разговоре / Не в сети» — мгновенно видно, кто на месте, а у кого софтфон не запущен.

Что на странице

1. Счётчики за сегодня

Сверху — пять карточек, рассчитанные с начала текущих суток (московское время):

  • Всего сегодня — общее число звонков.
  • Отвечено — со статусом ANSWERED.
  • Пропущено — всё, что не ANSWERED (NO ANSWER / BUSY / FAILED).
  • Среднее ожидание — сколько в среднем клиент ждал ответа (мм:сс).
  • Уровень обслуживания (SLA) — круговая диаграмма: процент входящих, ответивших быстрее 20 секунд.

2. Активные звонки сейчас

Таблица всех текущих разговоров и попыток дозвона на стороне АТС (источник — Asterisk REST Interface, не CDR). Колонки: канал, состояние, кто звонит, кому, длительность (тикает в реальном времени), действия.

Состояния: Звонит, Набор, В разговоре, Закрыт.

Кнопки супервайзинга

В строке активного звонка — три кнопки. При клике АТС поднимает звонок к супервайзеру (на тот софтфон/устройство, что выбрано основным) и подключает его к разговору в нужном режиме:

  • 🎧 Прослушать (тихо) — режим listen (код *44). Супервайзер слышит обоих, его не слышит никто. Стандартное прослушивание для контроля качества.
  • 🎤 Суфлировать — режим whisper (*45). Слышит обоих, но его слышит только сотрудник. Клиент остаётся в неведении. Удобно подсказывать новичку.
  • 👥 Подключиться к разговору — режим barge (*46). Полноценная конференция трёх: супервайзер слышит и говорит, его слышат и сотрудник, и клиент.

Чтобы кнопки работали, у руководителя должен быть указан внутренний номер (extension). К чужому собственному звонку подключиться нельзя — кнопка выдаст ошибку.

3. Сотрудники

Слева внизу — список всех сотрудников (extensions) тенанта со статусом «прямо сейчас»:

  • В сети — софтфон/телефон зарегистрирован, готов принимать звонки.
  • Не в сети — нет регистрации, входящий не дозвонится.
  • Звонит — на устройство сотрудника поступает входящий, ещё не снял.
  • Набирает номер — сотрудник кому-то звонит, ответа ещё нет.
  • В разговоре — занят активной беседой.

Транк-каналы провайдеров и системные endpoints в этот список не попадают — только реальные сотрудники.

4. Пропущенные сегодня

Справа внизу — последние 10 пропущенных входящих от внешних номеров (внутренние ext→ext исключаются — они не клиенты). Колонки: время, номер, CallerID (если отличается от номера), статус (Без ответа / Занято / Сбой).

Это компактная замена ручному фильтру в Журнале для случая «прямо сейчас разобрать утренние пропущенные».

5. История за сегодня

Внизу страницы — последние 20 завершённых звонков сегодня в обратном хронологическом порядке. Колонки: время, тип (Вх./Исх./Внутр.), от, куда, статус, время ожидания, время разговора. Кнопка «Открыть полную статистику» ведёт в Журнал звонков с расширенными фильтрами.

Доступ и роли

  • Раздел появляется в меню только если у тенанта включена функция «Мониторинг» (feature_monitoring).
  • Просмотр требует разрешения calls.view; супервайзинг (кнопки прослушки) — calls.edit.
  • У ролей Руководитель отдела и Руководитель компании оба разрешения есть из коробки.
  • У Сотрудника доступ к мониторингу также есть, но без права супервайзинга — кнопки прослушки не сработают, если в роли нет calls.edit. Учтите при настройке роли под свои нужды.

Технические детали

  • Источник live-данных: Asterisk REST Interface (ARI). Каналы и endpoints запрашиваются у АТС в реальном времени, без кэша.
  • Источник счётчиков и истории: таблица журнал звонков с фильтром calldate >= date_trunc('day', now()). Видимость ограничена RLS по тенанту.
  • Авторефреш: JS-таймер каждые 10 секунд дёргает /calls/live.json и обновляет таблицы и счётчики без перезагрузки страницы.
  • Длительность активного звонка тикает в строке посекундно — используется поле creationtime канала.
  • Spy-механика — стандартные Asterisk-feature-коды ChanSpy: *44 прослушка, *45 с whisper, *46 barge. Супервайзер не вмешивается в существующий канал — АТС создаёт ему новый канал и склеивает с целью.

Связанные разделы