·16 мин·3 просмотров

Аналитика Asterisk для BPO и аутсорсинговых колл-центров: полное руководство

Как построить мультиклиентскую аналитику для аутсорсингового колл-центра на Asterisk. Контроль SLA, автоматические отчёты клиентам, оценка работы операторов.

A
Astervis
Команда инженеров и продактов

Любой BPO на Asterisk живёт с одним и тем же незаметным кризисом: клиенты требуют доказательств, что вы укладываетесь в SLA, руководителю операций нужна картина по всем кампаниям в реальном времени, а операторам — мгновенная обратная связь по своим показателям. При этом большинство BPO до сих пор обходится вечерними выгрузками в Excel или самодельными дашбордами в Grafana, на сборку которых ушло 200 часов.

В этом руководстве разберём по шагам, как построить аналитическую инфраструктуру для аутсорсингового колл-центра на Asterisk — от контроля SLA по каждому клиенту до автоматических отчётов, оценки работы операторов и оптимизации выручки.

Чем аналитика BPO отличается от внутреннего колл-центра

Внутренний колл-центр считает метрики для одной организации. BPO ведёт сразу несколько клиентов, и у каждого по-своему устроено:

ПараметрВнутренний колл-центрBPO
Цели по SLAОдин набор целейСвои по каждому клиентскому договору
Конфигурация очередейЕдиные очередиРаздельные очереди под каждую кампанию
Распределение операторовФиксированные командыОбщие операторы на несколько кампаний
ОтчётностьВнутренние дашбордыОтчёты для клиента + внутренняя операционка
БиллингНе применяетсяЗа минуту, за звонок или за рабочее место
Изоляция данныхОдин арендаторМультиарендность со строгими границами
КомплаенсОдна нормативная рамкаНесколько (зависит от отрасли клиента)

Из этой сложности вырастают требования к аналитике, которые обычные средства мониторинга просто не закрывают. Большинство решений для Asterisk рассчитаны на одного арендатора. BPO же нужна многомерная аналитика, которая одновременно режет данные по клиенту, кампании, очереди и периоду.

12 KPI, которые обязан считать каждый BPO (и что они значат на практике)

KPI для клиента (то, что уходит в отчёты)

Эти метрики напрямую влияют на удовлетворённость клиента и продление контракта:

KPIФормулаЦель для BPOПочему это важно
Service LevelЗвонки, принятые за X секунд ÷ Всего звонков × 100По договору (обычно 80/20 или 80/30)Главная метрика SLA. За невыполнение — штрафы.
Средняя скорость ответа (ASA)Общее время ожидания ÷ Принятые звонки< 30 секундПоказатель качества, видимый клиенту
Процент потерянных звонковПотерянные ÷ Все входящие × 100< 5%Индикатор упущенной выручки
Решение с первого звонка (FCR)Решено с первого раза ÷ Всего звонков × 100> 70%Экономия затрат и лояльность
Среднее время обработки (AHT)(Разговор + Удержание + ACW) ÷ Всего звонковЗависит от кампанииОпределяет себестоимость звонка
CSATСредняя оценка в опросе после звонка> 4.0/5.0Метрика удержания клиента

Операционные KPI (внутреннее управление BPO)

KPIФормулаЦель для BPOПочему это важно
Загрузка оператора(Время обработки ÷ Время в системе) × 10075-85%Оптимизация выручки на рабочее место
Соблюдение расписанияВремя по графику ÷ Запланированное время × 100> 95%Точность планирования персонала
Себестоимость звонкаОбщие затраты кампании ÷ Обработанные звонкиЗависитРентабельность контракта
Выручка на место в часВыручка кампании ÷ (Операторы × Часы)Смотреть динамикуМетрика здоровья бизнеса
OccupancyВремя обработки ÷ (Время обработки + Свободное время) × 10080-90%Планирование мощностей
ShrinkageНепродуктивное время ÷ Оплаченное время × 100< 30%Реальная доступная мощность

Формула рентабельности BPO

Margin per campaign = (Revenue per seat hour × Seats × Hours) - (Agent cost + Infrastructure + Overhead)

Считайте это ежедневно. Если маржа кампании опускается ниже 15%, разбирайтесь сразу: либо просела загрузка операторов, либо ползёт вверх AHT, либо контракт пора пересматривать.

Архитектура очередей под несколько клиентов в Asterisk

