Содержание

Задачи: Абоненты


Вкладка определяет прикрепленную таблицу абонентов и формат общения задачи с ней.

Таблица абонентов

Указывает на прикрепленную к задаче таблицу абонентов (из существующих в текущем проекте). Исходящие задачи используют таблицу для осуществления звонков. Входящие задачи могут корректно использовать только ту таблицу абонентов, в основе которой лежит таблица БД. Входящие задачи по выбору могут искать абонента по определившемуся номеру в таблице или для каждого звонка создавать новую запись. В соответствии с настройками таблицы абонентов, часть информации из списка будет отображена во всплывающих «PopUp» окнах на рабочем месте оператора, в случае если рабочее место оператора компьютеризировано. Номера абонента для дозвона берутся из столбцов, отмеченных свойством «Телефон». При смене списка у существующей задачи, статистика по произведенным звонкам не теряется, но задача полностью синхронизирует свой внутренний список с таблицей абонентов. Аналогично задача ведет себя при изменениях, вносимых в назначенную ей таблицу абонентов в модуле Таблицы абонентов.

Метод работы с таблицей

Доступно только для исходящих задач. Определяет один из нескольких вариантов работы с данными в таблице абонентов.

Кэш внутри БД, встроенный метод. Методы кэширования в БД существенно снижают нагрузку и могут быть использованы в любом случае и на любых объемах. Однако при этом исключается возможность использования уникальных приоритетов обхода таблицы, приведенных ниже. Активный в этом случае приоритет обхода аналогичен комбинации {По абонентам, поочередно, поочередно}. В случае массовых задач это не играет большой роли, поскольку оповещение занимает достаточно длительный период. В ходе синхронизации на основе прикрепленной таблицы абонентов в БД строится кэш-таблица (A_TaskManager_Idx_{Идентификатор задачи}), содержащая идентификаторы и состояния абонентов, на которой затем базируется алгоритм поиска абонента для совершения очередного звонка. Не исключается внешнее воздействие на таблицу кэша в целях управления алгоритмом выборки.

ВНИМАНИЕ! В обязательном порядке проверяйте наличие индексов по полю идентификатора прикрепленной таблицы абонентов. Особенно это важно при выборе метода работы с таблицей через кэш в БД на больших объемах (более 100 тысяч записей).

ВНИМАНИЕ! Процесс поиска оператора/линии/абонента производится менеджером задач линейно. В случае, если сценарий поиска абонентов работает долго, это отразится на отсутствии исходящих звонков по всем исходящим голосовым задачам.

Служебный сценарий поиска абонента

Доступно только для исходящих задач, работающих с таблицей через сценарий поиска абонентов (выше). Устанавливает служебный сценарий (в списке предлагается выбор среди проектных сценариев, однако вручную можно указать название любого общего служебного сценария), который вызывается всякий раз, когда менеджер задач принимает решение о необходимости запуска очередного набора номера. Цель сценария вернуть идентификатор абонента в служебную переменную «Возвращаемое значение 1», а также номер, который следует набирать при этом в служебную переменную «Возвращаемое значение 2». В случае, если сценарий не возвращает корректного идентификатора, он должен указать, является ли это временным. Если задача завершена необходимо установить значение «1» в служебную переменную «Возвращаемое значение 3»).

На вход сценарий в качестве стандартных функций служебного сценария принимает информацию о задаче. В качестве неявных параметров передаются:

ВНИМАНИЕ! Рекомендуется, но не требуется, чтобы возвращаемые номера и даже идентификаторы однозначно соответствовали таблице абонентов. При выбранном режиме поиска абонентов через сценарий таблица абонентов может быть вовсе пуста, при этом набор будет осуществляться, пока сценарий возвращает уникальные корректные значения идентификаторов и номеров.

Задача проверяет возвращаемые сценарием поиска номер и идентификатор абонента и осуществляет фильтрацию по общим правилам. Так например, набор номера не начнется, если предыдущая попытка набора этого же номера еще не завершена, или оператором было ранее установлено и еще не достигнуто время следующего звонка на номер, или число звонков на номер уже превысило допустимое значение. Чтобы оказать влияние на применение тех или иных фильтров следует устанавливать специальные значения служебной переменной «возвращаемое значение 3»:

