Настройка очередей вызовов (queues) в FreePBX или Asterisk для колл-центра
Оглавление
- 1. Что такое очередь вызовов (Queue)
- 2. Подготовка к настройке
- 3. Создание очереди в FreePBX
- 4. Добавление операторов (агентов)
- 5. Интеграция с IVR и маршрутизацией
- 6. Настройка музыки на удержании
- 7. Голосовые объявления
- 8. Мониторинг и статистика
- 9. Типичные ошибки и решения
- 10. Рекомендации по безопасности и масштабированию
- 11. Заключение
1. Что такое очередь вызовов (Queue)
Очередь вызовов (Queue) — это встроенный механизм Asterisk, предназначенный для распределения входящих вызовов между группой операторов (агентов) в соответствии с заданными правилами. Он является основой функциональности колл-центра в системах на базе Asterisk и FreePBX.
Ключевые задачи очереди:
- Балансировка нагрузки — равномерное распределение вызовов между операторами.
- Удержание вызова — предотвращение сброса звонка при временной недоступности операторов.
- Информирование абонента — о позиции в очереди, ожидаемом времени ожидания, статусе обработки.
- Эскалация вызова — автоматический перевод в другую очередь или на голосовую почту при превышении лимитов.
Очередь работает на уровне ядра Asterisk и управляется через конфигурационные файлы (queues.conf) или графический интерфейс FreePBX. Все параметры очереди влияют на восприятие качества обслуживания клиентом и эффективность работы операторов.
2. Подготовка к настройке
Перед созданием очереди необходимо убедиться, что базовая инфраструктура VoIP-системы полностью функциональна.
Требования к системе
- FreePBX: версия 16 (Lime) или 17 (Mango) с обновлёнными модулями. Устаревшие версии могут не поддерживать современные стратегии распределения.
- SIP-транк: настроен и протестирован с провайдером (МТС, ТТК, Ростелеком). Входящие вызовы должны поступать на сервер.
- Внутренние номера (extensions): созданы для всех операторов колл-центра (например, 101–110). Каждый номер должен быть зарегистрирован на IP-телефоне или softphone.
- Аудиофайлы: подготовлены в формате WAV (моно, 16 бит, 8 кГц) для музыки, приветствий и объявлений.
Планирование логики работы
Перед настройкой определите:
- Какие номера будут направляться в очередь (внешние DID или внутренние переадресации).
- Сколько операторов будет в очереди и будут ли они входить автоматически или вручную.
- Какие действия выполнять при переполнении очереди (голосовая почта, другая очередь, повышение приоритета).
- Нужно ли озвучивать время ожидания или позицию в очереди.
⚠️ Очередь может работать только с локальными extensions. Нельзя добавить в очередь внешний SIP-аккаунт или номер другого PBX без шлюза.
3. Создание очереди в FreePBX
Настройка выполняется через веб-интерфейс FreePBX, что исключает необходимость ручного редактирования конфигурационных файлов.
Шаг 1: Доступ к модулю Queues
- Войдите в веб-интерфейс FreePBX с правами администратора.
- Перейдите в раздел: Applications → Queues.
- Нажмите кнопку Add Queue в верхнем правом углу.
Шаг 2: Основные параметры очереди
Заполните обязательные поля:
| Параметр | Значение | Подробное описание |
|---|---|---|
| Description | Поддержка клиентов | Произвольное имя для идентификации в интерфейсе. Используется только в FreePBX. |
| Queue Number | 700 | Внутренний номер очереди. На него должны направляться вызовы из Inbound Routes или IVR. Не должен совпадать с существующими extensions. |
| Strategy | ringall |
Метод распределения вызовов:
|
| Timeout (sec) | 15 | Время, в течение которого вызов звонит оператору(ам), прежде чем перейти к следующей попытке или стратегии. Для ringall — общее время звонка. |
| Max Wait (sec) | 300 | Максимальное время, которое вызов может находиться в очереди. После истечения — срабатывает Fail Destination. |
Шаг 3: Расширенные параметры
- Join Empty:
yes— разрешает вход в очередь, даже если все операторы отсутствуют (в статусе Paused или недоступны). Еслиno— вызов сразу перейдёт в Fail Destination. - Announce Frequency:
30— интервал (в секундах) между озвучиванием позиции в очереди или времени ожидания. - Retry:
5— пауза между повторными попытками дозвона до операторов (актуально для стратегий, отличных от ringall). - Fail Destination: например,
VoiceMail → 700— куда направить вызов при превышении Max Wait или отсутствии операторов. - Autofill:
yes— новые вызовы сразу попадают в начало очереди, не дожидаясь освобождения оператора.
4. Добавление операторов (агентов)
Операторы (агенты) — это пользователи, которые принимают вызовы из очереди. В FreePBX они представлены как внутренние номера (extensions).
Шаг 1: Привязка extensions к очереди
- В форме редактирования очереди перейдите на вкладку Queue Members.
- Нажмите Add Member.
- В выпадающем списке Extension выберите номер оператора (например, 101).
- Установите Penalty:
0— стандартный приоритет1–10— пониженный приоритет (оператор будет получать вызовы позже)
- Нажмите Submit и повторите для всех операторов.
Шаг 2: Режимы входа в очередь
FreePBX поддерживает два режима участия оператора в очереди:
- Автоматический: оператор всегда в очереди, как только его extension зарегистрирован. Используется по умолчанию.
- Ручной: оператор сам управляет своим статусом через команды на телефоне:
*45— войти в очередь*46— выйти из очереди (статус Paused)
Для включения ручного режима:
- Перейдите в настройки extension: Applications → Extensions → [номер]
- В разделе Queue Settings установите Queue Membership в значение
dynamic.
Статус оператора можно отслеживать в реальном времени в интерфейсе FreePBX: зелёный — Available, красный — Paused, синий — In Call.
5. Интеграция с IVR и маршрутизацией
Очередь не работает автономно — вызовы должны поступать в неё через маршрутизацию.
Вариант 1: Прямая маршрутизация по DID
Если у колл-центра выделенный номер (например, 8-800-XXX-XX-XX):
- Перейдите: Inbound Routes → Add Incoming Route.
- В поле DID Number укажите внешний номер, выданный провайдером.
- В разделе Destination выберите:
Queues → Поддержка клиентов (700). - Сохраните маршрут.
Теперь все вызовы на этот номер будут направляться в очередь 700.
Вариант 2: Через голосовое меню (IVR)
Если номер общий, а поддержка — один из пунктов меню:
- Создайте IVR: Applications → IVR → Add IVR.
- Настройте приветствие и пункты меню.
- В пункте, например, «Нажмите 1 для техподдержки», укажите destination:
Queues → 700. - Привяжите IVR к Inbound Route как destination по умолчанию.
Этот метод позволяет гибко распределять вызовы между несколькими очередями (продажи, поддержка, жалобы).
6. Настройка музыки на удержании
Музыка на удержании (Music on Hold, MoH) воспроизводится абоненту, пока его вызов находится в очереди. Отсутствие музыки создаёт ощущение «зависания» линии.
Шаг 1: Подготовка аудиофайла
Требования к файлу:
- Формат: WAV
- Каналы: моно
- Глубина: 16 бит
- Частота: 8000 Гц (8 кГц)
- Уровень: -15 дБ (во избежание перегрузки при микшировании)
Нарушение этих требований приведёт к искажению звука или тишине.
Шаг 2: Загрузка в FreePBX
- Перейдите: Admin → Music on Hold.
- Выберите существующий класс (например,
default) или создайте новый (например,support-queue). - Нажмите Upload Music и выберите подготовленный файл.
- Сохраните изменения.
Шаг 3: Привязка к очереди
- В настройках очереди найдите поле Music on Hold Class.
- Выберите созданный класс (например,
support-queue). - Сохраните очередь.
🔊 Если не указать класс, будет использоваться система по умолчанию (обычно тишина или стандартный гудок).
7. Голосовые объявления
Голосовые объявления повышают прозрачность ожидания и снижают количество преждевременных отключений.
Типы объявлений
- Periodic Announcement — воспроизводится с заданной периодичностью (например, «Все операторы заняты. Пожалуйста, оставайтесь на линии»).
- Hold Time Announcement — автоматически озвучивает ожидаемое время ожидания («Ваше время ожидания — 2 минуты»).
- Position Announcement — сообщает позицию в очереди («Вы третий в очереди»).
Настройка
- Запишите объявления в соответствии с требованиями к аудиофайлам (моно, 8 кГц, WAV).
- Загрузите их в FreePBX: Admin → System Recordings → Add Recording.
- В настройках очереди:
- Periodic Announcement: выберите запись из списка.
- Announce Hold Time: установите
yes. - Announce Position: установите
yes, если нужно озвучивать позицию. - Min Announce Frequency: минимальный интервал между объявлениями (рекомендуется 20 сек).
Объявления воспроизводятся поверх музыки на удержании.
8. Мониторинг и статистика
FreePBX предоставляет встроенные инструменты для анализа эффективности работы очереди.
Отчёт по очереди
- Перейдите: Reports → Queue Report.
- Выберите очередь и временной диапазон (день, неделя, месяц).
- Отчёт включает:
- Общее количество вызовов
- Количество принятых и потерянных вызовов
- Среднее и максимальное время ожидания
- Среднее время разговора
- Загрузку каждого оператора (количество принятых вызовов)
Мониторинг в реальном времени
В разделе Applications → Queues отображается текущее состояние:
- Количество вызовов в очереди
- Статус каждого оператора (Available, In Call, Paused)
- Время текущего вызова
Это позволяет супервайзеру оперативно реагировать на перегрузку.
Интеграция с внешними системами
Данные очереди записываются в CDR (Call Detail Records). Их можно экспортировать в CSV или интегрировать с 1С, Bitrix24 через API для расчёта KPI операторов.
9. Типичные ошибки и решения
| Симптом | Глубокая причина | Диагностика и решение |
|---|---|---|
| Вызов не попадает в очередь | Неправильный destination в Inbound Route или IVR | Проверить лог Asterisk: tail -f /var/log/asterisk/full; убедиться, что маршрут указывает на Queue 700 |
| Операторы не звонят, вызов висит в очереди | Extensions не добавлены в Queue Members или все в статусе Paused | Проверить список участников; убедиться, что операторы вошли в очередь (команда *45) |
| Тишина вместо музыки | Файл в стерео или с частотой 44.1 кГц | Перекодировать через Audacity: Tracks → Stereo to Mono; Project Rate → 8000 Hz; Export as WAV (16-bit PCM) |
| Вызов сразу уходит в голосовую почту | Max Wait = 0 или все операторы недоступны | Установить Max Wait ≥ 60; проверить регистрацию extensions |
| Нет данных в Queue Report | Отключено логирование CDR | Включить CDR: Settings → Advanced Settings → CDR Settings → Enable CDR |
| Оператор не может выйти из очереди | Extension настроен как static, а не dynamic | Изменить Queue Membership на dynamic в настройках extension |
10. Рекомендации по безопасности и масштабированию
- Разделяйте очереди по функциям: отдельно для продаж, поддержки, жалоб — это упрощает анализ и повышает качество обслуживания.
- Ограничьте доступ к FreePBX: настройте IP-фильтрацию в веб-сервере (Apache/Nginx), разрешив доступ только с доверенных адресов.
- Регулярно обновляйте систему: FreePBX выпускает security-патчи. Используйте
fwconsole ma upgradeallдля обновления модулей. - Для крупных колл-центров (>20 операторов) рассмотрите специализированные решения: Vicidial (open-source) или коммерческие платформы на базе Asterisk.
- Резервирование: настройте репликацию конфигурации на второй сервер через rsync или используйте Asterisk Realtime с общей базой данных PostgreSQL.
- Резервный SIP-транк: настройте второй маршрут в Inbound Routes с пониженным приоритетом на случай отказа основного провайдера.
11. Заключение
Очередь вызовов в FreePBX — это мощный и гибкий инструмент для организации работы колл-центра любого масштаба. Его настройка требует внимания к деталям, но не предполагает глубоких знаний Asterisk.
Ключевые принципы успешной реализации:
- Чёткое планирование логики маршрутизации и состава операторов.
- Использование корректных аудиофайлов для музыки и объявлений.
- Настройка адекватных таймаутов и стратегий распределения.
- Постоянный мониторинг через встроенные отчёты.
Правильно настроенная очередь снижает нагрузку на операторов, повышает удовлетворённость клиентов и формирует профессиональный имидж компании.