Фундамент BPO-аналитики — грамотная сегментация очередей. Вот архитектура, готовая к продакшену:

Соглашение об именовании очередей

; Format: {client}_{campaign}_{type} ; Examples: [acme_sales_inbound] ; Acme Corp - Sales - Inbound [acme_support_inbound] ; Acme Corp - Support - Inbound [globex_billing_inbound] ; Globex Inc - Billing - Inbound [globex_collections_outbound] ; Globex Inc - Collections - Outbound

queues.conf — настройка под нескольких клиентов

; === Client: Acme Corp === ; Contract: 80/20 SLA, max 3 min wait [acme_sales_inbound] strategy = rrmemory timeout = 15 retry = 5 maxlen = 50 servicelevel = 20 weight = 2 announce-frequency = 30 announce-holdtime = once monitor-format = wav eventwhencalled = vars eventmemberstatus = yes [acme_support_inbound] strategy = leastrecent timeout = 20 retry = 5 maxlen = 30 servicelevel = 30 weight = 1 ; === Client: Globex Inc === ; Contract: 80/30 SLA, max 5 min wait [globex_billing_inbound] strategy = rrmemory timeout = 20 retry = 5 maxlen = 40 servicelevel = 30 weight = 1 [globex_collections_outbound] strategy = linear timeout = 25 retry = 3 maxlen = 0

Назначение операторов через penalty

; agents.conf or queue members ; Shared agents across campaigns with skill-based routing ; Agent 101: Primary Acme Sales, Secondary Globex Billing member => SIP/101,1,Agent101,SIP/101 ; Acme Sales (penalty 1 = primary) member => SIP/101,3,Agent101,SIP/101 ; Globex Billing (penalty 3 = overflow) ; Agent 102: Primary Globex, Secondary Acme member => SIP/102,1,Agent102,SIP/102 ; Globex Billing (primary) member => SIP/102,3,Agent102,SIP/102 ; Acme Sales (overflow)

SQL-запросы для аналитики по нескольким клиентам

Все запросы работают со стандартными CDR/queue_log Asterisk в PostgreSQL (или в MySQL с небольшими правками).

1. Дашборд SLA по клиентам в реальном времени

-- Real-time SLA compliance per client (today) WITH queue_clients AS ( SELECT CASE WHEN queuename LIKE 'acme_%' THEN 'Acme Corp' WHEN queuename LIKE 'globex_%' THEN 'Globex Inc' WHEN queuename LIKE 'initech_%' THEN 'Initech LLC' ELSE 'Unknown' END AS client, queuename, event, data1::int AS wait_time, time FROM queue_log WHERE time >= CURRENT_DATE AND event IN ('CONNECT', 'ABANDON', 'EXITWITHTIMEOUT') ), sla_calc AS ( SELECT client, COUNT(*) FILTER (WHERE event = 'CONNECT') AS answered, COUNT(*) FILTER (WHERE event = 'CONNECT' AND wait_time <= 20) AS answered_in_sla, COUNT(*) FILTER (WHERE event IN ('ABANDON', 'EXITWITHTIMEOUT')) AS abandoned, COUNT(*) AS total_calls, ROUND(AVG(wait_time) FILTER (WHERE event = 'CONNECT'), 1) AS avg_speed_answer, MAX(wait_time) AS max_wait FROM queue_clients GROUP BY client ) SELECT client, total_calls, answered, abandoned, ROUND(100.0 * answered_in_sla / NULLIF(answered, 0), 1) AS sla_pct, ROUND(100.0 * abandoned / NULLIF(total_calls, 0), 1) AS abandon_pct, avg_speed_answer AS asa_seconds, max_wait AS longest_wait FROM sla_calc ORDER BY client;

2. Работа операторов в разрезе кампаний

-- Which agents are most productive across which campaigns? SELECT agent, CASE WHEN queuename LIKE 'acme_%' THEN 'Acme Corp' WHEN queuename LIKE 'globex_%' THEN 'Globex Inc' ELSE 'Other' END AS client, COUNT(*) FILTER (WHERE event = 'CONNECT') AS calls_handled, ROUND(AVG(data2::int) FILTER (WHERE event = 'COMPLETECALLER' OR event = 'COMPLETEAGENT'), 0) AS avg_talk_time, ROUND(AVG(data1::int) FILTER (WHERE event = 'CONNECT'), 0) AS avg_wait_given, COUNT(*) FILTER (WHERE event = 'RINGNOANSWER') AS missed_calls FROM queue_log WHERE time >= CURRENT_DATE - INTERVAL '7 days' AND event IN ('CONNECT', 'COMPLETECALLER', 'COMPLETEAGENT', 'RINGNOANSWER') GROUP BY agent, client ORDER BY client, calls_handled DESC;