- 10 - не использовать фильтры вообще, всегда начинать набор номера;

- 11 - проверять только количество занято;

- 12 - проверять только количество не отвечает;

- 13 - проверять только таймауты номера. Если время следующей попытки набора для номера еще не подошло, то номер в набор не отправится

- 14 - проверять только таймауты абонента. Если время следующей попытки набора для абонента еще не подошло, то номер в набор не отправится

- 15 – проверять завершен ли абонент по признаку «Успешно завершен».

- 16 – проверять завершен ли абонент по признаку «Закончились все попытки дозвона»;

- 17 – проверять завершен ли абонент по признаку «Удален из набора».

- Для значений 11-17 возможно указание перечислений, например «11, 12, 16».

Отправлять оператору запрос на подтверждение дозвона абоненту

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

Заполнение таблицы

Доступно только для входящих задач. Определяет формат поиска строки в таблице абонентов. Среди вариантов:

Пытаться соединять с оператором, обслуживавшим предыдущий звонок абонента

Доступно для входящих задач, обслуживаемых операторами. При задействовании метода во время поступления звонка производится анализ статистики и установка оператора, который последним обслуживал текущего абонента. Если оператор оказывается свободным, производится соединение с ним, в противном случае происходит постановка звонка в общую очередь задачи. Поиск последнего звонка в зависимости от выбранного типа будет производиться по статистике текущей задачи, либо по всей статистике call-центра. Текущий абонент идентифицируется определившимся при звонке номером, либо кодом в прикрепленной таблице абонентов (в этом случае одному абоненту может принадлежать несколько номеров).

Интервал синхронизации

Доступно только для исходящих задач, работающих с кэшем в памяти или в БД. Определяет промежуток времени до следующей обязательной синхронизации. От 1 минуты до 1 суток. Синхронизация проводится периодически и без учета интервала, в том случае, если список обработан до конца и необходим повторный проход.

Интервал синхронизации при отсутствии активности

Доступно только для исходящих задач, работающих с кэшем в памяти или в БД, остановка которых не предусматривается (параметр «завершить задачу» установлен в «никогда»). В случае, если в списке не осталось ни одного абонента, куда бы задача могла позвонить, она переходит в ожидание с учащенной синхронизацией. Период этой синхронизации указан в данном свойстве. От 1 минуты до 2 часов. Значение 0 в поле фактически соответствует интервалу в 10 секунд.

Синхронизировать со списком при каждой активации

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

Использовать алгоритм перезвона абонентам строго в назначенное время

Доступно только для исходящих задач, работающих с кэшем в памяти и автоматизированным поиском абонента (не посредством ручного выбора). В случае активации режима система осуществляет автоматический постоянный мониторинг находящихся в кэше задачи абонентов на предмет возможности осуществления звонка. Производится отслеживание только тех абонентов, звонок которым уже производился, был выбран результат звонка «Перезвонить абоненту..» (именно абоненту!) и указан период ожидания или время, не ранее которого очередной вызов должен быть произведен. Выставление результата может произойти как в стоп-форме (оператором), так и в сценарии (автоматически на основе заложенного алгоритма).

Использовать скилл-тэги

Доступно для исходящих задач всех типов, за исключением тех, которые осуществляют поиска абонента для оператора. Режим активируется только в случае использования таблицы абонентов с выбранным типом поля скилл-тэги. Среди операторов задачи для обслуживания конкретного абонента привлекаются только те, у которых в списке скилл-тэгов присутствуют требуемые таблицей абонентов скиллы.

При отключенном режиме производится стандартный однопотоковый обход всей таблицы и возврат к абонентам для перезвона происходит в соответствии с общими принципами выставленного приоритета обхода.

ВНИМАНИЕ! При формировании задания на перезвон в указанное время для номера автоматически сбрасываются счетчики попыток с результатами «Занято» и «Не отвечает». Если указаны один или несколько альтернативных номеров, то все они считаются приоритетными. Если альтернативный номер не указывается, то приоритетным считается текущий номер, в ходе которого был получен результат «Перезвонить абоненту..». В случае истечения допустимого количества неудачных попыток дозвона производится возврат абонента из приоритетных в общий список со сбросом счетчиков попыток с результатами «Занято» и «Не отвечает».

