Голосовые задачи — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
 
(не показаны 34 промежуточные версии 2 участников)
Строка 1: Строка 1:
[[Задачи|Наверх]]
+
<code>[[Техническая документация]] / [[Call-центр]] / [[Задачи]] / [[Голосовые задачи]]</code>
 +
__NOTOC__
  
 +
<code>В этом разделе:
 +
*[[Исходящие задачи]]
 +
*[[Входящие задачи]]
 +
*[[Задачи:Основные параметры|Основные параметры]]
 +
*[[Задачи:Ресурсы|Ресурсы]]
 +
*[[Задачи:Абоненты|Абоненты]]
 +
*[[Задачи:Дополнительно|Дополнительно]]
 +
</code>
  
__TOC__
 
  
 +
===Виды голосовых задач===
  
===Основные параметры===
 
  
 +
Голосовые задачи в системе Oktell делятся на входящие и исходящие.
  
  
Вкладка предоставляет доступ к основным определяющим поведение задачи свойствам.
+
'''Входящие задачи''' активируются при поступлении звонка из сценария обработки IVR и ее действие определяется как сценарием, так и собственными настройками. Входящая задача инициируется при состоявшемся и ожидающем ответа звонке со стороны внешних линий.
* Название задачи.
+
* Код задачи. Параметр применяется для взаимодействия с внешними базами данных, ведущихся по проектам во многих аутсорсинговых call-центрах. Параметр доступен в любом сценарии, выполняющемся в ходе реализации каждого звонка по конкретной задаче.
+
* Направление (исходящее/входящее). Отличия входящей и исходящей задачи указаны выше в описании данного модуля.
+
  
 +
Ход исполнения задачи состоит из нескольких этапов:
 +
* Определение доступного оператора (по настройкам задачи и статистике работы call-центра);
 +
* Коммутация с оператором;
 +
* Помощь в проведении разговора, определяющаяся соответствующим сценарием разговора (доведение до абонента персональной информации и занесение ответов абонента в базу);
 +
* Внесение информации о результатах звонка и при необходимости запрос у оператора результатов;
  
[[Файл:cl_cc_task5.png|center|800px]]
+
В качестве оператора может выступать автоматическое голосовое меню (IVR) Oktell согласно прикрепленным к задаче сценариям IVR.
 
+
 