3. Почасовая тепловая карта кампании

-- Call volume and SLA by hour per campaign (for staffing optimization) SELECT EXTRACT(HOUR FROM time) AS hour, queuename AS campaign, COUNT(*) AS total_calls, COUNT(*) FILTER (WHERE event = 'CONNECT') AS answered, COUNT(*) FILTER (WHERE event = 'ABANDON') AS abandoned, ROUND(100.0 * COUNT(*) FILTER (WHERE event = 'CONNECT' AND data1::int <= 20) / NULLIF(COUNT(*) FILTER (WHERE event = 'CONNECT'), 0), 1) AS sla_pct, ROUND(AVG(data1::int) FILTER (WHERE event = 'CONNECT'), 0) AS asa FROM queue_log WHERE time >= CURRENT_DATE AND event IN ('CONNECT', 'ABANDON', 'EXITWITHTIMEOUT') GROUP BY hour, campaign ORDER BY campaign, hour;

4. Выручка и рентабельность по кампаниям

-- Campaign profitability analysis (requires billing config table) WITH campaign_billing AS ( -- Replace with your actual billing rates SELECT 'acme_sales_inbound' AS queue, 0.85 AS rate_per_minute, 'per_minute' AS model UNION ALL SELECT 'globex_billing_inbound', 1.20, 'per_minute' UNION ALL SELECT 'initech_support_inbound', 15.00, 'per_call' ), call_stats AS ( SELECT queuename, COUNT(*) FILTER (WHERE event IN ('COMPLETECALLER', 'COMPLETEAGENT')) AS completed_calls, SUM(data2::int) FILTER (WHERE event IN ('COMPLETECALLER', 'COMPLETEAGENT')) AS total_talk_seconds FROM queue_log WHERE time >= DATE_TRUNC('month', CURRENT_DATE) AND event IN ('COMPLETECALLER', 'COMPLETEAGENT') GROUP BY queuename ) SELECT cs.queuename AS campaign, cs.completed_calls, ROUND(cs.total_talk_seconds / 60.0, 0) AS total_minutes, cb.model AS billing_model, CASE WHEN cb.model = 'per_minute' THEN ROUND(cs.total_talk_seconds / 60.0 * cb.rate_per_minute, 2) WHEN cb.model = 'per_call' THEN cs.completed_calls * cb.rate_per_minute END AS estimated_revenue FROM call_stats cs JOIN campaign_billing cb ON cs.queuename = cb.queue ORDER BY estimated_revenue DESC;

5. Оповещение о нарушении SLA у клиента

-- Detect campaigns at risk of SLA breach (rolling 30-minute window) WITH rolling AS ( SELECT queuename, COUNT(*) FILTER (WHERE event = 'CONNECT' AND data1::int <= 20) AS in_sla, COUNT(*) FILTER (WHERE event = 'CONNECT') AS answered, COUNT(*) FILTER (WHERE event = 'ABANDON') AS abandoned FROM queue_log WHERE time >= NOW() - INTERVAL '30 minutes' AND event IN ('CONNECT', 'ABANDON', 'EXITWITHTIMEOUT') GROUP BY queuename ) SELECT queuename AS campaign, ROUND(100.0 * in_sla / NULLIF(answered, 0), 1) AS current_sla, abandoned, CASE WHEN 100.0 * in_sla / NULLIF(answered, 0) < 70 THEN 'CRITICAL' WHEN 100.0 * in_sla / NULLIF(answered, 0) < 80 THEN 'WARNING' ELSE 'OK' END AS status FROM rolling WHERE answered > 0 ORDER BY current_sla ASC;

Автоматическая отчётность для клиентов

Клиенты BPO ждут регулярных отчётов. Вот как их автоматизировать:

Структура еженедельного отчёта