ВНИМАНИЕ! Следует иметь в виду, что для решения поставленной задачи автоматического перезвона строго в назначенное время автоматика работает оптимально только при определенных ограниченных объемах поступающих на перезвон абонентов. Если их количество таково, что последовательная их обработка при средней продолжительности звонка на используемом количестве линий и операторов не укладывается в разумное время, задача перестанет корректно функционировать, полностью сосредоточив внимание на абонентах для перезвона с применением «нестрогого» алгоритма их обхода. В ряде случаев имеет смысл отключать механизм перезвона или использовать альтернативные методы работы с таблицей абонентов в целях более тонкой наладки корректного процесса перезвона.


Несколько следующих параметров определяют большое множество вариантов обхода абонентов. Практически любую постановку можно приближенно настроить в задаче, выставив их соответствующим образом. После описания будет приведено несколько примеров для более четкого понимания. Приоритеты обхода доступны только для задач, осуществляющих дозвон до абонентов по единому списку (все типы кроме задач с ручным выбором абонентов и распределенным списком).

Приоритет обхода абонентов

Доступно только для исходящих задач. Определяет способ поиска очередного абонента в таблице при необходимости осуществить звонок на иных абонентов.

Приоритет обхода номеров

Доступно только для исходящих задач. Определяет способ поиска очередного номера абонента в таблице при необходимости осуществить звонок на иные номера конкретного абонента.

Общий приоритет обхода

Доступно только для исходящих задач. При необходимости (или если угодно возможности) произвести очередной звонок, определяет каким способом искать номер – отдать предпочтение выбору нового абонента или попробовать другие номера текущего абонента. Возможные варианты:

Прогрессивный обход

Доступно только для исходящих задач с активированной прогрессивной схемой. Определяет способ выбора множества номеров при необходимости произвести одновременно несколько звонков: возьмутся несколько номеров у одного абонента, либо по одному номеру у разных абонентов. Возможные варианты:

Лояльность к абонентам

Только для прогрессивного обзвона с отключенной очередью ожидания. Для такой исходящей задачи, когда один из абонентов в пуле поднимает трубку, остальные абоненты отбиваются системой. Тем самым данным абонентам причиняется неудобство. Настройка позволяет определить максимальное количество неудобств, после чего переводит абонента в конец списка и начинает работать с ним, как с единственным.

Пример. Настроен прогрессивный обзвон с распределением по 5 абонентов на оператора. Очередь ожидания не включена. Задача резервирует оператора и начинает дозвон на 5 абонентов. Как только один абонент поднимет трубку, остальные дозвоны прекратятся. Каждому абоненту зафиксируется причиненное неудобство. Если включена, например, средняя лояльность, то задача допустит еще 2 подобных случая, после чего перенесет абонента в конец списка. После основной части обзвона, задача перейдет к обзвону «один-к-одному», то есть на одного оператора будет распределяться один конкретный абонент, которому прежде были причинены неудобства.

Задачи с ручным выбором абонентов и распределенным списком имеют несколько индивидуальных свойств и возможностей. При создании такой задачи супервизору необходимо провести разбиение списка по операторам.

Распределение абонентов

Поровну или вручную. В первом случае список делится на всех операторов задачи равномерно. Во втором случае супервизору необходимо задать правила распределения.

Таблица распределения

Доступно указание начальных букв, диапазонов букв, количества абонентов (берется подряд после операций с буквами) или процента. После нажатия кнопки «Перераспределить» в БД создается кэш-таблица, согласно которой производится обработка задачи модулем управления.


ВНИМАНИЕ! Добавление операторов в реальном времени в задачу с распределенным списком в модуле управления ресурсами не даст результата, если при разбиении списка оператор не присутствовал в задаче. Необходимо также произвести переброс части абонентов на оператора. Это можно сделать в модуле управления ресурсами на вкладке «Абоненты».


ВНИМАНИЕ! После выполнения одним из операторов всех своих заданий (в соответствии с установками задачи) супервизоры получат соответствующее уведомление.