+
* Тип задачи. Определяет каким способом ведется обработка звонка – автоматическим (IVR) или с помощью оператора. Среди исходящих задач существует несколько типов организации массового оповещения с участием операторов: 
+
** [[#Reserve|Оповещение оператором с резервированием и уведомлением]]].
+
** [[#Reserve|Оповещение оператором с резервированием и запросом]].
+
** [[#ManualChoice|Оповещение оператором с ручным выбором абонентов]].
+
** [[#FixOperator|Оповещение оператором с закреплением абонентов]].
+
** [[#ByScriptForOperator|Поиск абонента для оператора]].
+
** [[#Progress|Прогрессивный обзвон операторами]].
+
** [[#ProgressPredict|Прогрессивно-предиктивный обзвон операторами]].
+
** [[#ManualCall|Дозвон операторами вручную]].
+
  
 
   
 
   
 +
'''Исходящие задачи''' имеют собственный список номеров для совершения звонков, и активируются при обнаружении возможности произвести звонок. Детали сильно зависят от настроек задачи, но в общем виде возможность включает в себя наличие доступных операторов, наличие свободных линий для звонка, время, дата, результаты предыдущих звонков и т.д.
  
<div id="Reserve"></div>
+
Ход проведения исходящего оповещения зависит от типа. В общем виде этапы можно описать следующим образом:
'''Оповещение с резервированием'''. Начинает дозвон до одного конкретного номера телефона, предварительно найдя и зарезервировав оператора. Оператору выводится уведомление или запрос на проведение обозначенного звонка, который в этом случае он может принять, отложить или отклонить.
+
* Определение момента необходимости набора номера;
 +
* Определение одной или нескольких комбинаций (абонент, номер) из установленного списка, подходящего для звонка в конкретный момент (по настройкам и предыдущим попыткам);
 +
* Если оповещение с резервированием оператора, то определение доступного для исполнения задачи оператора (по настройкам задачи и статистике работы call-центра), его резервирование и уведомление или запрос на звонок;
 +
* Дозвон до одного из номеров в установленном списке
 +
* Коммутация с оператором или помещение в очередь, если операторы не зарезервированы (в случае прогрессивных схем).  
 +
* Помощь в проведении разговора, определяющаяся соответствующим сценарием разговора (доведение до абонента персональной информации и занесение ответов абонента в базу);
 +
* Внесение информации о результатах звонка и при необходимости запрос у оператора результатов;
  
 +
Аналогично входящим задачам в качестве оператора в исходящей задаче может выступать IVR.
  
<div id="ManualChoice"></div>
 
'''Оповещение с ручным выбором абонентов'''. Кардинальное отличие от простого резервирования состоит не только в предоставлении оператору возможности выбора абонента, но и в использовании пула дозвона до абонентов по распределенному списку. Каждому оператору выделяется определенная группа абонентов, с которыми он работает индвивидуально (звонки абонентам осуществляются только им). При настройке этого типа задачи на вкладке [[#Абоненты|Абоненты]] появляются элементы для задания правил разбиения списка по операторам (подробнее об этом далее в разделе). Супервизору при создании подобной задачи необходимо в обязательном порядке провести распределение списка, в противном случае задача не найдет подходящих условий для совершения вызовов. Допускается равномерное деление, а также деление по правилам (количеству, процентному соотношению, начальным буквам названия абонента). Нераспределенные абоненты, а также абоненты, появившиеся в списке после разбиения не будут автоматически присоединены к обработке. Подобный тип задачи предусматривает полный контроль ситуации супервизором. На вкладке «Абоненты» модуля [[Ресурсы]] для задач с распределенным списком предоставляется возможность управления текущим разбиением на основе статусов звонков, и для полноты информации предоставляются доступ к дополнительным служебным статусам. Абонентов с определенными состояниями супервизор имеет возможность перетащить от одного оператора к другому, тем самым скорректировав разбиение списка. Также см. [[Менеджер голосовых задач|Принципы работы логики. Менеджер голосовых задач. Задачи с распределенным списком]].
 
  
 +
===Активация задачи===
  
<div id="FixOperator"></div>
+
В приведенном списке всех существующих задач вы можете видеть их свойства и состояние. Среди состояний: пассивные (помечаются серым индикатором), активные (помечаются красным индикатором), завершенные (помечаются зеленым индикатором).
'''Оповещение с закреплением абонентов за оператором'''. Позволяет на этапе создания задачи распределить абонентов по операторам, как и в режиме ручного выбора абонентов. Однако не предоставляет оператору возможности изменить выбор абонента, предоставляя ему лишь возможность подтверждения/отклонения вызова. Работает на основе кэша в БД и позволяет налаживать специальные сторонние алгоритмы распределений абонентов путем изменения таблицы кэша задачи (<span style="color:green;">''A_TaskManager_dIdx_[guid-идентификатор задачи]''</span>). Режим добавлен с целью предоставления возможности автоматического формирования списков с закреплением за операторами.
+
  
Автоматический поиск и закрепления абонента из списка нераспределенных при отсутствии абонентов в текущем списке оператора может быть осуществлено средствами хранимых процедур (поиск абонента для обработки звонка конкретным оператором конкретной задачи - <span style="color:green;">''A_TaskManager_List_DistrDirectDB_GetTable''</span> или <span style="color:green;">''A_TaskManager_List_DistrDirectDB_GetQuery''</span> в зависимости от того, на базе таблицы или запроса сформирована таблица абонентов).
 
 
В таблице абонентов для задач этого типа может быть добавлен и назначен столбец ''Идентификатор оператора'', значения которого имеют тип данных ''uniqueidentifier''. При синхронизации задачи с таблицей абонентов в этом случае осуществляется автоматическое перестроение кэша и привязка абонентов к соответствующим операторам.
 
 
   
 
   
 +
Сразу после создания задаче выставляется пассивное состояние. Для старта или возобновления выполнения исходящей задачи, а также для получения доступа к входящей задаче из сценария IVR, необходимо перевести ее в активное состояние. Выделите ее в списке и нажмите кнопку «Активировать» в контекстном меню или кнопку «Сменить статус» внизу.
  
<div id="ByScriptForOperator"></div>
+
Чтобы временно приостановить выполнение задачи нажмите кнопку «Приостановить выполнение» в контекстном меню или кнопку "Сменить статус" внизу.  
'''Поиск абонента для оператора'''. Позволяет организовать исходящую задачу с помощью сценария поиска абонента, куда дополнительно в качестве параметра передается идентификатор оператора, для какого производится поиск.
+
  
  
<div id="Progress"></div>
+
[[Файл:Голосовые задачи 001.png|600px|center]]
'''Прогрессивный дозвон'''. При обнаружении свободного оператора, задача помещает его в очередь и осуществляет одновременно несколько звонков. Первый успешный вызов сразу коммутируется. Остальные звонки в зависимости от настроек задачи (лояльность, очередь прогрессивного набора) остаются в очереди для других операторов, или прекращаются. Априори достоверно, что прогрессивная схема менее лояльна к абонентам, чем схема с резервированием. Если в очереди ожидающих дозвона находятся несколько операторов, то первый успешный звонок выделяется для первого оператора в очереди. Очевидный факт, что абоненты при исходящем оповещении ждать ответа в основном не намерены. Сервер Oktell при использовании прогрессивной схемы пытается минимизировать время ожидания операторов, взяв в расчет именно этот принцип и практически не давая вырастать очереди абонентов.
+
  
Однако существуют настройки задач, при которых абоненты ждут операторов. Такие задачи редко представляют интерес. В этом случае очереди компенсируют друг друга, но лояльность к абонентам существенно снижается.
 
 
   
 
   
Прогрессивный дозвон имеет больший смысл, если число линий, выделенных для задачи больше числа операторов, единовременно обрабатывающих задачу. Разумно настроенная прогрессивная схема – крайне эффективный инструмент. В качестве примера можно привести следующий результат в самых крайних условиях: Оповещение одним оператором по двум линиям списка из 10 абонентов, где у каждого абонента от 1 до 5 телефонных номеров и ситуация усугубляется тем, что половина номеров в итоге не отвечает. Для оператора наличие «битых» номеров остается незаметным до самого конца, когда на обеих линиях остаются только абоненты, не имеющие ни одного нормального номера. При увеличении числа линий и числа операторов качество заметно повышается. Более эффективно и менее лояльно прогрессивный дозвон можно настраивать, если число операторов достаточно велико, а время обработки одного звонка достаточно мало.  
+
Исходящая задача может перейти в состояние завершенной после отработки всего предоставленного ей списка абонентов и получения окончательного результата по каждому из них, если у нее установлено соответствующее свойство завершения. Завершение может также быть произведено по временной границе или вовсе не производиться. Незавершающиеся исходящие задачи полезны в случаях использования динамических таблиц абонентов. Например там, где осуществляется пополнение списка абонентов через сайт, или существует жесткое условие на состояние счета для осуществления звонка.  
  
В схемах, где число линий и операторов, назначенных в задачу, практически одинаково и значительно (20, 30, 40, 50, ...) прогрессивный дозвон экономит время поствызывной обработки и набора номера, производя работу в параллельном режиме, что в некоторых случаях приводит практически к тем же результатам что и в случае с числом линий, превышающим число операторов, обладая вместе с этим преимуществом, делая невозможным рост очереди абонентов.
 
 
Использование прогрессивного набора в массовых кампаниях накладывает дополнительные требования, подробнее в разделе [[Менеджер голосовых задач|Принципы работы логики. Менеджер голосовых задач. Прогрессивный набор]].
 
 
Задачи с прогрессивным набором очень эффективное средство, дающее наибольшую производительность при рационально назначенных количественных и ресурсных свойствах. Ориентировочная занятость операторов в зависимости от длительности разговора, соотношения операторы / линии и качества телефонной базы может достигать 90% и более.
 
  
  
<div id="ProgressPredict"></div>
 
'''Прогрессивно-предиктивный дозвон'''. Общая схема аналогична задачам [[#Progress|с прогрессивным набором]], однако дополняет ее статистическими алгоритмами расчета усредненных показателей обслуживания, на основании которых принимаются решения о необходимости инициации очередного набора номера еще до освобождения операторов из текущих разговоров. Инициатива предполагается к исполнению только для операторов, занятых в конкретный момент времени в данной задаче.
 
 
 
<div id="ManualCall"></div>
 
'''Дозвон вручную'''. Задача не использует поиск абонентов, резервирование линий и операторов. Вся эта часть работы лежит на операторе, который самостоятельно определяет время для звонка, ищет абонента во внешних источниках, выбирает номер для звонка, осуществляет звонок средствами АТС Oktell, и лишь потом при необходимости зафиксировать информацию осуществляет привязку звонка к определенной задаче. При этом номер попадает в прикрепленную таблицу абонентов новой строчкой, а у оператора есть возможность провести диалог по сценарию, сохранив в таблице абонентов зафиксированные ответы и прочую информацию, а также осуществить пост-вызывную обработку в недоступном для входящих звонков состоянии.
 
 
Привязка существующего звонка к задаче осуществляется одним из способов:
 
* В модуле [[Мое рабочее место|«Мое рабочее место»]].
 
* Компонентом сценария [[Общие компоненты сценариев#UserState|«Статус объекта»]].
 
* Командой [[Oktell_Web-Socket_Protocol#attachcalltotask|websocket-интерфейса]].
 
 
Также может быть организован новый двусторонний вызов с последующей привязкой звонка к задаче с помощью компонента сценариев [[Компоненты служебных сценариев#Connector|«Коммутатор»]].
 
 
Сразу следует заметить, что прикрипление существующего звонка возможно не только к задаче с типом ''Дозвон вручную'', но также и к задачам других типов, если это разрешено их настройкой. По умолчанию у других задач эта функция запрещена, так как прикрепление в этом случае может испортить прикрепленную таблицу абонентов. Таблица абонентов с одной стороны является ценным ресурсом, а с другой стороны в исходящих задачах - базой номеров, которая может стать некорректным хранилищем одинаковых данных. Прежде чем разрешать операторам прикреплять существующие звонки к исходящим задачам, следует определить алгоритм дальнейшего поведения. Например, в диалоговом сценарии в самом начале установить успешный результат для задачи, чтобы впоследствии исключить перезвоны на такие номера.
 
 
 
 
* Сценарий IVR. Используется в задачах, обрабатываемых автоматическим сервисом голосовых меню. Выберите один из элементов списка существующих в текущем проекте пользовательских сценариев IVR для прикрепления его к редактируемой задаче. После дозвона до абонента ему будет воспроизведен выбранный сценарий голосового меню с полным функционалом и доступом к таблице с информацией об абоненте, если она назначена (раздел [[Сценарии IVR|Call-центр. Сценарии. Сценарии IVR]]).
 
* Сценарий диалога. Используется в задачах, обрабатываемых операторами call-центра. Выберите один из элементов списка существующих в текущем проекте пользовательских сценариев разговора для прикрепления его к редактируемой задаче. После коммутации абонента с оператором система начнет выполнение указанного сценария диалога. В сценарии могут присутствовать элементы-подсказки оператору, элементы запросы ответов абонента, заполняемые оператором в открывающихся формах ввода, а также прочие произвольные формы ввода (раздел [[Сценарии диалога|Call-центр. Сценарии. Сценарии диалога]]). Сценарии диалогов являют собой наиболее общую и гибко настраиваемую систему всплывающих окон, известных в терминологии call-центров как «PopUp».
 
* Служебный сценарий. Используется голосовыми задачами в конце обработки вызова c передачей собранного контента канала для его обработки, сохранения и других служебных действий (раздел [[Служебные сценарии|Call-центр. Сценарии. Служебные сценарии]]). При этом сценарий обработки контента, назначенный в общих настройках, не запускается. Код инициатора запуска служебного сценария - 26.
 
* Рабочий график задачи. Определяет время активности задачи. Исходящая задачи не производит звонков вне графика, входящая задача не принимает звонки, возвращая управление обратно в сценарий обработки входящих звонков по ветке «Вне графика». Таким образом, задача, даже находясь в активном состоянии, при наличии всех условий будет ожидать начала очередного периода актуальности в соответствии с установленным графиком. График представляет собой недельный срез. Для установки активности – щелкните мышью в соответствующем пересечении дня недели и часа, или растяните рамку выделения необходимой области. Элемент является инверсивным, то есть при двойном выделении переходит в первоначальный вид.
 
* Дата активации задачи. Определяет время, до которого исходящая задача не приступает к действию, даже будучи активной. Входящая задача до наступления этой границы при входе возвращает управление в сценарий обработки входящего вызова по ветке «вне периода актуальности». Время активации можно не назначать, отключив галочку.
 
* Дата прекращения выполнения. Дополнительное условие, подобное рабочему графику, определяющее интервал времени, за пределами которого задача не выполняется и возвращает управление в сценарий по ветке «вне периода актуальности».
 
* Остановить задачу. Способ завершения исходящей задачи. Среди вариантов:
 
** После завершения всех абонентов;
 
** После наступления времени деактивации;
 
** Не останавливать никогда.
 
 
 
 
При выборе пункта «не останавливать никогда», после завершения обзвона исходящая задача становится в ожидание и производит постоянную синхронизацию с таблицей абонентов на предмет появления новых записей. Период ожидания перед очередной синхронизацией задается на вкладке «Абоненты». Задача может быть остановлена только супервизором путем перевода в неактивное состояние.
 
 
При завершении задачи, а также при каждом переходе задачи в режим ожидания появления новых абонентов система вызывает хранимую процедуру A_TaskManager_Task_AfterFinished, передавая в нее идентификатор задачи, системное время сервера, а также отличительный признак текущего состояния - полного завершения или ожидания новых абонентов. При необходимости оперативно реагировать в БД допускается свободная корректировка текста процедуры.
 
* Расписание праздников. Указывает, будет ли применяться поправка на праздничное расписание (выходные и праздники и исключения, настраиваемые для комплекса в модуле общих настроек). В случае, если в расписании праздников день является исключением (праздник или наоборот рабочий день), то расписание задачи корректируется с учетом него, в противном случае применяется стандартное расписание задачи. Корректировка производится следующим образом: если день объявлен праздником - задача не запускается, а если день объявлен рабочим по какому-либо дню недели, то задача активируется в соответствии с ее расписанием для этого дня недели.
 
 
 
 
 
===Ресурсы===
 
 
 
Вкладка определяет ресурсы, выделяемые на задачу системой. С помощью управления ресурсами производится многостороннее ограничение производительности задачи. Это по-разному используется в случае организации аутсорсинговых и корпоративных call-центров.
 
 
 
[[Файл:cl_cc_task_f2.png|center|800px]]
 
 
 
* Операторы. Доступно для задач, обрабатываемых операторами call-центра. В списке операторов выделите галочками необходимых операторов и пользуясь стрелками установите необходимый порядок (если будет использован способ выбора операторов «по cписку»). Оператор может одновременно быть назначен на множество задач, предоставляя автоматике менеджера задач Oktell управление ресурсами (см. [[Менеджер задач|Администрирование. Общие настройки. Менеджер задач. Приоритет исходящих задач]].
 
* Вариант обхода операторов. Доступно для задач, обрабатываемых операторами call-центра. Предоставляет создателю задачи возможность максимально эффективно подходить к выделению ресурсов. В случае, если во входящей задаче дефицит операторов и звонок попадает в очередь, алгоритм выбора не включается, и производится коммутация с первым освободившимся оператором. В других случаях (а также в исходящих задачах) существуют несколько алгоритмов, выбор одного из которых должен производиться после учета всех факторов работы конкретного call-центра:
 
** По списку (по компетенции). Выделяется первый свободный оператор из установленного списка, то есть основная нагрузка ложится на операторов в начале списка.
 
** Поочередно. Организуется список, выбор оператора из которого производится поочередно, например 2, 1, 3, 2, 1, 3, 2, 1, 3.
 
** Наименее занятый по задаче. Ищется оператор, участвовавший в задаче минимальное время среди операторов, назначенных в задачу. Таким образом, из двух операторов, один из которых обработал 5 вызовов по 5 минут каждый, а другой 1 вызов длительностью 0,5 часа, будет выбран первый. Стоит аккуратно использовать этот режим, так как при присоединении к задаче новых операторов весь поток звонков по задаче устремится на них.
 
** Наименее занятый. Учитывая не только контекст данной задачи, а общую работу в организации, будет выбран оператор, который провел в коммутациях меньше всего времени за текущий день. Стоит аккуратно использовать этот режим, так как при присоединении к call-центру новых операторов весь поток звонков по задаче устремится на них.
 
** Наиболее свободный. Среди операторов будет выбран тот, со времени окончания последнего разговора которого прошло больше всего времени.
 
** Случайный выбор. Система пытается найти одного из свободных операторов с помощью равномерного распределения. Таким образом, имитируя равномерность загрузки в случае, если у создателя нет четкой уверенности в корректности применения одного из предыдущих вариантов.
 
** Пользовательская процедура. Используется хранимая процедура <span id="procedura" style="color:green;">A_TaskManager_OperatorsAll_Get_Custom</span> в основной БД. При необходимости формирования динамических списков администратору необходимо сформировать в ней выходную таблицу с кодами операторов, отсортированную в приоритетном порядке от более приоритетных к менее. Будет зарезервирован свободный оператор, код которого располагается в выходном наборе выше всех остальных. Итоговый список фильтруется в соответствии со списком установленных операторов для обработки в конкретной задаче. Отсутствующие же в выходном наборе операторы не  подлежат резервированию на текущий вызов ни в каком случае. При использовании этого режима во входящих задачах в процедуру передаются помимо кода задачи также код абонента в списке (если список прикреплен) и код внешней линии, по которой произошел текущий звонок (по нему из БД можно достать другие поля в таблице коммутаций или во временной таблице, ранее заполненной в сценарии IVR). По умолчанию процедура возвращает всех операторов в каком-то определенном произвольном порядке.
 
 
При использовании пользовательской процедуры в исходящих задачах следует иметь в виду, что при фильтрации списка операторов и невозможности зарезервировать ни одного из перечисленных в ней, осуществляется приостановка выполнения задачи с кодом «Операторы не найдены», даже если в задаче есть свободные операторы, не вошедшие в выборку. Возобновление происходит не позднее чем через минуту. Однако задачи, использующие пул с резервированием операторов, при использовании пользовательской процедуры осуществляют в этом случае последовательный перебор абонентов согласно установленным приоритетам обхода вплоть до момента успешного резервирования оператора, либо до завершения однократного перебора всех абонентов задачи.
 
 
* Супервизоры. Выделите галочками в списке необходимых супервизоров. Они будут получать уведомления при возникновении критических ситуаций, а также будут рассматриваться получателями контрольных событий, назначенных на задачу.
 
* Внешние линии. Доступно только для исходящих задач. При назначении этого свойства для исходящей задачи отметьте галочками выделяемые для использования задачей внешние линии. Задача при возможности совершения очередного вызова будет использовать только те из указанных линий, которые находятся в активном состоянии и согласно их свойств доступны для использования в автоматическом оповещении. 
 
* Ограничивать количество. При необходимости, выставив флаг, можно ограничить использование линий задачами. Для входящей задачи укажите максимальное число подключений к задаче. При поступлении очередного звонка, превышающего число подключений к задаче, будет произведен возврат управления в сценарий обработки входящего вызова по ветке «превышено число подключений». Для исходящей задачи число совершаемых вызовов будет дополнительно ограничиваться указанным количеством линий, что может быть использовано, например, на линиях потока Е1 для разделения ресурсов несколькими задачами при их совместном использовании.
 
 
 
 
 
===Абоненты===
 
 
 
Вкладка определяет прикрепленную таблицу абонентов и формат общения задачи с ней.
 
 
 
[[Файл:cl_cc_task_f3.png|center|800px]]
 
 
 
* Таблица абонентов. Указывает на прикрепленную к задаче таблицу абонентов (из существующих в текущем проекте). Исходящие задачи используют таблицу для осуществления звонков. Входящие задачи могут корректно использовать только ту таблицу абонентов, в основе которой лежит таблица БД. Входящие задачи по выбору могут искать абонента по определившемуся номеру в таблице или для каждого звонка создавать новую запись. В соответствии с настройками таблицы абонентов, часть информации из списка будет отображена во всплывающих «PopUp» окнах на рабочем месте оператора, в случае если рабочее место оператора компьютеризировано. Номера абонента для дозвона берутся из столбцов, отмеченных свойством «Телефон». При смене списка у существующей задачи, статистика по произведенным звонкам не теряется, но задача полностью синхронизирует свой внутренний список с таблицей абонентов. Аналогично задача ведет себя при изменениях, вносимых в назначенную ей таблицу абонентов в модуле [[Таблицы абонентов]]. 
 
* <div id="TableAbonentMethods"></div>Метод работы с таблицей. Доступно только для исходящих задач. Определяет один из нескольких вариантов работы  с данными в таблице абонентов. 
 
** '''Загрузка в память и синхронизация'''. Выставляется по умолчанию. В оперативной памяти создается кэш с данными по идентификаторам и телефонам всех абонентов таблицы. Периодически производится полная синхронизация с БД. Следует иметь в виду, что ресурсы системы ограничены, и поэтому использование этого метода ограничено определенными объемами данных в таблице абонентов. Рост объема влияет как на время синхронизации, так и на общее время обработки. При объеме таблицы более 100 тысяч абонентов рекомендуется использовать альтернативные методы работы с таблицей. В зависимости от производительности и объема оперативной памяти сервера указанное число может возрастать до 1 млн (на все активные задачи). 
 
** <div id="DBCache"></div>'''Кэш внутри БД, встроенный метод'''. Методы кэширования в БД существенно снижают нагрузку и могут быть использованы в любом случае и на любых объемах. Однако при этом исключается возможность использования уникальных приоритетов обхода таблицы, приведенных ниже. Активный в этом случае приоритет обхода аналогичен комбинации {По абонентам, поочередно, поочередно}. В случае массовых задач это не играет большой роли, поскольку оповещение занимает достаточно длительный период. В ходе синхронизации на основе прикрепленной таблицы абонентов в БД строится кэш-таблица (<span style="color:green;">A_TaskManager_Idx_{Идентификатор задачи}</span>), содержащая идентификаторы и состояния абонентов, на которой затем базируется алгоритм поиска абонента для совершения очередного звонка. Не исключается внешнее воздействие на таблицу кэша в целях управления алгоритмом выборки.
 
** '''Сценарий поиска абонента'''. Менеджер задач позволяет использовать совершенно внешний алгоритм поиска абонентов. Делается это посредством служебного сценария поиска абонентов, на каждой итерации вызова которого ожидается получение трех значений: числовой идентификатор абонента в списке, номер для набора, признак завершенности списка/задачи. В этом режиме синхронизация не проводится, так как кэш из управления сервером Oktell вынесен в логику сценария. Любая возвращенная сценарием связка (ид абонента, номер абонента) отправляется в набор вне зависимости от фактического присутствия указанной пары в прикрепленной к задаче таблице абонентов. Однако с проверкой состояния по таблицам собственной оперативной статистики - если проставлен конечный результат или превышено установленное число неудачных попыток дозвона, то сервер воздерживается от набора и вызывает сценарий еще раз. Прикрепленная таблица абонентов используется только для получения доступа к информационным полям и отображения операторам, для операций с переменными типа «Поле таблицы», а также возможно для последующих статистических операций. Для работы метода требуется указание служебного сценария поиска абонента (ниже).
 
 
<span style="color:red;">ВНИМАНИЕ! В обязательном порядке проверяйте наличие индексов по полю идентификатора прикрепленной таблицы абонентов. Особенно это важно при выборе метода работы с таблицей через кэш в БД на больших объемах (более 100 тысяч записей)</span>.
 
 
<span style="color:red;">ВНИМАНИЕ! Процесс поиска оператора/линии/абонента производится менеджером задач линейно. В случае, если сценарий поиска абонентов работает долго, это отразится на отсутствии исходящих звонков по всем исходящим голосовым задачам</span>.
 
 
* Служебный сценарий поиска абонента. Доступно только для исходящих задач, работающих с таблицей через сценарий поиска абонентов (выше). Устанавливает служебный сценарий (в списке предлагается выбор среди проектных сценариев, однако вручную можно указать название любого общего служебного сценария), который вызывается всякий раз, когда менеджер задач принимает решение о необходимости запуска очередного набора номера. Цель сценария определить идентификатор абонента, а также номер, который следует набирать при этом (сохраняются соответственно в служебных переменных «Возвращаемое значение 1» и «Возвращаемое значение 2»). В случае, если сценарий не возвращает корректного идентификатора, он должен указать, является ли это временным, или задача завершена (в этом случае необходимо установить значение «1» в служебную переменную «Возвращаемое значение 3»). 
 
 
На вход сценарий в качестве стандартных функций служебного сценария принимает информацию о задаче. В качестве неявных параметров передаются: 1 - идентификатор списка, 2 - режим вызова («1»-выполнение в потоке менеджера задач с инициативой одиночного запуска, «2»-выполнение в потоке прогрессивного пула с инициативой множественного запуска), 3 - идентификатор сессии поиска, чтобы иметь возможность определять циклы, 4 - идентификатор оператора (для задач [[#ByScriptForOperator|с поиском абонента для оператора]]''). Код инициатора запуска служебного сценария - 21.
 
 
<span style="color:red;">ВНИМАНИЕ! Рекомендуется, но не требуется, чтобы возвращаемые номера и даже идентификаторы однозначно соответствовали таблице абонентов. При выбранном режиме поиска абонентов через сценарий таблица абонентов может быть вовсе пуста, при этом набор будет осуществляться, пока сценарий возвращает уникальные корректные значения идентификаторов и номеров</span>. 
 
 
Задача проверяет возвращаемые сценарием поиска номер и идентификатор абонента и осуществляет фильтрацию по общим правилам. Так например, набор номера не начнется, если предыдущая попытка набора этого же номера еще не завершена, или оператором было ранее установлено и еще не достигнуто время следующего звонка на номер, или число звонков на номер уже превысило допустимое значение. Чтобы оказать влияние на применение тех или иных фильтров следует устанавливать специальные значения служебной переменной «возвращаемое значение 3»:
 
 
- 10 - не использовать фильтры вообще, всегда начинать набор номера;
 
 
- 11 - проверять только количество занято;
 
 
- 12 - проверять только количество не отвечает;
 
 
- 13 - проверять только таймауты номера;
 
 
- 14 - проверять только таймауты абонента;
 
 
- 15 – проверять завершен ли абонент по признаку «FullSuccess»;
 
 
- 16 – проверять завершен ли абонент по признаку «Finished»;
 
 
- 17 – проверять завершен ли абонент по признаку «Stop».
 
 
- Для значений 11-17 возможно указание перечислений, например «11, 12, 16».
 
 
* Отправлять оператору запрос на подтверждение дозвона абоненту. Доступно для задач ''[[#FixOperator|с закреплением за оператором]]'' и ''[[#ByScriptForOperator|поиска абонента для оператора]]''. Определяет, следует ли давать оператору право принятия окончательного решения о совершении звонка конкретному выбранному системой абоненту.
 
 
* Заполнение таблицы. Доступно только для входящих задач. Определяет формат поиска строки в таблице абонентов. Среди вариантов:
 
** '''Каждый звонок модифицирует информацию'''. При поступлении вызова в таблице по определившемуся номеру ищется запись с информацией об абоненте и в случае обнаружения запись используется (отдает на модификацию в формах ввода, используется при маршрутизации). Если запись не найдена, или номер не определился – создается новая запись с пустыми значениями, куда сразу подставляются только новый идентификатор абонента и телефон, а работа аналогична.
 
** '''Каждый звонок создает новую запись'''. Вне зависимости от того, определился номер или нет, существует номер в таблице или нет, создается новая запись с новым идентификатором и сценарий происходит независимо от истории абонента и его предыдущих звонков.
 
 
* Пытаться соединять с оператором, обслуживавшим предыдущий звонок абонента. Доступно для входящих задач, обслуживаемых операторами. При задействовании метода во время поступления звонка производится анализ статистики и установка оператора, который последним обслуживал текущего абонента. Если оператор оказывается свободным, производится соединение с ним, в противном случае происходит постановка звонка в общую очередь задачи. Поиск последнего звонка в зависимости от выбранного типа будет производиться по статистике текущей задачи, либо по всей статистике call-центра. Текущий абонент идентифицируется определившимся при звонке номером, либо кодом в прикрепленной таблице абонентов (в этом случае одному абоненту может принадлежать несколько номеров).
 
* Интервал синхронизации. Доступно только для исходящих задач, работающих с кэшем в памяти или в БД. Определяет промежуток времени до следующей обязательной синхронизации. От 1 минуты до 1 суток. Синхронизация проводится периодически и без учета интервала, в том случае, если список обработан до конца и необходим повторный проход.
 
* Интервал синхронизации при отсутствии активности. Доступно только для исходящих задач, работающих с кэшем в памяти или в БД, остановка которых не предусматривается (параметр «завершить задачу» установлен в «никогда»). В случае, если в списке не осталось ни одного абонента, куда бы задача могла позвонить, она переходит в ожидание с учащенной синхронизацией. Период этой синхронизации указан в данном свойстве. От 1 минуты до 2 часов. Значение 0 в поле фактически соответствует интервалу в 10 секунд.
 
* Синхронизировать со списком при каждой активации. Доступно только для исходящих задач, работающих с кэшем в памяти или в БД. При использовании больших списков с механизмом кэширования в БД процедура синхронизации может занимать некоторое достаточно длительное время. В этой связи синхронизация принудительно проводится лишь при первом обращении к таблице-кэшу после запуска системы (для активных задач при обнаружении возможности совершения звонка, для неактивных задач после первой активации). В задачах, где допускается изменение данных в таблице, использование этого флага позволяет не пользоваться контекстным меню для запуска процедуры синхронизации, а автоматически проводить ее после очередной активации задачи.
 
* Использовать алгоритм перезвона абонентам строго в назначенное время. Доступно только для исходящих задач, работающих с кэшем в памяти и автоматизированным поиском абонента (не посредством ручного выбора). В случае активации режима система осуществляет автоматический постоянный мониторинг находящихся в кэше задачи абонентов на предмет возможности осуществления звонка. Производится отслеживание только тех абонентов, звонок которым уже производился, был выбран результат звонка «Перезвонить абоненту..» (именно абоненту!) и указан период ожидания или время, не ранее которого очередной вызов должен быть произведен. Выставление результата может произойти как в стоп-форме (оператором), так и в сценарии (автоматически на основе заложенного алгоритма). 
 
 
При отключенном режиме производится стандартный однопотоковый обход всей таблицы и возврат к абонентам для перезвона происходит в соответствии с общими принципами выставленного приоритета обхода.
 
 
<span style="color:red;">ВНИМАНИЕ! При формировании задания на перезвон в указанное время для номера автоматически сбрасываются счетчики попыток с результатами «Занято» и «Не отвечает». Если указаны один или несколько альтернативных номеров, то все они считаются приоритетными. Если альтернативный номер не указывается, то приоритетным считается текущий номер, в ходе которого был получен результат «Перезвонить абоненту..». В случае истечения допустимого количества неудачных попыток дозвона производится возврат абонента из приоритетных в общий список со сбросом счетчиков попыток с результатами «Занято» и «Не отвечает».
 
 
<span style="color:red;">ВНИМАНИЕ! Следует иметь в виду, что для решения поставленной задачи автоматического перезвона строго в назначенное время автоматика работает оптимально только при определенных ограниченных объемах поступающих на перезвон абонентов. Если их количество таково, что последовательная их обработка при средней продолжительности звонка на используемом количестве линий и операторов не укладывается в разумное время, задача перестанет корректно функционировать, полностью сосредоточив внимание на абонентах для перезвона с применением «нестрогого» алгоритма их обхода. В ряде случаев имеет смысл отключать механизм перезвона или использовать альтернативные методы работы с таблицей абонентов в целях более тонкой наладки корректного процесса перезвона</span>. 
 
 
 
Несколько следующих параметров определяют большое множество вариантов обхода абонентов. Практически любую постановку можно приближенно настроить в задаче, выставив их соответствующим образом. После описания будет приведено несколько примеров для более четкого понимания. Приоритеты обхода доступны только для задач, осуществляющих дозвон до абонентов по единому списку (все типы кроме задач с ручным выбором абонентов и распределенным списком).
 
* Приоритет обхода абонентов. Доступно только для исходящих задач. Определяет способ поиска очередного абонента в таблице при необходимости осуществить звонок на иных абонентов. 
 
** Строгий. Список абонентов всегда обрабатывается с самого начала. Второй абонент не будет обрабатываться, пока по первому абоненту не будет получен конечный результат (положительный или отрицательный).
 
** Нестрогий. Список абонентов всегда обрабатывается с самого начала. Обрабатывается тот абонент, который находится ближе всех к началу списка и на который есть возможность осуществить звонок (результат по абоненту еще не достигнут, на абонента не установлены таймауты ожидания).
 
** Отсутствует. Производится обработка следующего по списку абонента (циклический обход).
 
** Случайный. Производится случайная выборка из равномерного распределения по таблице абонентов.
 
 
* Приоритет обхода номеров. Доступно только для исходящих задач. Определяет способ поиска очередного номера абонента в таблице при необходимости осуществить звонок на иные номера конкретного абонента.
 
** Строгий. Список номеров текущего абонента всегда обрабатывается с самого начала. Второй номер не будет обрабатываться, пока по первому номеру не будет получен конечный результат (положительный или отрицательный).
 
** Нестрогий. Список номеров абонента всегда обрабатывается с самого начала. В реализацию идет тот номер, который ближе всех к началу списка и на который есть возможность осуществить звонок (результат по абоненту еще не достигнут, номер не отбракован, ни на абонента, ни на номер не установлены таймауты ожидания).
 
** Отсутствует. Производится обработка следующего по списку номера абонента (циклический обход).
 
** Случайный. Производится случайная выборка из равномерного распределения по номерам абонента.
 
 
* Общий приоритет обхода. Доступно только для исходящих задач. При необходимости (или если угодно возможности) произвести очередной звонок, определяет каким способом искать номер – отдать предпочтение выбору нового абонента или попробовать другие номера текущего абонента. Возможные варианты:
 
** Абоненты;
 
** Номера.
 
 
* Прогрессивный обход. Доступно только для исходящих задач с активированной прогрессивной схемой. Определяет способ выбора множества номеров при необходимости произвести одновременно несколько звонков: возьмутся несколько номеров у одного абонента, либо по одному номеру у разных абонентов. Возможные варианты:
 
** Абоненты;
 
** Номера.
 
 
* Лояльность к абонентам. Определяет для логики принятия решений, каким образом проводить действия, где затрагивается время абонента, отличное от разговора с оператором. На итоговую лояльность влияет множество других параметров задачи, в частности настройки очереди, тип выбранной задачи (как было отмечено выше, прогрессивная схема менее лояльна, чем резервирующая операторов). Несмотря на большой диапазон, для простоты среди возможных вариантов в списке приведены только три: 
 
** Отсутствует;
 
** Средняя лояльность;
 
** Полная лояльность;
 
 
 
Словами их можно описать так: Отсутствующая лояльность не помнит причиненных абоненту неудобств, средняя лояльность ограничивает неудобства определенным значением, полная лояльность после первого неудобства берет абонента в отдельную категорию и работает с ним как с единственным.
 
 
 
 
Задачи с ручным выбором абонентов и распределенным списком имеют несколько индивидуальных свойств и возможностей. При создании такой задачи супервизору необходимо провести разбиение списка по операторам.
 
 
 
[[Файл:cl_cc_task_f3a.png|center|800px]]
 
 
 
Распределение абонентов. Поровну или вручную. В первом случае список делится на всех операторов задачи равномерно. Во втором случае супервизору необходимо задать правила распределения.
 
 
 
Таблица распределения. Доступно указание начальных букв, диапазонов букв, количества абонентов (берется подряд после операций с буквами) или процента. После нажатия кнопки «Перераспределить» в БД создается кэш-таблица, согласно которой производится обработка задачи модулем управления.
 
 
 
<span style="color:red;">ВНИМАНИЕ! Добавление операторов в реальном времени в задачу с распределенным списком в модуле управления ресурсами не даст результата, если при разбиении списка оператор не присутствовал в задаче. Необходимо также произвести переброс части абонентов на оператора. Это можно сделать в модуле управления ресурсами на вкладке «Абоненты».
 
 
 
<span style="color:red;">ВНИМАНИЕ! После выполнения одним из операторов всех своих заданий (в соответствии с установками задачи) супервизоры получат соответствующее уведомление</span>.
 
 
 
 
 
===Дополнительно===
 
 
 
Все числовые элементы вкладки доступны только для исходящих задач. Здесь указываются параметры, определяющие не характер, а влияющие на ход выполнения задачи. Позволяют регулировать нагрузку на ресурсы конкретного call-центра наиболее оптимальным способом.
 
* Максимальное число звонков при прогрессивном наборе на каждого оператора. Ограничивает прогрессивный набор установленным числом разрешенных дозвонов. Например, при стандартном значении 5 для трех операторов, ожидающих соединения, будет осуществлено не более 15 дозвонов. При выходе одного из операторов или при получении им звонка, оставшиеся 4 не урезаются, а остаются в очереди. Однако при получении негативных ответов от линий, новые дозвоны не будут осуществляться, пока их больше 10.
 
* Ограничение на вероятность преждевременного звонка. Принуждает систему тщательно анализировать статистику, не переступая за рамки заданного значения вероятности (или в этом случае частоты).
 
* Пауза после получения сигнала «Занято». Устанавливает минимальный таймаут ожидания до следующей попытки набора номера этого же абонента после получения от линии сигнала «Занято». 
 
 
 
[[Файл:cl_cc_task_f4.png|center|800px]]
 
 
 
* Число попыток при ответе «Занято». Устанавливает число попыток дозвона до абонента, если система постоянно получает сигнал «Занято», несмотря на установленные таймауты. После проведения последней из указанного числа попыток, система переводит абонента в «Завершенные» с пометкой «Занято».
 
* Пауза после получения сигнала «Не отвечает». Устанавливает минимальный таймаут ожидания до следующей попытки набора номера этого же абонента после получения от линии сигнала «Не отвечает», или истечении времени ожидания ответа абонента
 
* Число попыток при ответе «Не отвечает». Устанавливает число попыток дозвона до абонента, если система постоянно получает сигнал «Не отвечает», несмотря на установленные таймауты. После проведения последней из указанного числа попыток, система переводит абонента в «Завершенные» с пометкой «Не отвечает».
 
* Время ожидания коммутации. Устанавливает время ожидания, после которого звонку будет присвоен статус «Абонент не отвечает» и увеличен счетчик числа попыток при сигнале «Не отвечает»
 
* Подставляемый номер телефона. При осуществлении исходящих задач на потоке E1 с множеством зарезервированных за ним номеров, система будет подставлять установленный здесь телефонный номер  в качестве CallerId.
 
* Пропускать обработку вызова при ответе факс-автомата. Доступна только для исходящих задач. При выключенном флаге любой ответ абонента считается корректным и переводится в обработку - оператором или IVR, даже если он распознан как факс-автомат. Активировав свойство такие вызовы (распознан факс) по задаче не считаются корректно отвеченными и прекращаются, не попадая в обработку на коммутацию с оператором или IVR. В статистику попыток попадает результат «Факс».
 
* Поведение при переключении абонента на сценарий IVR. 
 
** Продолжать выполнение в рамках задачи с освобождением оператора. Стандартный режим, при котором после перевода оператор освобождается, а сценарий диалога продолжает выполняться у пользователя, на которого произведено переключение, если настройки позволяют передавать диалоговые формы данному пользователю (задача, права, присутствие в списке операторов, наличие клиентского интерфейса и т.д.), либо диалоговый сценарий прекращает свое исполнение в момент переключения. В случае, если перевод осуществляется на очередь, диалоговый сценарий сворачивается у переводившего вызов оператора, а принятие решения о дальнейшем его поведении ожидает снятия трубки абонентом, на которого было произведено переключение. Переключение на IVR также производит вывод текущего оператора из задачи с обрыванием сценария диалога.
 
** Осуществлять выход из задачи (с возможностью входа в другую задачу). Устанавливает режим, при котором любая коммутация с IVR после перевода на него звонка оператором будет автоматически прерывать выполнение текущей задачи, что даст возможность осуществить для линии абонента вход в другую задачу в контексте текущей цепочки коммутаций. Если организовывать таким образом многозадачную реализацию обработки звонка, то в конечном счете в пространственную таблицу коммутаций будет помещена информация по всем коммутациям и служебным предкоммутационным состояниям (ожидание в очереди) со ссылкой на одну и ту же цепочку. Это необходимо иметь в виду при построении сложных отчетов, опирающихся на данные по цепочкам. Все последующие задачи в цепочке - входящие, так как запуск их обработки осуществляется из сценария IVR. Также этот режим может быть использован для перевода звонка на пользователя с сохранением диалоговой формы у оператора, осуществившего перевод. 
 
 
Режим выхода работает только если переключение осуществляется посредством сценария IVR и вне зависимости от того, была ли коммутация абонента непосредственно со сценарием, или сначала было произведено соединение оператора с пользователем через IVR и последующий перевод на абонента.
 
 
В случае использования [[Параметры АТС|сценария входа в АТС]], который всегда активируется при переключениях, заблокирована эта функциональность. При необходимости осуществить аналогичное действие с переключением через сценарий входа в АТС можно использовать компонент [[Общие компоненты сценариев#Статус объекта|Статус объекта]]: раздел «Установить состояние линии» параметр «Выход из задачи». При настройке компонента потребуется номер или идентификатор внешней линии (доступен в качестве функции как в диалоговом, так и в IVR сценарии).
 
 
* Оставлять оператора ожидающим обратного вызова. Режим используется для организации сервисов, в ходе обработки звонка в которых необходимо производить переключение абонента на внешний источник (сценарий, внешнего абонента, некоторого пользователя системы и т.д.) и оставлять оператора со сценарием диалога ожидать соединения с абонентом вновь. Для возврата абонента на оператора в сценарии IVR после успешного соединения с внешним источником необходимо не останавливать сценарий компонентом СТОП, а осуществлять ожидание (пауза, DTMF, появление в БД каких то данных и т.п.), и далее компонентом сценария IVR [[Компоненты сценариев IVR#Переключение на номер|Переключение]] с установленным свойством Назначение => [[Компоненты сценариев IVR#Переключение на номер|Возврат]] к оператору производить обратный вызов сквозь резервирование.
 
 
* Режим вывода абонентов из очереди при освобождении операторов. Абонент помещается в очередь только в случае, когда все операторы заняты. По умолчанию осуществляется конкурентный вывод абонента из очереди, то есть первый абонент очереди соединяется с оператором, первым снявшим трубку. При этом вызов рассылается всем операторам по мере их освобождения и вплоть до снятия первым из них трубки. При наличии в очереди нескольких абонентов второй снявший трубку оператор коммутируется со вторым абонентом и т.д. Конкурентный режим обеспечивает максимально строгое соответствие процесса соединений с изначальной очередностью абонентов - впередистоящий абонент всегда соединится с оператором первым. 
 
 
Свойство позволяет взамен стандартного конкурентного режима установить режим однократного индивидуального закрепления. То есть при освобождении первого из операторов первый абонент очереди закрепляется за ним, и другим операторам по мере освобождения вызов не рассылается (при отсутствии других абонентов в очереди). За вторым освободившимся оператором закрепляется второй абонент из очереди. Если же оператор не снимет трубку в течение установленного времени, звонок абонента станет считаться приоритетным, разместится в первой позиции очереди, и в целях обеспечения лояльности и очередности обработки при следующем выводе из очереди будет применен конкурентный режим вывода.
 
* Режим набора номеров. Доступно только для исходящих задач. Позволяет задать индивидуальные значения, либо сослаться на общие настройки. Определяет режим набора номеров по списку абонентов. Используется для гибкой маршрутизации звонков. Подробнее в разделе [[Менеджер задач|Администрирование. Общие настройки. Менеджер задач. Сценарий набора номера]].
 
* Служебный сценарий набора номера абонента. Доступно только для исходящих задач. Используется только в случае индивидуальной установки режима набора номеров «через сценарий». В этом случае для набора номеров именно по настраиваемой задаче будет использован указанный служебный сценарий. Ищется в проектном каталоге задачи, если не обнаружен - в общем. В случае ошибочного указания используетя обычный режим прямого набора номеров без преобразования и маршрутизации. В качестве неявных параметров: 1 - номер для дозвона, 2 - идентификатор оператора, 3 - время ожидания в секундах. В качестве явных параметров - информация об абоненте и о задаче. Код инициатора запуска - 11.
 
* Использовать очередь. Активирует очередь. Без очереди во входящих задачах, если все операторы заняты, управление будет возвращено в обрабатывающий звонок сценарий IVR по ветке «Занято». Исходящие задачи при неактивной очереди полностью исключают возможность ее использования. В этом случае невозможно сохранение недовведенных до конца звонков в очереди для еще пока занятых операторов в случае прогрессивного набора.
 
* Помещать в очередь при прогрессивном наборе. Отрезает возможность использования ее при прогрессивном наборе.
 
* Ограничивать максимальное число абонентов в очереди. Для исходящих задач с активированным прогрессивным набором устанавливает порог на количество помещаемых в очередь абонентов.
 
* Ограничивать время в очереди. При превышении времени нахождения в очереди больше заданного, происходит выход в управляющий сценарий IVR по ветке «Таймаут очереди ожидания».
 
* Воспроизведение в очереди. Для входящей задачи позволяет выбрать файл (wav, mp3), каталог или сценарий IVR, которые будут применены в случае необходимости воспроизведения позвонившему абоненту мелодии/информации на время очереди. При указании файла в соответствующий момент осуществляется его цикличное воспроизведение. При указании каталога осуществляется случайный выбор и воспроизведение одного из находящихся в нем файлов; после завершения одного файла начинается воспроизведение другого, также выбранного случайно. При указании IVR-сценария осуществляется его запуск в [[Фоновый IVR-сценарий медиа-взаимодействия|фоновом режиме медиа-взаимодействия]] с линией на время ожидания.
 
 
Индивидуально указанное в задаче музыкальное сопровождение пребывания в очереди имеет больший приоритет по сравнению с [[Музыкальное сопровождение|общими настройками]]. Однако не применяются, если в основном сценарии, осуществляющем вход в задачу, было запущено и не завершено [[Компоненты сценариев IVR#Воспроизведение звукового файла|фоновое воспроизведение]] или [[Фоновый IVR-сценарий медиа-взаимодействия|фоновый IVR сценарий медиа-взаимодействия]].
 
 
* Задача не выполнена при времени коммутации менее. Для сценариев автоматического голосового меню устанавливает время, необходимое сценарию, для донесения основной информации. В случае, если абонент кладет трубку раньше установленного времени, дозвон считается неуспешным, в статистику по такому звонку проставляется описание «Время в сценарии недостаточно», и абонент в ходе реализации задачи будет оповещен вновь.
 
* Учитывать результат о недостаточном времени коммутации по аналогии с результатом «Занято». Установка свойства приводит к увеличению счетчика попыток с результатом «Занято» и выставления соответствующего настройке таймаута перед началом повторного звонка абоненту по текущему номеру.
 
* Максимальная продолжительность разговора. Задает время (от начала обработки вызова), по истечению которого наступает контрольное событие, а в диалоговых формах оператора отображается признак превышения установленного времени.
 
* Воспроизведение во FLASH-буфере. В случае активации и указания файла (wav, mp3), каталога или сценария IVR, осуществляется индивидуальное для задачи медиа-взаимодействие с линией обслуживаемого абонента задачи при размещении его во FLASH-буфере.
 
* <div id="EffortResultScript"></div> Служебный сценарий обработки результата звонка/попытки. После завершения каждого звонка/попытки набора номера осуществляется размещение данных в таблицах оперативной статистики БД. При необходимости учитывать результаты во внешней системе, обеспечивающей управление дозвоном или контроль за ходом процесса, можно использовать служебный сценарий. В списке предлагается перечень служебных сценариев проекта, однако вручную можно ввести название любого общего служебного сценария. На вход сценарий в качестве стандартных функций служебных сценариев получает информацию о задаче, идентификатор абонента в списке, идентификатор и номер обслуживаемой линии, код сессии сценария (цепочки коммутаций в случае существования успешных соединений), а в качестве неявных параметров передаются: 1 - номер абонента, 2 - идентификатор последнего оператора, 3 - целочисленный код результата звонка (перечень находится в пространственной БД в таблице <span style="color:green;">A_Cube_CC_Cat_TaskResultTypes</span>), 4 - целочисленный код [[Системные настройки#Call-центр|пользовательского результата]] звонка, 5 - код ответа-отказа SIP в случае неудачного исходящего вызова. Код инициатора запуска служебного сценария - 22.
 
* Переводить сценарий диалога только на операторов задачи. При переключении звонка оператором (или IVR) на другого пользователя системы устанавливает режим перевода сценария диалога. При установке флага (по умолчанию установлен) текущая отображаемая диалоговая форма переходит к оператору, на которого произошло переключение, только в том случае, если он назначен в данную задачу. В противном случае сценарий диалога завершается и обработка звонка продолжается без него. Если флаг не установлен, то диалоговая форма отображается и сценарий продолжается у любого пользователя в случае, если его рабочее место оснащено клиентским интерфейсом.
 
* Разрешить прикрепление звонка к задаче. Для всех типов задач за исключением [[#ManualCall|исходящих с дозвоном вручную]] определяет возможность для операторов и сценариев осуществлять привязку существующего активного разговора оператора с внешним абонентом к задаче со всеми вытекающими последствиями: диалоговый сценарий, размещение номера в таблице абонентов, поствызывная обработка, статистика, возможно дальнейшие автоматизированные перезвоны абоненту. [[#ManualCall|Подробнее]].
 
* Режим записи. Позволяет установить индивидуальный режим записи для настраиваемой задачи. Если определен индивидуальный режим записи, то вне зависимости от установок в разделе [[Запись разговоров|Общие настройки. Запись разговоров]] запись всех коммутаций в рамках задачи будет активирована или наоборот деактивирована. 
 
* Поведение сценария диалога после разрыва коммутации. Действует для задач, обслуживаемых оператором. Позволяет индивидуально для задачи выставить значение параметра, задаваемого в модуле общих настроек. ([[Менеджер задач|Общие настройки. Менеджер задач]])
 
* При нажатии СТОП в диалоговой форме. Действует для задач, обслуживаемых оператором. Позволяет индивидуально для задачи выставить значение параметра, задаваемого в модуле общих настроек. (Подробнее см. [[Менеджер задач|Общие настройки. Менеджер задач]])
 
* Момент запуска сценария диалога. Действует для задач, обслуживаемых оператором. Позволяет индивидуально для задачи выставить значение параметра, задаваемого в модуле общих настроек. (Подробнее см. [[Менеджер задач|Общие настройки. Менеджер задач]])
 
* Резервирование внешней линии. Действует для задач, обслуживаемых оператором в режиме с запросом на дозвон. Позволяет индивидуально для задачи выставить значение параметра, задаваемого в модуле общих настроек. (Подробнее см. [[Менеджер задач|Общие настройки. Менеджер задач]])
 
* Сценарий запроса на дозвон. Действует для задач, обслуживаемых оператором в режиме с запросом на дозвон. При установке флага и назначении диалогового сценария, принадлежащего проекту, вместо стандартного окна запроса на дозвон с информацией об абоненте из полей прикрепленной таблицы, обозначенных как «Информационное поле», запускается выбранный сценарий диалога с произвольным наполнением. Решение оператора определяется значением служебной переменной «Результат запроса»: 0-дозвон, 1-пропуск абонента, 2-удаление абонента из списка (отказ).
 
 
 
 
Для применения изменений задачи нажмите кнопку «Сохранить» внизу.
 
Для применения изменений задачи нажмите кнопку «Сохранить» внизу.
 
 
   
 
   
 
Некоторые моменты, касающиеся работы менеджера задач и не связанные явно с модулем редактирования задач приведены в разделе [[Менеджер голосовых задач|Принципы работы логики. Менеджер задач]].  
 
Некоторые моменты, касающиеся работы менеджера задач и не связанные явно с модулем редактирования задач приведены в разделе [[Менеджер голосовых задач|Принципы работы логики. Менеджер задач]].  

Текущая версия на 09:10, 14 января 2015

Техническая документация / Call-центр / Задачи / Голосовые задачи


В этом разделе:


Виды голосовых задач

Голосовые задачи в системе Oktell делятся на входящие и исходящие.


Входящие задачи активируются при поступлении звонка из сценария обработки IVR и ее действие определяется как сценарием, так и собственными настройками. Входящая задача инициируется при состоявшемся и ожидающем ответа звонке со стороны внешних линий.

Ход исполнения задачи состоит из нескольких этапов:

  • Определение доступного оператора (по настройкам задачи и статистике работы call-центра);
  • Коммутация с оператором;
  • Помощь в проведении разговора, определяющаяся соответствующим сценарием разговора (доведение до абонента персональной информации и занесение ответов абонента в базу);
  • Внесение информации о результатах звонка и при необходимости запрос у оператора результатов;

В качестве оператора может выступать автоматическое голосовое меню (IVR) Oktell согласно прикрепленным к задаче сценариям IVR.


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

Ход проведения исходящего оповещения зависит от типа. В общем виде этапы можно описать следующим образом:

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

Аналогично входящим задачам в качестве оператора в исходящей задаче может выступать IVR.


Активация задачи

В приведенном списке всех существующих задач вы можете видеть их свойства и состояние. Среди состояний: пассивные (помечаются серым индикатором), активные (помечаются красным индикатором), завершенные (помечаются зеленым индикатором).


Сразу после создания задаче выставляется пассивное состояние. Для старта или возобновления выполнения исходящей задачи, а также для получения доступа к входящей задаче из сценария IVR, необходимо перевести ее в активное состояние. Выделите ее в списке и нажмите кнопку «Активировать» в контекстном меню или кнопку «Сменить статус» внизу.

Чтобы временно приостановить выполнение задачи нажмите кнопку «Приостановить выполнение» в контекстном меню или кнопку "Сменить статус" внизу.


Голосовые задачи 001.png


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


Для применения изменений задачи нажмите кнопку «Сохранить» внизу.

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


Для повторного запуска исходящей задачи голосового оповещения необходимо очистить ее оперативную информацию. Убедитесь, что задача завершила свое выполнение и в контекстном меню выберите пункт «Очистить оперативную статистику». После активации задача вновь приступит к выполнению.


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