В каждом клиентском отчёте должны быть такие разделы:

  1. Краткая сводка — выполнение SLA, общее число звонков, ключевые моменты
  2. Выполнение Service Level — график SLA по дням, план против факта
  3. Анализ объёма звонков — распределение по часам, пики, тренды
  4. Работа операторов — лучшие и худшие, рекомендации по обучению
  5. Метрики качества — FCR, CSAT, доля переводов
  6. Рекомендации — предложения по улучшению, основанные на данных

Формирование отчётов через SQL

-- Weekly executive summary for client report SELECT DATE(time) AS report_date, COUNT(*) FILTER (WHERE event IN ('CONNECT', 'ABANDON')) AS total_offered, COUNT(*) FILTER (WHERE event = 'CONNECT') AS total_answered, COUNT(*) FILTER (WHERE event = 'ABANDON') AS total_abandoned, ROUND(100.0 * COUNT(*) FILTER (WHERE event = 'CONNECT') / NULLIF(COUNT(*) FILTER (WHERE event IN ('CONNECT', 'ABANDON')), 0), 1) AS answer_rate, ROUND(100.0 * COUNT(*) FILTER (WHERE event = 'CONNECT' AND data1::int <= 20) / NULLIF(COUNT(*) FILTER (WHERE event = 'CONNECT'), 0), 1) AS sla_pct, ROUND(AVG(data1::int) FILTER (WHERE event = 'CONNECT'), 0) AS avg_wait_sec, ROUND(AVG(data2::int) FILTER (WHERE event IN ('COMPLETECALLER', 'COMPLETEAGENT')), 0) AS avg_talk_sec FROM queue_log WHERE queuename LIKE 'acme_%' AND time >= CURRENT_DATE - INTERVAL '7 days' AND event IN ('CONNECT', 'ABANDON', 'COMPLETECALLER', 'COMPLETEAGENT') GROUP BY DATE(time) ORDER BY report_date;

Bash-скрипт для автоматических PDF-отчётов

#!/bin/bash # generate_client_report.sh — Run weekly via cron # Requires: psql, python3, wkhtmltopdf CLIENT="acme" WEEK_START=$(date -d "last monday" +%Y-%m-%d) WEEK_END=$(date -d "last sunday" +%Y-%m-%d) REPORT_DIR="/var/reports/${CLIENT}/${WEEK_START}" mkdir -p "$REPORT_DIR" # Extract data psql -h localhost -U asterisk -d asterisk_cdr -t -A -F',' \ -c "SELECT DATE(time), COUNT(*) FILTER (WHERE event='CONNECT'), COUNT(*) FILTER (WHERE event='ABANDON'), ROUND(AVG(data1::int) FILTER (WHERE event='CONNECT'),0) FROM queue_log WHERE queuename LIKE '${CLIENT}_%' AND time BETWEEN '${WEEK_START}' AND '${WEEK_END}' GROUP BY DATE(time) ORDER BY 1" \ > "${REPORT_DIR}/daily_stats.csv" echo "Report generated: ${REPORT_DIR}" # Convert to PDF, email to client contact

Пять дашбордов, без которых BPO не обойтись

1. Wallboard SLA по клиентам (реальное время)

Зачем: большой экран, на котором видно живой статус SLA по всем клиентам.

ВиджетСодержаниеОбновление
Карточки SLA по клиентамТекущий % SLA с зелёным/жёлтым/краснымКаждые 10 секунд
Глубина очередиСколько абонентов ждёт в каждой кампанииВ реальном времени
Самое долгое ожиданиеТекущий максимум времени ожиданияВ реальном времени
Сетка статусов операторовСвободен / В разговоре / ACW / Не в сетиВ реальном времени
Счётчик потерянныхСкользящее число потерь за 30 минутКаждую минуту

2. Операционный дашборд кампаний

Зачем: взгляд руководителя операций для перераспределения ресурсов между кампаниями.

ВиджетСодержание
Таблица сравнения кампанийSLA, ASA, AHT, загрузка бок о бок
Матрица распределения операторовКто из операторов на какой кампании
Оповещения о перегрузкеКампании, которым нужны дополнительные операторы
Почасовой прогноз против фактаПрогнозируемый и фактический объём звонков

Устали угадывать, что происходит в очередях?

Astervis даёт 30+ реалтайм-графиков, KPI операторов и CRM-интеграцию для вашего Asterisk PBX. On-premise. Установка за 5 минут. От $119/мес flat без ограничения на операторов.

Попробовать бесплатно

