Корзина
5 отзывов
Бесплатная АТС для бизнеса от 3CX и Google, 50 пользователейСкачать
+380
67
958-68-68
+380
44
392-86-76
УкраинаДнепропетровская областьДнепрул. Вернадского 24 / 449027
Оставить отзывНаличие документов
Знак Наличие документов означает, что компания загрузила свидетельство о государственной регистрации для подтверждения своего юридического статуса компании или физического лица-предпринимателя.
Исходящий обзвон в 3CX: создаем предиктивный диалер

Исходящий обзвон в 3CX: создаем предиктивный диалер

Исходящий обзвон в 3CX: создаем предиктивный диалер

Расскажем, как создать предиктивный исходящий обзвон (дайлер) в 3CX. Дайлер будет автоматически делать исходящие вызовы на внешние номера и соединять их внутренний Очередью вызовов. При этом скорость обзвона динамически меняется.

Введение

Ранее мы уже создавал

и голосовое приложение для автоматического обзвона абонентов в приложении 3CX Call Flow Designer, которое использует компонент Power Dialer. При обычном исходящем обзвоне вызовы абонентам из базы делаются с одинаковой, равной, периодичностью. Однако возможна ситуация, когда некоторые вызовы (разговоры) занимают больше времени, чем запланировано. А мы все равно пытаемся набирать новых абонентов! Другая ситуация - в разные периоды времени (днем и ночью, например) в колл-центре находится разное количество операторов. Согласитесь, было бы неплохо адаптировать частоту обзвона в зависимости от наличия свободных операторов.  Для этого отлично подходит новый компонент 3CX CFD, называемый предиктивный дайлер (Predictive Dialer).

В этой статье мы расскажем, как создать предиктивный исходящий обзвон (дайлер) в 3CX. Дайлер будет автоматически делать исходящие вызовы на внешние номера и соединять их внутренний Очередью вызовов. При этом скорость обзвона динамически меняется в зависимости от количества свободных операторов в этой Очереди. Это принципиально уменьшает время простоя оператора, то есть, не остаётся операторов, долгое время не получающих вызовы.

Демо-проект этого голосового приложения поставляется вместе с дистрибутивом 3CX CFD и находится в папке Documents\3CX Call Flow Designer Demos.

Важно отметить, что по умолчанию диалер начинает работать в момент старта сервиса 3CX Queue Manager Service. Поэтому необходимо задать определенное условие, по которому диалер будет делать вызовы. Для этого в голосовом приложении используется компонент Create a Condition. Например, можно проверять (устанавливать) день и время суток, в которые должен выполняться обзвон. Мы покажем, как ограничить работу дайлера в рабочие дни и на протяжении определенного промежутка в течении дня. Номера абонентов для обзвона можно брать из разных источников данных, например, из текстового файла, базы данных и т. п. В нашем примере используется база данных.

Скачать CFD можно отсюда. Обратите внимание - среда разработки 3CX CFD поставляется бесплатно. Но голосовые приложения будут выполняться только на 3CX редакции Pro и Enterprise

 

Создание проекта

Для создания проекта CFD перейдите в File → New → Project, укажите папку размещения проекта и его имя, например, PredictiveDialerDemo. Новый проект по умолчанию содержит голосовое приложение Main.flow. В данном проекте оно не используется, поэтому удалите его в окне Project Explorer. В этом же окне добавьте новое приложение - кликните правой кнопкой мыши по названию проекта и выберите New Dialer. Назовите его MainDialer. В окне Project Explorer выберите объект MailDialer и установите его свойства в окне Properties Window, как показано ниже.

Новый дайлер теперь может работать в двух режимах:

  • Power Dialer - вызовы выполняются с постоянной частотой (мы рассматривали это ранее).
  • Predictive Dialer - частота вызовов регулируется автоматически в зависимости от количества свободных операторов в каждый момент времени.
Т.к. мы используем режим Predictive Dialer, рассмотрим два его свойства:
  • Optimization - режим выполнения вызовов с оптимизацией для операторов или для абонентов
  • Queue - добавочный номер Очереди, операторов которой дайлер будет отслеживать
При запуске дайлер проверяет общее количество операторов в Очереди и количество свободных операторов. Затем он начинает обзвон до предела, установленного для данного режима оптимизации. В зависимости от установленного режима, дайлер будет ускоряться или замедляться. Рассмотрим, как это работает:
  • Оптимизация для операторов - в этом режиме дайлер старается максимально нагружать операторов, сокращая время, в течение которого они простаивают (не обрабатывают вызовы). Он будет стараться делать вызовы с такой частотой, чтобы каждый оператор в каждый момент времени работал с каким-либо вызовом. В процессе обзвона возможна ситуация, когда несколько вызовов на короткий период попадут в Очередь, ожидая освобождения оператора. В этот момент дайлер автоматически уменьшит скорость обзвона, чтобы максимально сократить время ожидания абонента в Очереди.
  • Оптимизация для абонентов - в этом режиме абонент будет немедленно соединен со свободным оператором и никогда не будет ожидать в Очереди. В этом случае, в отличии от предыдущего, некоторые операторы на короткое время могут оставаться свободными. Но дайлер гарантирует, что каждый набранный абонент будет немедленно обслужен оператором.

Выбор времени начала обзвона

Добавим в приложение компонент Date & Time condition и назовем его checkTimeToCall. Компонент использует только одно ветвление timeToCall, которое будет выполняться при наступлении времени обзвона.

Чтобы настроить ветвление timeToCall на выполнение с понедельника по пятницу с 9:00 до 17:00, установим отбор DID линий AllDIDs и временные интервалы, как показано ниже.

Получение номера из базы и набор абонента

Как было сказано, мы получаем номера абонентов из внешней базы данных. Запрос к базе должен возвращать номер абонента или пустую строку, если абонентов в данный момент больше не осталось. Для этого воспользуемся компонентом Database Access и настроим его для выполнения запроса к базе.

Поскольку запрос возвращает единственное значение (номер абонента), установим тип оператора Scalar. Разумеется, вы должны изменить строку SQL запроса в соответствии со структурой вашей базы данных. После настройки компонента Database Access проверим, вернул ли он номер абонента. Это необходимо сделать до начала набора номера. Добавим еще один компонент Create a condition и создадим единственное ветвление с условием проверки наличия номера. Логическое выражение проверки номера:

GREAT_THAN(LEN(TRIM(getNextNumber.ScalarResult)),0)

Если условие выполняется, значит у нас есть номер для вызова. И затем выполняем вызов с помощью компонента Make Call, который настраивается следующим образом:

  • Make call from (источник вызова) - номер абонента, полученный из базы
  • To (получатель вызова) - добавочный номер Очереди, к которой подключены операторы.

Окончательный вид голосового приложения предиктивного обзвона должен иметь примерно такой вид.

Компиляция и установка приложения на сервер 3CX

Голосовое приложение готово! Теперь его следует скомпилировать и загрузить на сервер 3CX. Для этого:
  1. Перейдите в меню Build > Build All, и CFD создаст файл PredictiveDialerDemo.tcxvoiceapp.
  2. Перейдите в интерфейс управления 3CX, в раздел Очереди вызовов. Создайте новую Очередь вызовов, укажите название и добавочный номер Очереди, а затем установите опцию Голосовые приложения и загрузите скомпилированный файл.
  3. Сохраните изменения в очереди.
Обратите внимание - обзвон начнется при запуске / перезапуске сервиса 3CX Queue Manager service.
Предыдущие статьи