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

Материал из Oktell
Перейти к: навигация, поиск
 
(не показано 28 промежуточных версии этого же участника)
Строка 1: Строка 1:
[[Задачи|Наверх]]
+
<code>[[Техническая документация]] / [[Call-центр]] / [[Задачи]] / [[Голосовые задачи]]</code>
 +
__NOTOC__
  
__TOC__
+
<code>В этом разделе:
 +
*[[Исходящие задачи]]
 +
*[[Входящие задачи]]
 +
*[[Задачи:Основные параметры|Основные параметры]]
 +
*[[Задачи:Ресурсы|Ресурсы]]
 +
*[[Задачи:Абоненты|Абоненты]]
 +
*[[Задачи:Дополнительно|Дополнительно]]
 +
</code>
  
===Основные параметры===
 
  
Вкладка предоставляет доступ к основным определяющим поведение задачи свойствам.
+
===Виды голосовых задач===
* Название задачи.
+
* Код задачи. Параметр применяется для взаимодействия с внешними базами данных, ведущихся по проектам во многих аутсорсинговых call-центрах. Параметр доступен в любом сценарии, выполняющемся в ходе реализации каждого звонка по конкретной задаче.
+
* Направление (исходящее/входящее). Отличия входящей и исходящей задачи указаны выше в описании данного модуля.
+
  
  
[[Файл:cl_cc_task5.png|center|800px]]
+
Голосовые задачи в системе Oktell делятся на входящие и исходящие.
  
  
* Тип задачи. Определяет каким способом ведется обработка звонка – автоматическим (IVR) или с помощью оператора. Среди исходящих задач существует несколько типов организации массового оповещения с участием операторов: 
+
'''Входящие задачи''' активируются при поступлении звонка из сценария обработки IVR и ее действие определяется как сценарием, так и собственными настройками. Входящая задача инициируется при состоявшемся и ожидающем ответа звонке со стороны внешних линий.
** [[#Reserve|Оповещение оператором с резервированием и уведомлением]].
+
** [[#Reserve|Оповещение оператором с резервированием и запросом]].
+
** [[#ManualChoice|Оповещение оператором с ручным выбором абонентов]].
+
** [[#FixOperator|Оповещение оператором с закреплением абонентов]].
+
** [[#ByScriptForOperator|Поиск абонента для оператора]].
+
** [[#Progress|Прогрессивный обзвон операторами]].
+
** [[#ProgressPredict|Прогрессивно-предиктивный обзвон операторами]].
+
** [[#ManualCall|Дозвон операторами вручную]].
+
  
+
Ход исполнения задачи состоит из нескольких этапов:
 +
* Определение доступного оператора (по настройкам задачи и статистике работы call-центра);
 +
* Коммутация с оператором;
 +
* Помощь в проведении разговора, определяющаяся соответствующим сценарием разговора (доведение до абонента персональной информации и занесение ответов абонента в базу);
 +
* Внесение информации о результатах звонка и при необходимости запрос у оператора результатов;
  
<div id="Reserve"></div>
+
В качестве оператора может выступать автоматическое голосовое меню (IVR) Oktell согласно прикрепленным к задаче сценариям IVR.
'''Оповещение с резервированием'''. Начинает дозвон до одного конкретного номера телефона, предварительно найдя и зарезервировав оператора. Оператору выводится уведомление или запрос на проведение обозначенного звонка, который в этом случае он может принять, отложить или отклонить.
+
  
 +
 +
'''Исходящие задачи''' имеют собственный список номеров для совершения звонков, и активируются при обнаружении возможности произвести звонок. Детали сильно зависят от настроек задачи, но в общем виде возможность включает в себя наличие доступных операторов, наличие свободных линий для звонка, время, дата, результаты предыдущих звонков и т.д.
  
<div id="ManualChoice"></div>
+
Ход проведения исходящего оповещения зависит от типа. В общем виде этапы можно описать следующим образом:
'''Оповещение с ручным выбором абонентов'''. Кардинальное отличие от простого резервирования состоит не только в предоставлении оператору возможности выбора абонента, но и в использовании пула дозвона до абонентов по распределенному списку. Каждому оператору выделяется определенная группа абонентов, с которыми он работает индвивидуально (звонки абонентам осуществляются только им). При настройке этого типа задачи на вкладке [[#Абоненты|Абоненты]] появляются элементы для задания правил разбиения списка по операторам (подробнее об этом далее в разделе). Супервизору при создании подобной задачи необходимо в обязательном порядке провести распределение списка, в противном случае задача не найдет подходящих условий для совершения вызовов. Допускается равномерное деление, а также деление по правилам (количеству, процентному соотношению, начальным буквам названия абонента). Нераспределенные абоненты, а также абоненты, появившиеся в списке после разбиения не будут автоматически присоединены к обработке. Подобный тип задачи предусматривает полный контроль ситуации супервизором. На вкладке «Абоненты» модуля [[Ресурсы]] для задач с распределенным списком предоставляется возможность управления текущим разбиением на основе статусов звонков, и для полноты информации предоставляются доступ к дополнительным служебным статусам. Абонентов с определенными состояниями супервизор имеет возможность перетащить от одного оператора к другому, тем самым скорректировав разбиение списка. Также см. [[Менеджер голосовых задач|Принципы работы логики. Менеджер голосовых задач. Задачи с распределенным списком]].
+
* Определение момента необходимости набора номера;
 +
* Определение одной или нескольких комбинаций (абонент, номер) из установленного списка, подходящего для звонка в конкретный момент (по настройкам и предыдущим попыткам);
 +
* Если оповещение с резервированием оператора, то определение доступного для исполнения задачи оператора (по настройкам задачи и статистике работы call-центра), его резервирование и уведомление или запрос на звонок;
 +
* Дозвон до одного из номеров в установленном списке
 +
* Коммутация с оператором или помещение в очередь, если операторы не зарезервированы (в случае прогрессивных схем).  
 +
* Помощь в проведении разговора, определяющаяся соответствующим сценарием разговора (доведение до абонента персональной информации и занесение ответов абонента в базу);
 +
* Внесение информации о результатах звонка и при необходимости запрос у оператора результатов;
  
 +
Аналогично входящим задачам в качестве оператора в исходящей задаче может выступать IVR.
  
<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''. При синхронизации задачи с таблицей абонентов в этом случае осуществляется автоматическое перестроение кэша и привязка абонентов к соответствующим операторам.
+
В приведенном списке всех существующих задач вы можете видеть их свойства и состояние. Среди состояний: пассивные (помечаются серым индикатором), активные (помечаются красным индикатором), завершенные (помечаются зеленым индикатором).
+
 
+
<div id="ByScriptForOperator"></div>
+
'''Поиск абонента для оператора'''. Позволяет организовать исходящую задачу с помощью сценария поиска абонента, куда дополнительно в качестве параметра передается идентификатор оператора, для какого производится поиск.
+
 
+
 
+
<div id="Progress"></div>
+
'''Прогрессивный дозвон'''. При обнаружении свободного оператора, задача помещает его в очередь и осуществляет одновременно несколько звонков. Первый успешный вызов сразу коммутируется. Остальные звонки в зависимости от настроек задачи (лояльность, очередь прогрессивного набора) остаются в очереди для других операторов, или прекращаются. Априори достоверно, что прогрессивная схема менее лояльна к абонентам, чем схема с резервированием. Если в очереди ожидающих дозвона находятся несколько операторов, то первый успешный звонок выделяется для первого оператора в очереди. Очевидный факт, что абоненты при исходящем оповещении ждать ответа в основном не намерены. Сервер Oktell при использовании прогрессивной схемы пытается минимизировать время ожидания операторов, взяв в расчет именно этот принцип и практически не давая вырастать очереди абонентов.
+
  
Однако существуют настройки задач, при которых абоненты ждут операторов. Такие задачи редко представляют интерес. В этом случае очереди компенсируют друг друга, но лояльность к абонентам существенно снижается.
 
 
   
 
   
Прогрессивный дозвон имеет больший смысл, если число линий, выделенных для задачи больше числа операторов, единовременно обрабатывающих задачу. Разумно настроенная прогрессивная схема – крайне эффективный инструмент. В качестве примера можно привести следующий результат в самых крайних условиях: Оповещение одним оператором по двум линиям списка из 10 абонентов, где у каждого абонента от 1 до 5 телефонных номеров и ситуация усугубляется тем, что половина номеров в итоге не отвечает. Для оператора наличие «битых» номеров остается незаметным до самого конца, когда на обеих линиях остаются только абоненты, не имеющие ни одного нормального номера. При увеличении числа линий и числа операторов качество заметно повышается. Более эффективно и менее лояльно прогрессивный дозвон можно настраивать, если число операторов достаточно велико, а время обработки одного звонка достаточно мало.  
+
Сразу после создания задаче выставляется пассивное состояние. Для старта или возобновления выполнения исходящей задачи, а также для получения доступа к входящей задаче из сценария IVR, необходимо перевести ее в активное состояние. Выделите ее в списке и нажмите кнопку «Активировать» в контекстном меню или кнопку «Сменить статус» внизу.  
  
В схемах, где число линий и операторов, назначенных в задачу, практически одинаково и значительно (20, 30, 40, 50, ...) прогрессивный дозвон экономит время поствызывной обработки и набора номера, производя работу в параллельном режиме, что в некоторых случаях приводит практически к тем же результатам что и в случае с числом линий, превышающим число операторов, обладая вместе с этим преимуществом, делая невозможным рост очереди абонентов.
+
Чтобы временно приостановить выполнение задачи нажмите кнопку «Приостановить выполнение» в контекстном меню или кнопку "Сменить статус" внизу.  
+
Использование прогрессивного набора в массовых кампаниях накладывает дополнительные требования, подробнее в разделе [[Менеджер голосовых задач|Принципы работы логики. Менеджер голосовых задач. Прогрессивный набор]].
+
+
Задачи с прогрессивным набором очень эффективное средство, дающее наибольшую производительность при рационально назначенных количественных и ресурсных свойствах. Ориентировочная занятость операторов в зависимости от длительности разговора, соотношения операторы / линии и качества телефонной базы может достигать 90% и более.
+
  
  
<div id="ProgressPredict"></div>
+
[[Файл:Голосовые задачи 001.png|600px|center]]
'''Прогрессивно-предиктивный дозвон'''. Общая схема аналогична задачам [[#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, передавая в нее идентификатор задачи, системное время сервера, а также отличительный признак текущего состояния - полного завершения или ожидания новых абонентов. При необходимости оперативно реагировать в БД допускается свободная корректировка текста процедуры.
 
* Расписание праздников. Указывает, будет ли применяться поправка на праздничное расписание (выходные и праздники и исключения, настраиваемые для комплекса в модуле общих настроек). В случае, если в расписании праздников день является исключением (праздник или наоборот рабочий день), то расписание задачи корректируется с учетом него, в противном случае применяется стандартное расписание задачи. Корректировка производится следующим образом: если день объявлен праздником - задача не запускается, а если день объявлен рабочим по какому-либо дню недели, то задача активируется в соответствии с ее расписанием для этого дня недели.
 
 
 
 
==[[Задачи/Ресурсы]]==
 
 
 
==[[Задачи/Абоненты]]==
 
 
 
==[[Задачи/Дополнительно]]==
 
 
 
 
Для применения изменений задачи нажмите кнопку «Сохранить» внизу.
 
Для применения изменений задачи нажмите кнопку «Сохранить» внизу.
 
 
   
 
   
 
Некоторые моменты, касающиеся работы менеджера задач и не связанные явно с модулем редактирования задач приведены в разделе [[Менеджер голосовых задач|Принципы работы логики. Менеджер задач]].  
 
Некоторые моменты, касающиеся работы менеджера задач и не связанные явно с модулем редактирования задач приведены в разделе [[Менеджер голосовых задач|Принципы работы логики. Менеджер задач]].  

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

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


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


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

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


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

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

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

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


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

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

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

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


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

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


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

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


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


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


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

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


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


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