3. Рейтинг операторов

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

ВиджетСодержание
Топ-10 операторов (по звонкам)Рейтинг по количеству за сегодня
Лидеры по качествуЛучший FCR, самый короткий AHT
Флаги для наставничестваОператоры с высокой долей переводов или долгим ACW
Учёт входов и перерывовТекущий статус и время в каждом состоянии

4. Финансовый дашборд

Зачем: взгляд CFO/CEO на рентабельность BPO.

ВиджетСодержание
Выручка по кампаниямВыручка с начала месяца по каждому клиенту
Динамика себестоимости звонкаЛиния тренда за 30 дней
Маржа по кампаниямВыручка минус затраты на операторов и инфраструктуру
Эффективность загрузкиВыручка на оплаченный час работы оператора

5. Дашборд клиентского портала

Зачем: дашборд только для чтения, который вы даёте клиенту по защищённой ссылке.

ВиджетСодержание
График выполнения SLASLA по дням за текущий месяц
Тренды объёма звонковПочасовые и дневные паттерны
Метрики качестваДинамика FCR, CSAT, AHT
Ключевые моментыАвтоматические комментарии к изменениям

Три подхода к BPO-аналитике на Asterisk

Подход 1. Собрать самому (Grafana + PostgreSQL)

Трудозатраты: 120-200 часов на первичную настройку, 10-20 часов в месяц на поддержку

Что понадобится:

  • PostgreSQL с таблицами CDR и queue_log
  • Grafana с источником данных PostgreSQL
  • Собственные SQL-запросы под каждый дашборд
  • Ролевой доступ для изоляции клиентов
  • Скрипты формирования отчётов по расписанию

Плюсы: полная кастомизация, нет платы за каждого оператора Минусы: гигантские трудозатраты разработки, хрупкость, отсутствие поддержки, каждый новый клиент требует ручной работы

Подход 2. QueueMetrics

Трудозатраты: 2-4 недели на внедрение, постоянная стоимость лицензии

Стоимость: CHF 8 за оператора в месяц (50 операторов = ~$480 в месяц)

Что получаете: мониторинг очередей, базовую отчётность, wallboard Чего не получаете: учёт выручки по клиентам, автоматические клиентские отчёты, современный интерфейс, сравнение кампаний в реальном времени, простое перераспределение операторов

Плюсы: отраслевой стандарт, стабильность Минусы: дорого на масштабе, устаревший Java-интерфейс, мало функций именно под BPO, нет встроенного клиентского портала

Подход 3. Astervis

Трудозатраты: 15 минут на установку, результат сразу

Стоимость: от $119 в месяц (Starter) до $449 в месяц (Professional), число операторов не ограничено

Что получаете:

  • 30+ готовых дашбордов, включая тепловые карты очередей, показатели операторов и аналитику по транкам
  • Мониторинг в реальном времени сразу по всем кампаниям
  • Управление операторами с отслеживанием KPI и рейтингами
  • Интеграцию с CRM (Bitrix24, AmoCRM) для работы с лидами
  • Self-hosted — данные остаются на ваших серверах
  • Установку одной командой: curl -sSL https://api.astervis.io/api/releases/install.sh | bash

Почему это работает для BPO:

  • Видимость всех очередей: все клиентские кампании в одном окне
  • Контроль работы операторов: видно, кто вытягивает результат, а кому нужен наставник
  • Экономика: $449 в месяц против $480 в месяц (QueueMetrics на 50 операторов) или 200 часов разработки в Grafana
  • Self-hosted: критично для BPO с требованиями к резидентности данных
  • 14 дней бесплатно: без карты и обязательств

Матрица сравнения

ВозможностьGrafana своими силамиQueueMetricsAstervis
Время внедрения120-200 часов2-4 недели15 минут
Мультиочереди в реальном времениПишется вручнуюОграниченно✅ Из коробки
Показатели операторовСвой SQLБазовые✅ 30+ графиков
Тепловые картыВручную✅ Из коробки
Интеграция с CRMВручную✅ Bitrix24, AmoCRM
Стоимость (50 операторов)$0 + 200 ч разработки~$480 в месяц$449 в месяц
Self-hosted
Современный интерфейсКак настроите❌ Устаревший Java✅ Современный веб
ПоддержкаСообществоПлатнаяВключена
Обслуживание10-20 ч в месяцНизкоеОтсутствует

Типичные ошибки в аналитике BPO

1. Слишком много метрик

Проблема: 50+ KPI в клиентском отчёте. Их никто не читает. Решение: 5-7 метрик на отчёт, привязанных к SLA из договора.

2. Запаздывающая отчётность

Проблема: клиент получает отчёт за прошлую неделю в среду. Для оперативных решений он бесполезен. Решение: дашборды в реальном времени + автоматическая дневная сводка на почту + подробный еженедельный отчёт.

3. Нет учёта затрат по кампаниям

Проблема: вы знаете общие расходы, но не понимаете, какие кампании прибыльны. Решение: считайте время операторов по каждой очереди через queue_log и выводите себестоимость обработанного звонка в разрезе кампании.

4. Слепые зоны по общим операторам

Проблема: оператор работает на трёх кампаниях, а вы видите только сводную статистику. Решение: считайте показатели по паре «оператор + очередь». Так становится видно, на какой кампании каждый оператор сильнее.

5. Игнорирование паттернов потерянных звонков

Проблема: вы отчитываетесь про «5% потерь», но не разбираете, когда и почему они происходят. Решение: отслеживайте потери по часам, дням, позиции в очереди и времени ожидания. Большинство потерь укладывается в конкретные паттерны, которые лечатся расстановкой смен.

6. Ручные отчёты для клиентов

Проблема: каждую пятницу человек тратит 4 часа на сборку отчётов в Excel для 10 клиентов. Решение: автоматизируйте цепочку SQL → шаблон → PDF → письмо. После настройки человеко-часы обнуляются.

С чего начать: аналитика BPO за 30 минут

Шаг 1. Проверьте структуру очередей (5 минут)

Убедитесь, что очереди названы по схеме client_campaign_type. Если нет — переименуйте: это фундамент всей мультиклиентской аналитики.

asterisk -rx "queue show" | grep -E "^[a-z]"

Шаг 2. Проверьте сбор данных (5 минут)

Убедитесь, что queue_log и CDR действительно пишутся в базу:

# Check queue_log is flowing tail -5 /var/log/asterisk/queue_log # Check CDR database psql -U asterisk -c "SELECT COUNT(*) FROM cdr WHERE calldate >= CURRENT_DATE"

Шаг 3. Установите Astervis (5 минут)

curl -sSL https://api.astervis.io/api/releases/install.sh | bash

Пройдите мастер установки — он сам определит конфигурацию Asterisk и сразу начнёт импортировать данные.

Шаг 4. Настройте представления кампаний (10 минут)

Сгруппируйте очереди по клиентам в Astervis. Задайте назначения операторов и цели по SLA для каждой кампании.

Шаг 5. Настройте оповещения (5 минут)

Настройте алерты на:

  • падение SLA ниже порога, прописанного в договоре
  • долю потерянных звонков выше 5%
  • превышение максимальной глубины очереди
  • падение числа доступных операторов ниже минимума

Главное

  1. Аналитика BPO принципиально отличается от внутренней: мультиарендность, разные SLA и разные модели биллинга требуют инструментов, созданных именно под это.
  2. Считайте 12 базовых KPI, разделив их на клиентские (SLA, ASA, FCR) и операционные (загрузка, себестоимость звонка, выручка на рабочее место).
  3. Соглашение об именовании очередей — фундамент: используйте формат client_campaign_type для автоматической сегментации.
  4. Автоматизируйте клиентскую отчётность — ручная сборка отчётов перестаёт масштабироваться уже на третьем клиенте.
  5. Следите за рентабельностью каждой кампании — сводные цифры маскируют убыточные контракты.
  6. Astervis даёт готовую BPO-аналитику за 15 минут вместо 200+ часов самостоятельной разработки: 30+ дашбордов, мониторинг в реальном времени и интеграция с CRM за $449 в месяц при любом числе операторов.

Начните бесплатный 14-дневный триал на astervis.io — карта не нужна. Все клиентские кампании, все метрики операторов и все цели по SLA в одном дашборде уже через несколько минут.

Хватит гадать. Начни видеть.

Реальная картина вашего Asterisk колл-центра: время ожидания, активность операторов, нагрузка на транки и 30+ графиков. On-premise на вашем сервере. Установка за 5 минут. Без карты.

От $119/мес flat. Без ограничения на операторов. Триал 14 дней.

Поделиться