Исходящие задачи — различия между версиями
м (→С запросом у оператора) |
|||
(не показано 60 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
<code>[[Техническая документация]] / [[Call-центр]] / [[Задачи]] / [[Голосовые задачи]] / [[Исходящие задачи]]</code> | <code>[[Техническая документация]] / [[Call-центр]] / [[Задачи]] / [[Голосовые задачи]] / [[Исходящие задачи]]</code> | ||
+ | __TOC__ | ||
+ | |||
+ | |||
+ | '''Исходящая задача''' - функционал Call-центра для автоматического совершения исходящих вызовов. Позволяет проводить массовые обзвоны, автоинформирование клиентов как с помощью операторов, так и с помощью IVR. Исходящие задачи имеют собственный список номеров для совершения звонков, и активируются при обнаружении возможности произвести звонок. Детали сильно зависят от настроек задачи, но в общем виде возможность включает в себя наличие доступных операторов, наличие свободных линий для звонка, время, дата, результаты предыдущих звонков и т.д. | ||
+ | |||
+ | Ход проведения исходящего оповещения зависит от типа. В общем виде этапы можно описать следующим образом: | ||
+ | :'''1.''' Определение момента необходимости звонка абоненту. | ||
+ | :'''2.''' Определение одной или нескольких комбинаций (абонент, номер) из установленного списка, подходящего для звонка в конкретный момент (по настройкам и предыдущим попыткам). На данном этапе может быть использован [http://wiki.oktell.ru/Задачи:Абоненты#.D0.A1.D0.BB.D1.83.D0.B6.D0.B5.D0.B1.D0.BD.D1.8B.D0.B9_.D1.81.D1.86.D0.B5.D0.BD.D0.B0.D1.80.D0.B8.D0.B9_.D0.BF.D0.BE.D0.B8.D1.81.D0.BA.D0.B0_.D0.B0.D0.B1.D0.BE.D0.BD.D0.B5.D0.BD.D1.82.D0.B0 сценарий поиска абонента]. | ||
+ | :'''3.''' Если оповещение с резервированием оператора, то определение доступного для исполнения задачи оператора (по настройкам задачи и статистике работы call-центра), его резервирование и уведомление или запрос на звонок | ||
+ | :'''4.''' Дозвон до одного из номеров в установленном списке. На данном этапе может быть использован [http://wiki.oktell.ru/Задачи:Дополнительно#.D0.A1.D0.BB.D1.83.D0.B6.D0.B5.D0.B1.D0.BD.D1.8B.D0.B9_.D1.81.D1.86.D0.B5.D0.BD.D0.B0.D1.80.D0.B8.D0.B9_.D0.BD.D0.B0.D0.B1.D0.BE.D1.80.D0.B0_.D0.BD.D0.BE.D0.BC.D0.B5.D1.80.D0.B0_.D0.B0.D0.B1.D0.BE.D0.BD.D0.B5.D0.BD.D1.82.D0.B0 сценарий набора номера]. | ||
+ | :'''5.''' Коммутация с оператором или помещение в очередь, если операторы не зарезервированы (в случае прогрессивных схем) | ||
+ | :'''6.''' Помощь в проведении разговора, определяющаяся соответствующим сценарием разговора (доведение до абонента персональной информации и занесение ответов абонента в базу) | ||
+ | :'''7.''' Внесение информации о результатах звонка и при необходимости запрос у оператора результатов. На данном этапе может быть использован [http://wiki.oktell.ru/Задачи:Дополнительно#.D0.A1.D0.BB.D1.83.D0.B6.D0.B5.D0.B1.D0.BD.D1.8B.D0.B9_.D1.81.D1.86.D0.B5.D0.BD.D0.B0.D1.80.D0.B8.D0.B9_.D0.BE.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B8_.D1.80.D0.B5.D0.B7.D1.83.D0.BB.D1.8C.D1.82.D0.B0.D1.82.D0.B0_.D0.B7.D0.B2.D0.BE.D0.BD.D0.BA.D0.B0.2F.D0.BF.D0.BE.D0.BF.D1.8B.D1.82.D0.BA.D0.B8 сценарий обработки результата обработки звонка/попытки]. | ||
Исходящая задача может перейти в состояние завершенной после отработки всего предоставленного ей списка абонентов и получения окончательного результата по каждому из них, если у нее установлено соответствующее свойство завершения. Завершение может также быть произведено по временной границе или вовсе не производиться. Незавершающиеся исходящие задачи полезны в случаях использования динамических таблиц абонентов. Например там, где осуществляется пополнение списка абонентов через сайт, или существует жесткое условие на состояние счета для осуществления звонка. | Исходящая задача может перейти в состояние завершенной после отработки всего предоставленного ей списка абонентов и получения окончательного результата по каждому из них, если у нее установлено соответствующее свойство завершения. Завершение может также быть произведено по временной границе или вовсе не производиться. Незавершающиеся исходящие задачи полезны в случаях использования динамических таблиц абонентов. Например там, где осуществляется пополнение списка абонентов через сайт, или существует жесткое условие на состояние счета для осуществления звонка. | ||
− | + | Чтобы создать исходящую задачу | |
+ | *Создайте проект, в котором будет располагаться задача | ||
+ | *В модуле "'''Задачи'''" в левой части выберите нужный проект и нажмите кнопку "'''Добавить'''" | ||
+ | *Выберите "'''Исходящее голосовое оповещение'''" и введите название задачи | ||
+ | *Настройте вашу задачу | ||
+ | |||
+ | |||
+ | [[Файл:Исходящие задачи 001.png|600px|center]] | ||
+ | |||
+ | |||
+ | ==Типы исходящих задач== | ||
+ | |||
+ | ===IVR=== | ||
+ | Задача обзванивает базу абонентов по всем доступным ей линиям (настраивается на вкладке [[Задачи:Ресурсы|Ресурсы]]). Дозвонившись до клиента, запускает выбранный IVR сценарий. Для гарантированного прослушивания оповещения в настройках задачи укажите требуемое количество секунд в настройке [http://wiki.oktell.ru/Задачи:Дополнительно#.D0.97.D0.B0.D0.B4.D0.B0.D1.87.D0.B0_.D0.BD.D0.B5_.D0.B2.D1.8B.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B0_.D0.BF.D1.80.D0.B8_.D0.B2.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.B8_.D0.BA.D0.BE.D0.BC.D0.BC.D1.83.D1.82.D0.B0.D1.86.D0.B8.D0.B8_.D0.BC.D0.B5.D0.BD.D0.B5.D0.B5 Задача не выполнена при времени коммутации менее]. | ||
+ | |||
+ | Обратите внимание, что данная задача не операторская и не требует выделения операторов. Для работы задачи обязательно нужно указать IVR сценарий, диалоговый сценарий указывать не нужно. | ||
+ | Порядок выполнения: | ||
+ | :'''1.''' Определение абонента, которому нужно совершить звонок. Зависит от обхода таблицы абонентов или сценария поиска абонента. | ||
+ | :'''2.''' Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера. | ||
+ | :'''3.''' Дозвон до абонента. | ||
+ | :'''3.1.''' Если клиент поднимает трубку, то на его линии запускается выбранный IVR сценарий. После окончания IVR сценария (обрыв связи), запускается постобработка (п.4) и служебный сценарий, относящийся к данной задаче. | ||
+ | :'''3.2.''' Если соединение неудачно, запускается постобработка (п.4) и служебный сценарий обработки контента из общих настроек. | ||
+ | :'''4.''' Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Переход к '''п.1.'''. | ||
− | |||
<div id="Reserve"></div> | <div id="Reserve"></div> | ||
− | |||
+ | ===С уведомлением оператора=== | ||
+ | Перед тем как начать дозвон до конкретного номера телефона задача находит и резервирует оператора. Оператору выводится уведомление, что он зарезервирован на определенного абонента. Отклонить дозвон нельзя; все время дозвона предполагается, что оператор ожидает соединения. После того, как клиент взял трубку, производится обратный отзвон. Если дозвон неудачный, уведомление пропадает и процесс повторяется для нового абонента. В каждый момент времени, оператор закреплен за одним конкретным абонентом. | ||
− | + | Порядок выполнения: | |
− | ''' | + | :'''1.''' Определение абонента, которому нужно совершить звонок. Зависит от способа обхода таблицы абонентов или сценария поиска абонента. |
+ | :'''2.''' Определение и резервирование оператора. Зависит от варианта обхода операторов, скилл-тэгов или пользовательской процедуры. Выбранному оператору устанавливается статус "Занят" и отображается окно с уведомлением о звонке: | ||
+ | |||
+ | |||
+ | [[Файл:Исходящие задачи 002.png|center]] | ||
+ | |||
+ | |||
+ | :'''3.''' Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера. | ||
+ | :'''4.''' Дозвон до внешнего абонента. | ||
+ | :'''4.1.''' Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.5). Клиенту воспроизводится мелодия ожидания. | ||
+ | :'''4.2.''' Если соединение с абонентом неудачно, запускается постобработка (п.6) и служебный сценарий обработки контента из общих настроек. | ||
+ | :'''5.''' Обратный отзвон оператору. | ||
+ | :'''5.1.''' Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.6). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче. | ||
+ | :'''5.2.''' Если оператор не поднимает трубку, соединение с внешней линией разрывается. Запускается постобработка (п.6) и служебный сценарий, выбранный в задаче. | ||
+ | :'''6.''' Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к '''п.1.'''. | ||
+ | |||
+ | |||
+ | ===С запросом у оператора=== | ||
+ | Начинает дозвон до одного конкретного номера телефона, предварительно найдя и зарезервировав оператора. Оператору выводится запрос на проведение обозначенного звонка, который он может принять, отложить или отклонить. Если оператор нажимает "Да", задача начинает дозвон до абонента. Затем, если клиент взял трубку, система производит обратный отзвон на оператора. | ||
+ | |||
+ | Если оператор нажимает "Пропустить", система откладывает дозвон до этого абонента на 5 минут. В случае нажатия на "Удалить", абонент удаляется из оперативной статистики и система не будет делать дозвоны до этого абонента. Действие можно отменить с помощью SQL-запроса к оперативной статистике, в котором сменить статус абонента. | ||
+ | |||
+ | |||
+ | Порядок выполнения: | ||
+ | :'''1.''' Определение абонента, которому нужно совершить звонок. Зависит от способа обхода таблицы абонентов или сценария поиска абонента. | ||
+ | :'''2.''' Определение и резервирование оператора. Зависит от варианта обхода операторов, скилл-тэгов или пользовательской процедуры. Выбранному оператору устанавливается статус "Занят" и отображается окно запроса на дозвон с вариантами "Да", "Пропустить" и "Удалить": | ||
+ | |||
+ | |||
+ | [[Файл:Исходящие задачи 003.png|center]] | ||
+ | |||
+ | |||
+ | Стандартную форму запроса можно поменять с помощью диалогового сценария запроса на дозвон в настройках задачи. В сценарии запроса на дозвон с помощью форм вы можете | ||
+ | *вывести любую информацию из БД, например историю обращений клиента | ||
+ | *скрыть служебные кнопки, например убрать кнопку "Удалить" | ||
+ | *автоматически присваивать статус запроса после показа информации | ||
+ | |||
+ | |||
+ | :'''3.''' Оператор выбирает определенный вариант в форме запроса на дозвон. В случае использования сценария запрос на дозвон ожидание возвращаемых значений. | ||
+ | :'''3.1''' Если оператор выбирает "Да", система начинает набор номера (п.4) | ||
+ | :'''3.2''' Если оператор выбирает "Пропустить", система откладывает дозвон до данного абонента на 5 минут. Переход к этапу постобработки (п.7). | ||
+ | :'''3.3''' Если оператор выбирает "Удалить", система удаляет абонента из списка обзвона в оперативной статистике. В таблице абонентов информация сохраняется. Переход к этапу постобработки (п.7). | ||
+ | :'''4.''' Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера. | ||
+ | :'''5.''' Дозвон до внешнего абонента. | ||
+ | :'''5.1.''' Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.6). Клиенту воспроизводится мелодия ожидания. | ||
+ | :'''5.2.''' Если соединение с абонентом неудачно, запускается постобработка (п.7) и служебный сценарий обработки контента из общих настроек. | ||
+ | :'''6.''' Обратный отзвон оператору. | ||
+ | :'''6.1.''' Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.7). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче. | ||
+ | :'''6.2.''' Если оператор не поднимает трубку, соединение с внешней линией разрывается. Запускается постобработка (п.6) и служебный сценарий, выбранный в задаче. | ||
+ | :'''7.''' Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к '''п.1.'''. | ||
<div id="FixOperator"></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> в зависимости от того, на базе таблицы или запроса сформирована таблица абонентов). | Автоматический поиск и закрепления абонента из списка нераспределенных при отсутствии абонентов в текущем списке оператора может быть осуществлено средствами хранимых процедур (поиск абонента для обработки звонка конкретным оператором конкретной задачи - <span style="color:green;">''A_TaskManager_List_DistrDirectDB_GetTable''</span> или <span style="color:green;">''A_TaskManager_List_DistrDirectDB_GetQuery''</span> в зависимости от того, на базе таблицы или запроса сформирована таблица абонентов). | ||
В таблице абонентов для задач этого типа может быть добавлен и назначен столбец ''Идентификатор оператора'', значения которого имеют тип данных ''uniqueidentifier''. При синхронизации задачи с таблицей абонентов в этом случае осуществляется автоматическое перестроение кэша и привязка абонентов к соответствующим операторам. | В таблице абонентов для задач этого типа может быть добавлен и назначен столбец ''Идентификатор оператора'', значения которого имеют тип данных ''uniqueidentifier''. При синхронизации задачи с таблицей абонентов в этом случае осуществляется автоматическое перестроение кэша и привязка абонентов к соответствующим операторам. | ||
− | + | ||
+ | |||
+ | Порядок выполнения: | ||
+ | :'''1.''' Выбор первого свободного оператора. Если свободных операторов нет, система повторит попытку через 1 минуту или в момент освобождения операторов. | ||
+ | :'''2.''' Определение абонента, которому нужно совершить звонок. На данном этапе задача передает идентификатор выбранного оператора (п.1) в хранимую процедуру <span style="color:green;">''A_TaskManager_List_DistrDirectDB_GetTable''</span>, если таблица абонентов сформирована на базе таблицы БД или <span style="color:green;">''A_TaskManager_List_DistrDirectDB_GetQuery''</span> в случае формирования на базе запроса. По умолчанию процедуры возвращают абонента из таблицы ''A_TaskManager_dIdx_[guid-идентификатор задачи]'' с минимальным кол-вом попыток (поле AC), допустимым статусом (поле State) и относящегося к выбранному оператору (поле IdOperator). | ||
+ | :'''3.''' Резервирование оператора. Выбранному в п.1 оператору устанавливается статус "Занят" и отображается уведомление или окно запроса на дозвон (в зависимости от настроек) | ||
+ | |||
+ | |||
+ | [[Файл:Исходящие задачи 003.png|center]] | ||
+ | |||
+ | |||
+ | Стандартную форму запроса можно поменять с помощью диалоговом сценария запроса на дозвон в настройках задачи. В сценарии запроса на дозвон с помощью форм вы можете | ||
+ | *вывести любую информацию из БД, например историю обращений клиента | ||
+ | *скрыть служебные кнопки, например убрать кнопку "Удалить" | ||
+ | *автоматически присваивать статус запроса после показа информации | ||
+ | |||
+ | |||
+ | :'''4.''' Только если используется запрос на дозвон абоненту. Оператор выбирает определенный вариант в форме запроса на дозвон. В случае использования сценария запрос на дозвон ожидание возвращаемых значений. | ||
+ | :'''4.1''' Если оператор выбирает "Да", система начинает набор номера (п.5) | ||
+ | :'''4.2''' Если оператор выбирает "Пропустить", система откладывает дозвон до данного абонента на 5 минут. Переход к этапу постобработки (п.8). | ||
+ | :'''4.3''' Если оператор выбирает "Удалить", система удаляет абонента из списка обзвона в оперативной статистике. В таблице абонентов информация сохраняется. Переход к этапу постобработки (п.8). | ||
+ | :'''5.''' Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера. | ||
+ | :'''6.''' Дозвон до внешнего абонента. | ||
+ | :'''6.1.''' Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.7). Клиенту воспроизводится мелодия ожидания. | ||
+ | :'''6.2.''' Если соединение с абонентом неудачно, запускается постобработка (п.8) и служебный сценарий обработки контента из общих настроек. | ||
+ | :'''7.''' Обратный отзвон оператору. | ||
+ | :'''7.1.''' Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.8). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче. | ||
+ | :'''7.2.''' Если оператор не поднимает трубку, соединение с внешней линией разрывается. Запускается постобработка (п.8) и служебный сценарий, выбранный в задаче. | ||
+ | :'''8.''' Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к '''п.1.'''. | ||
+ | |||
<div id="ByScriptForOperator"></div> | <div id="ByScriptForOperator"></div> | ||
− | + | ||
+ | ===Поиск абонента для оператора=== | ||
+ | Позволяет организовать исходящую задачу с помощью сценария поиска абонента, куда дополнительно в качестве параметра передается идентификатор оператора, для какого производится поиск. Данный тип задачи отличается от остальных тем, что изначально определяется свободный оператор и для него система ищет нужного абонента. | ||
+ | |||
+ | Такой тип задачи удобен в случае большой загрузки операторов, если у вас применяется пользовательская процедура выбора оператора. В обычных задачах с резервированием, например, с уведомлением оператора, после того как абонент найден, для него выполняется пользовательская процедура. Может случиться так, что все операторы, найденные процедурой будут заняты, а значит запрос будет выполнен зря. Большое количество подобных задач может привести к высокой нагрузке на базу данных. Использование сценария поиска абонента усугубляет приведенную ситуацию. Применение типа "поиск абонента для оператора" позволяет решить эту проблему. | ||
+ | |||
+ | |||
+ | Порядок выполнения: | ||
+ | :'''1.''' Выбор первого свободного оператора. Если свободных операторов нет, система повторит попытку через 1 минуту или в момент освобождения операторов. | ||
+ | :'''2.''' Определение абонента, которому нужно совершить звонок. Задача запускает сценарий поиска абонента и на вход передает идентификатор выбранного оператора (п.1). | ||
+ | :'''3.''' Резервирование оператора. Выбранному в п.1 оператору устанавливается статус "Занят" и отображается уведомление или окно запроса на дозвон (в зависимости от настроек) | ||
+ | |||
+ | |||
+ | [[Файл:Исходящие задачи 003.png|center]] | ||
+ | |||
+ | |||
+ | Стандартную форму запроса можно поменять с помощью диалоговом сценария запроса на дозвон в настройках задачи. В сценарии запроса на дозвон с помощью форм вы можете | ||
+ | *вывести любую информацию из БД, например историю обращений клиента | ||
+ | *скрыть служебные кнопки, например убрать кнопку "Удалить" | ||
+ | *автоматически присваивать статус запроса после показа информации | ||
+ | |||
+ | |||
+ | :'''4.''' Только если используется запрос на дозвон абоненту. Оператор выбирает определенный вариант в форме запроса на дозвон. В случае использования сценария запрос на дозвон ожидание возвращаемых значений. | ||
+ | :'''4.1''' Если оператор выбирает "Да", система начинает набор номера (п.5) | ||
+ | :'''4.2''' Если оператор выбирает "Пропустить", система откладывает дозвон до данного абонента на 5 минут. Переход к этапу постобработки (п.8). | ||
+ | :'''4.3''' Если оператор выбирает "Удалить", система удаляет абонента из списка обзвона в оперативной статистике. В таблице абонентов информация сохраняется. Переход к этапу постобработки (п.8). | ||
+ | :'''5.''' Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера. | ||
+ | :'''6.''' Дозвон до внешнего абонента. | ||
+ | :'''6.1.''' Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.7). Клиенту воспроизводится мелодия ожидания. | ||
+ | :'''6.2.''' Если соединение с абонентом неудачно, запускается постобработка (п.8) и служебный сценарий обработки контента из общих настроек. | ||
+ | :'''7.''' Обратный отзвон оператору. | ||
+ | :'''7.1.''' Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.8). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче. | ||
+ | :'''7.2.''' Если оператор не поднимает трубку, соединение с внешней линией разрывается. Запускается постобработка (п.8) и служебный сценарий, выбранный в задаче. | ||
+ | :'''8.''' Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к '''п.1.'''. | ||
+ | |||
+ | |||
+ | |||
+ | <div id="ManualChoice"></div> | ||
+ | |||
+ | ===Ручной выбор абонентов=== | ||
+ | Кардинальное отличие от простого резервирования состоит не только в предоставлении оператору возможности выбора абонента, но и в использовании пула дозвона до абонентов по распределенному списку. Каждому оператору выделяется определенная группа абонентов, с которыми он работает индвивидуально (звонки абонентам осуществляются только им). При настройке этого типа задачи на вкладке [[#Абоненты|Абоненты]] появляются элементы для задания правил разбиения списка по операторам (подробнее в разделе [http://wiki.oktell.ru/Задачи:Абоненты#.D0.A0.D0.B0.D1.81.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B0.D0.B1.D0.BE.D0.BD.D0.B5.D0.BD.D1.82.D0.BE.D0.B2 Абоненты]). Супервизору при создании подобной задачи необходимо в обязательном порядке провести распределение списка, в противном случае задача не найдет подходящих условий для совершения вызовов. Допускается равномерное деление, а также деление по правилам (количеству, процентному соотношению, начальным буквам названия абонента). Нераспределенные абоненты, а также абоненты, появившиеся в списке после разбиения не будут автоматически присоединены к обработке. | ||
+ | |||
+ | Подобный тип задачи предусматривает полный контроль ситуации супервизором. На вкладке «Абоненты» модуля [[Ресурсы]] для задач с распределенным списком предоставляется возможность управления текущим разбиением на основе статусов звонков, и для полноты информации предоставляются доступ к дополнительным служебным статусам. Абонентов с определенными состояниями супервизор имеет возможность перетащить от одного оператора к другому, тем самым скорректировав разбиение списка. Также см. [[Менеджер голосовых задач|Принципы работы логики. Менеджер голосовых задач. Задачи с распределенным списком]]. | ||
+ | |||
+ | |||
+ | Порядок выполнения: | ||
+ | :'''1.''' Выбор первого свободного оператора. Если свободных операторов нет, система повторит попытку через 1 минуту или в момент освобождения операторов. | ||
+ | :'''2.''' Подготовка списка абонентов для выбранного оператора. На данном этапе задача передает идентификатор выбранного оператора (п.1) в хранимую процедуру <span style="color:green;">''A_TaskManager_List_DistrDirectDB_GetTable''</span>, если таблица абонентов сформирована на базе таблицы БД или <span style="color:green;">''A_TaskManager_List_DistrDirectDB_GetQuery''</span> в случае формирования на базе запроса. По умолчанию процедуры возвращают абонента из таблицы ''A_TaskManager_dIdx_[guid-идентификатор задачи]'' с минимальным кол-вом попыток (поле AC), допустимым статусом (поле State) и относящегося к выбранному оператору (поле IdOperator). | ||
+ | :'''3.''' Резервирование оператора. Выбранному в п.1 оператору устанавливается статус "Занят" и отображается окно выбора абонента для звонка | ||
+ | |||
+ | |||
+ | [[Файл:Screenshot 8.png|center]] | ||
+ | |||
+ | |||
+ | :'''4.''' Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера. | ||
+ | :'''5.''' Дозвон до внешнего абонента. | ||
+ | :'''5.1.''' Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.6). Клиенту воспроизводится мелодия ожидания. | ||
+ | :'''5.2.''' Если соединение с абонентом неудачно, запускается постобработка (п.7) и служебный сценарий обработки контента из общих настроек. | ||
+ | :'''6.''' Обратный отзвон оператору. | ||
+ | :'''6.1.''' Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.7). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче. | ||
+ | :'''6.2.''' Если оператор не поднимает трубку, соединение с внешней линией разрывается. Запускается постобработка (п.7) и служебный сценарий, выбранный в задаче. | ||
+ | :'''7.''' Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к '''п.1.'''. | ||
<div id="Progress"></div> | <div id="Progress"></div> | ||
− | + | ===Прогрессивный обзвон=== | |
+ | При обнаружении свободного оператора, задача помещает его в очередь и осуществляет одновременно несколько звонков. Первый успешный вызов сразу коммутируется. Остальные звонки в зависимости от настроек задачи (лояльность, очередь прогрессивного набора) остаются в очереди для других операторов, или прекращаются. Априори достоверно, что прогрессивная схема менее лояльна к абонентам, чем схема с резервированием. Если в очереди ожидающих дозвона находятся несколько операторов, то первый успешный звонок выделяется для первого оператора в очереди. Очевидный факт, что абоненты при исходящем оповещении ждать ответа в основном не намерены. Сервер Oktell при использовании прогрессивной схемы пытается минимизировать время ожидания операторов, взяв в расчет именно этот принцип и практически не давая вырастать очереди абонентов. | ||
Однако существуют настройки задач, при которых абоненты ждут операторов. Такие задачи редко представляют интерес. В этом случае очереди компенсируют друг друга, но лояльность к абонентам существенно снижается. | Однако существуют настройки задач, при которых абоненты ждут операторов. Такие задачи редко представляют интерес. В этом случае очереди компенсируют друг друга, но лояльность к абонентам существенно снижается. | ||
Строка 41: | Строка 217: | ||
Задачи с прогрессивным набором очень эффективное средство, дающее наибольшую производительность при рационально назначенных количественных и ресурсных свойствах. Ориентировочная занятость операторов в зависимости от длительности разговора, соотношения операторы / линии и качества телефонной базы может достигать 90% и более. | Задачи с прогрессивным набором очень эффективное средство, дающее наибольшую производительность при рационально назначенных количественных и ресурсных свойствах. Ориентировочная занятость операторов в зависимости от длительности разговора, соотношения операторы / линии и качества телефонной базы может достигать 90% и более. | ||
+ | |||
+ | |||
+ | Порядок выполнения: | ||
+ | :'''1.''' Определение абонента, которому нужно совершить звонок. Зависит от способа обхода таблицы абонентов или сценария поиска абонента. | ||
+ | :'''2.''' Определение и резервирование оператора. Зависит от варианта обхода операторов, скилл-тэгов или пользовательской процедуры. Выбранному оператору устанавливается статус "Занят" и отображается окно с уведомлением о звонке: | ||
+ | |||
+ | |||
+ | [[Файл:Исходящие задачи 011.png|center]] | ||
+ | |||
+ | |||
+ | :'''2.1.''' Параллельно с п.2, новый запуск поиска абонента, пока не наберется необходимое число абонентов для оператора. | ||
+ | |||
+ | |||
+ | [[Файл:Прогрессивный обзвон 1.png|center|700px]] | ||
+ | |||
+ | |||
+ | Для каждого абонента выполняются следующие действия. | ||
+ | :'''3.''' Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера. | ||
+ | :'''4.''' Дозвон до внешнего абонента. | ||
+ | :'''4.1.''' Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.5). Клиенту воспроизводится мелодия ожидания. В зависимости от использования очереди и занятости других операторов, остальные клиенты отбиваются или остаются в очереди ожидания. | ||
+ | :'''4.1.1.''' Если есть другие операторы, не находящиеся в разговоре, то ожидание подъема трубки следующего абонента. | ||
+ | :'''4.1.2.''' Если остальные операторы заняты и включена очередь ожидания, то постановка абонента в очередь ожидания. | ||
+ | |||
+ | |||
+ | [[Файл:Прогрессивный обзвон 3.png|center|700px]] | ||
+ | |||
+ | |||
+ | :'''4.1.3.''' Если остальные операторы заняты, но очередь ожидания выключена, то все остальные дозвоны прекращаются. В зависимости от настроек лояльности, абоненты могут попасть в отдельный список для обзвона. | ||
+ | |||
+ | |||
+ | [[Файл:Прогрессивный обзвон 2.png|center|700px]] | ||
+ | |||
+ | |||
+ | :'''4.2.''' Если соединение с абонентом неудачно, запускается постобработка (п.6) и служебный сценарий обработки контента из общих настроек. В этот момент система анализирует достаточное ли количество абонентов находится в дозвоне. | ||
+ | :Если текущее количество активных линий БОЛЬШЕ операторы вне разговора * максимальное количество абонентов на одного оператора, то система не начинает новые дозвоны. В противном случае, система берет в работу новых абонентов '''п.1.'''. Иными словами, количество активных дозвонов не должно превышать максимальное число для незанятых операторов. | ||
+ | |||
+ | |||
+ | [[Файл:Прогрессивный обзвон 4.png|center|1000px]] | ||
+ | |||
+ | |||
+ | :'''5.''' Обратный отзвон оператору. | ||
+ | :'''5.1.''' Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.6). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче. | ||
+ | :'''5.2.''' Если оператор не поднимает трубку при включенной очереди, то звонок распределяется на остальных свободных операторов или встает в очередь. В противном случае запускается постобработка (п.6) и служебный сценарий, выбранный в задаче. | ||
+ | :'''6.''' Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к '''п.1.'''. | ||
<div id="ProgressPredict"></div> | <div id="ProgressPredict"></div> | ||
− | + | ||
+ | ===Прогрессивно-предиктивный дозвон=== | ||
+ | Общая схема аналогична задачам [[#Progress|с прогрессивным набором]], однако дополняет ее статистическими алгоритмами расчета усредненных показателей обслуживания, на основании которых принимаются решения о необходимости инициации очередного набора номера еще до освобождения операторов из текущих разговоров. Инициатива предполагается к исполнению только для операторов, занятых в конкретный момент времени в данной задаче. | ||
+ | |||
+ | Отличие от прогрессивного обзвона вы увидите в пунктах 5.1.1 и 5.1.2. | ||
+ | |||
+ | |||
+ | Порядок выполнения: | ||
+ | :'''1.''' Определение абонента, которому нужно совершить звонок. Зависит от способа обхода таблицы абонентов или сценария поиска абонента. | ||
+ | :'''2.''' Определение и резервирование оператора. Зависит от варианта обхода операторов, скилл-тэгов или пользовательской процедуры. Выбранному оператору устанавливается статус "Занят" и отображается окно с уведомлением о звонке: | ||
+ | |||
+ | |||
+ | [[Файл:Исходящие задачи 011.png|center]] | ||
+ | |||
+ | |||
+ | :'''2.1.''' Параллельно с п.2, новый запуск поиска абонента, пока не наберется необходимое число абонентов для оператора. | ||
+ | |||
+ | |||
+ | [[Файл:Прогрессивный обзвон 1.png|center|700px]] | ||
+ | |||
+ | |||
+ | Для каждого абонента выполняются следующие действия. | ||
+ | :'''3.''' Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера. | ||
+ | :'''4.''' Дозвон до внешнего абонента. | ||
+ | :'''4.1.''' Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.5). Клиенту воспроизводится мелодия ожидания. В зависимости от использования очереди и занятости других операторов, остальные клиенты отбиваются или остаются в очереди ожидания. | ||
+ | :'''4.1.1.''' Если есть другие операторы, не находящиеся в разговоре, то ожидание подъема трубки следующего абонента. | ||
+ | :'''4.1.2.''' Если остальные операторы заняты и включена очередь ожидания, то постановка абонента в очередь ожидания. | ||
+ | |||
+ | |||
+ | [[Файл:Прогрессивный обзвон 3.png|center|700px]] | ||
+ | |||
+ | |||
+ | :'''4.1.3.''' Если остальные операторы заняты, но очередь ожидания выключена, то все остальные дозвоны прекращаются. В зависимости от настроек лояльности, абоненты могут попасть в отдельный список для обзвона. | ||
+ | |||
+ | |||
+ | [[Файл:Прогрессивный обзвон 2.png|center|700px]] | ||
+ | |||
+ | |||
+ | :'''4.2.''' Если соединение с абонентом неудачно, запускается постобработка (п.6) и служебный сценарий обработки контента из общих настроек. В этот момент система анализирует достаточное ли количество абонентов находится в дозвоне. | ||
+ | :Если текущее количество активных линий БОЛЬШЕ операторы вне разговора * максимальное количество абонентов на одного оператора, то система не начинает новые дозвоны. В противном случае, система берет в работу новых абонентов '''п.1.'''. Иными словами, количество активных дозвонов не должно превышать максимальное число для незанятых операторов. | ||
+ | |||
+ | |||
+ | [[Файл:Прогрессивный обзвон 4.png|center|1000px]] | ||
+ | |||
+ | |||
+ | :'''5.''' Обратный отзвон оператору. | ||
+ | :'''5.1.''' Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.6). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче. | ||
+ | :'''5.1.1''' В течение разговора система оценивает, через какое время следует начать дозвон следующему абоненту. Оценка происходит на основе средних значений времени разговора, времени дозвона, времени обратного вызова и времени постобработки. Таким образом, когда оператор закончит разговор, система в среднем дозвонится до следующего абонента. Исходя из этого, предиктивный алгоритм обеспечивает более высокую загрузку операторов, чем в обычном прогрессивном обзвоне, так как новые абоненты берутся в обработку уже во время разговора. | ||
+ | :'''5.1.2''' Дозвон следующему абоненту не начинается по причинам '''п.4.2.''' (количество активных дозвонов превышает необходимое число для незанятых операторов). | ||
+ | :'''5.2.''' Если оператор не поднимает трубку при включенной очереди, то звонок распределяется на остальных свободных операторов или встает в очередь. В противном случае запускается постобработка (п.6) и служебный сценарий, выбранный в задаче. | ||
+ | :'''6.''' Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к '''п.1.'''. | ||
+ | |||
<div id="ManualCall"></div> | <div id="ManualCall"></div> | ||
− | + | ===Дозвон вручную=== | |
+ | Задача не использует поиск абонентов, резервирование линий и операторов. Вся эта часть работы лежит на операторе, который самостоятельно определяет время для звонка, ищет абонента во внешних источниках, выбирает номер для звонка, осуществляет звонок средствами АТС Oktell, и лишь потом при необходимости зафиксировать информацию осуществляет привязку звонка к определенной задаче. При этом номер попадает в прикрепленную таблицу абонентов новой строчкой, а у оператора есть возможность провести диалог по сценарию, сохранив в таблице абонентов зафиксированные ответы и прочую информацию, а также осуществить пост-вызывную обработку в недоступном для входящих звонков состоянии. | ||
Привязка существующего звонка к задаче осуществляется одним из способов: | Привязка существующего звонка к задаче осуществляется одним из способов: | ||
Строка 58: | Строка 330: | ||
Сразу следует заметить, что прикрипление существующего звонка возможно не только к задаче с типом ''Дозвон вручную'', но также и к задачам других типов, если это разрешено их настройкой. По умолчанию у других задач эта функция запрещена, так как прикрепление в этом случае может испортить прикрепленную таблицу абонентов. Таблица абонентов с одной стороны является ценным ресурсом, а с другой стороны в исходящих задачах - базой номеров, которая может стать некорректным хранилищем одинаковых данных. Прежде чем разрешать операторам прикреплять существующие звонки к исходящим задачам, следует определить алгоритм дальнейшего поведения. Например, в диалоговом сценарии в самом начале установить успешный результат для задачи, чтобы впоследствии исключить перезвоны на такие номера. | Сразу следует заметить, что прикрипление существующего звонка возможно не только к задаче с типом ''Дозвон вручную'', но также и к задачам других типов, если это разрешено их настройкой. По умолчанию у других задач эта функция запрещена, так как прикрепление в этом случае может испортить прикрепленную таблицу абонентов. Таблица абонентов с одной стороны является ценным ресурсом, а с другой стороны в исходящих задачах - базой номеров, которая может стать некорректным хранилищем одинаковых данных. Прежде чем разрешать операторам прикреплять существующие звонки к исходящим задачам, следует определить алгоритм дальнейшего поведения. Например, в диалоговом сценарии в самом начале установить успешный результат для задачи, чтобы впоследствии исключить перезвоны на такие номера. | ||
+ | |||
+ | |||
+ | Порядок выполнения: | ||
+ | :'''1.''' Запускается диалоговый сценарий выбранной задачи. Если не указан конкретный идентификатор абонента в списке, в таблицу добавляется новая строка. | ||
+ | :'''2.''' После завершения разговора запустится служебный сценарий, выбранный в задаче. | ||
+ | :'''3.''' Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к '''п.1.''' |
Текущая версия на 12:55, 15 марта 2018
Техническая документация / Call-центр / Задачи / Голосовые задачи / Исходящие задачи
Содержание
Исходящая задача - функционал Call-центра для автоматического совершения исходящих вызовов. Позволяет проводить массовые обзвоны, автоинформирование клиентов как с помощью операторов, так и с помощью IVR. Исходящие задачи имеют собственный список номеров для совершения звонков, и активируются при обнаружении возможности произвести звонок. Детали сильно зависят от настроек задачи, но в общем виде возможность включает в себя наличие доступных операторов, наличие свободных линий для звонка, время, дата, результаты предыдущих звонков и т.д.
Ход проведения исходящего оповещения зависит от типа. В общем виде этапы можно описать следующим образом:
- 1. Определение момента необходимости звонка абоненту.
- 2. Определение одной или нескольких комбинаций (абонент, номер) из установленного списка, подходящего для звонка в конкретный момент (по настройкам и предыдущим попыткам). На данном этапе может быть использован сценарий поиска абонента.
- 3. Если оповещение с резервированием оператора, то определение доступного для исполнения задачи оператора (по настройкам задачи и статистике работы call-центра), его резервирование и уведомление или запрос на звонок
- 4. Дозвон до одного из номеров в установленном списке. На данном этапе может быть использован сценарий набора номера.
- 5. Коммутация с оператором или помещение в очередь, если операторы не зарезервированы (в случае прогрессивных схем)
- 6. Помощь в проведении разговора, определяющаяся соответствующим сценарием разговора (доведение до абонента персональной информации и занесение ответов абонента в базу)
- 7. Внесение информации о результатах звонка и при необходимости запрос у оператора результатов. На данном этапе может быть использован сценарий обработки результата обработки звонка/попытки.
Исходящая задача может перейти в состояние завершенной после отработки всего предоставленного ей списка абонентов и получения окончательного результата по каждому из них, если у нее установлено соответствующее свойство завершения. Завершение может также быть произведено по временной границе или вовсе не производиться. Незавершающиеся исходящие задачи полезны в случаях использования динамических таблиц абонентов. Например там, где осуществляется пополнение списка абонентов через сайт, или существует жесткое условие на состояние счета для осуществления звонка.
Чтобы создать исходящую задачу
- Создайте проект, в котором будет располагаться задача
- В модуле "Задачи" в левой части выберите нужный проект и нажмите кнопку "Добавить"
- Выберите "Исходящее голосовое оповещение" и введите название задачи
- Настройте вашу задачу
Типы исходящих задач
IVR
Задача обзванивает базу абонентов по всем доступным ей линиям (настраивается на вкладке Ресурсы). Дозвонившись до клиента, запускает выбранный IVR сценарий. Для гарантированного прослушивания оповещения в настройках задачи укажите требуемое количество секунд в настройке Задача не выполнена при времени коммутации менее.
Обратите внимание, что данная задача не операторская и не требует выделения операторов. Для работы задачи обязательно нужно указать IVR сценарий, диалоговый сценарий указывать не нужно.
Порядок выполнения:
- 1. Определение абонента, которому нужно совершить звонок. Зависит от обхода таблицы абонентов или сценария поиска абонента.
- 2. Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера.
- 3. Дозвон до абонента.
- 3.1. Если клиент поднимает трубку, то на его линии запускается выбранный IVR сценарий. После окончания IVR сценария (обрыв связи), запускается постобработка (п.4) и служебный сценарий, относящийся к данной задаче.
- 3.2. Если соединение неудачно, запускается постобработка (п.4) и служебный сценарий обработки контента из общих настроек.
- 4. Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Переход к п.1..
С уведомлением оператора
Перед тем как начать дозвон до конкретного номера телефона задача находит и резервирует оператора. Оператору выводится уведомление, что он зарезервирован на определенного абонента. Отклонить дозвон нельзя; все время дозвона предполагается, что оператор ожидает соединения. После того, как клиент взял трубку, производится обратный отзвон. Если дозвон неудачный, уведомление пропадает и процесс повторяется для нового абонента. В каждый момент времени, оператор закреплен за одним конкретным абонентом.
Порядок выполнения:
- 1. Определение абонента, которому нужно совершить звонок. Зависит от способа обхода таблицы абонентов или сценария поиска абонента.
- 2. Определение и резервирование оператора. Зависит от варианта обхода операторов, скилл-тэгов или пользовательской процедуры. Выбранному оператору устанавливается статус "Занят" и отображается окно с уведомлением о звонке:
- 3. Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера.
- 4. Дозвон до внешнего абонента.
- 4.1. Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.5). Клиенту воспроизводится мелодия ожидания.
- 4.2. Если соединение с абонентом неудачно, запускается постобработка (п.6) и служебный сценарий обработки контента из общих настроек.
- 5. Обратный отзвон оператору.
- 5.1. Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.6). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче.
- 5.2. Если оператор не поднимает трубку, соединение с внешней линией разрывается. Запускается постобработка (п.6) и служебный сценарий, выбранный в задаче.
- 6. Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к п.1..
С запросом у оператора
Начинает дозвон до одного конкретного номера телефона, предварительно найдя и зарезервировав оператора. Оператору выводится запрос на проведение обозначенного звонка, который он может принять, отложить или отклонить. Если оператор нажимает "Да", задача начинает дозвон до абонента. Затем, если клиент взял трубку, система производит обратный отзвон на оператора.
Если оператор нажимает "Пропустить", система откладывает дозвон до этого абонента на 5 минут. В случае нажатия на "Удалить", абонент удаляется из оперативной статистики и система не будет делать дозвоны до этого абонента. Действие можно отменить с помощью SQL-запроса к оперативной статистике, в котором сменить статус абонента.
Порядок выполнения:
- 1. Определение абонента, которому нужно совершить звонок. Зависит от способа обхода таблицы абонентов или сценария поиска абонента.
- 2. Определение и резервирование оператора. Зависит от варианта обхода операторов, скилл-тэгов или пользовательской процедуры. Выбранному оператору устанавливается статус "Занят" и отображается окно запроса на дозвон с вариантами "Да", "Пропустить" и "Удалить":
Стандартную форму запроса можно поменять с помощью диалогового сценария запроса на дозвон в настройках задачи. В сценарии запроса на дозвон с помощью форм вы можете
- вывести любую информацию из БД, например историю обращений клиента
- скрыть служебные кнопки, например убрать кнопку "Удалить"
- автоматически присваивать статус запроса после показа информации
- 3. Оператор выбирает определенный вариант в форме запроса на дозвон. В случае использования сценария запрос на дозвон ожидание возвращаемых значений.
- 3.1 Если оператор выбирает "Да", система начинает набор номера (п.4)
- 3.2 Если оператор выбирает "Пропустить", система откладывает дозвон до данного абонента на 5 минут. Переход к этапу постобработки (п.7).
- 3.3 Если оператор выбирает "Удалить", система удаляет абонента из списка обзвона в оперативной статистике. В таблице абонентов информация сохраняется. Переход к этапу постобработки (п.7).
- 4. Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера.
- 5. Дозвон до внешнего абонента.
- 5.1. Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.6). Клиенту воспроизводится мелодия ожидания.
- 5.2. Если соединение с абонентом неудачно, запускается постобработка (п.7) и служебный сценарий обработки контента из общих настроек.
- 6. Обратный отзвон оператору.
- 6.1. Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.7). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче.
- 6.2. Если оператор не поднимает трубку, соединение с внешней линией разрывается. Запускается постобработка (п.6) и служебный сценарий, выбранный в задаче.
- 7. Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к п.1..
С закреплением абонентов за оператором
Позволяет на этапе создания задачи распределить абонентов по операторам, как и в режиме ручного выбора абонентов. Однако не предоставляет оператору возможности изменить выбор абонента, предоставляя ему лишь возможность подтверждения/отклонения вызова. Работает на основе кэша в БД и позволяет налаживать специальные сторонние алгоритмы распределений абонентов путем изменения таблицы кэша задачи (A_TaskManager_dIdx_[guid-идентификатор задачи]). Режим добавлен с целью предоставления возможности автоматического формирования списков с закреплением за операторами.
Автоматический поиск и закрепления абонента из списка нераспределенных при отсутствии абонентов в текущем списке оператора может быть осуществлено средствами хранимых процедур (поиск абонента для обработки звонка конкретным оператором конкретной задачи - A_TaskManager_List_DistrDirectDB_GetTable или A_TaskManager_List_DistrDirectDB_GetQuery в зависимости от того, на базе таблицы или запроса сформирована таблица абонентов).
В таблице абонентов для задач этого типа может быть добавлен и назначен столбец Идентификатор оператора, значения которого имеют тип данных uniqueidentifier. При синхронизации задачи с таблицей абонентов в этом случае осуществляется автоматическое перестроение кэша и привязка абонентов к соответствующим операторам.
Порядок выполнения:
- 1. Выбор первого свободного оператора. Если свободных операторов нет, система повторит попытку через 1 минуту или в момент освобождения операторов.
- 2. Определение абонента, которому нужно совершить звонок. На данном этапе задача передает идентификатор выбранного оператора (п.1) в хранимую процедуру A_TaskManager_List_DistrDirectDB_GetTable, если таблица абонентов сформирована на базе таблицы БД или A_TaskManager_List_DistrDirectDB_GetQuery в случае формирования на базе запроса. По умолчанию процедуры возвращают абонента из таблицы A_TaskManager_dIdx_[guid-идентификатор задачи] с минимальным кол-вом попыток (поле AC), допустимым статусом (поле State) и относящегося к выбранному оператору (поле IdOperator).
- 3. Резервирование оператора. Выбранному в п.1 оператору устанавливается статус "Занят" и отображается уведомление или окно запроса на дозвон (в зависимости от настроек)
Стандартную форму запроса можно поменять с помощью диалоговом сценария запроса на дозвон в настройках задачи. В сценарии запроса на дозвон с помощью форм вы можете
- вывести любую информацию из БД, например историю обращений клиента
- скрыть служебные кнопки, например убрать кнопку "Удалить"
- автоматически присваивать статус запроса после показа информации
- 4. Только если используется запрос на дозвон абоненту. Оператор выбирает определенный вариант в форме запроса на дозвон. В случае использования сценария запрос на дозвон ожидание возвращаемых значений.
- 4.1 Если оператор выбирает "Да", система начинает набор номера (п.5)
- 4.2 Если оператор выбирает "Пропустить", система откладывает дозвон до данного абонента на 5 минут. Переход к этапу постобработки (п.8).
- 4.3 Если оператор выбирает "Удалить", система удаляет абонента из списка обзвона в оперативной статистике. В таблице абонентов информация сохраняется. Переход к этапу постобработки (п.8).
- 5. Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера.
- 6. Дозвон до внешнего абонента.
- 6.1. Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.7). Клиенту воспроизводится мелодия ожидания.
- 6.2. Если соединение с абонентом неудачно, запускается постобработка (п.8) и служебный сценарий обработки контента из общих настроек.
- 7. Обратный отзвон оператору.
- 7.1. Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.8). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче.
- 7.2. Если оператор не поднимает трубку, соединение с внешней линией разрывается. Запускается постобработка (п.8) и служебный сценарий, выбранный в задаче.
- 8. Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к п.1..
Поиск абонента для оператора
Позволяет организовать исходящую задачу с помощью сценария поиска абонента, куда дополнительно в качестве параметра передается идентификатор оператора, для какого производится поиск. Данный тип задачи отличается от остальных тем, что изначально определяется свободный оператор и для него система ищет нужного абонента.
Такой тип задачи удобен в случае большой загрузки операторов, если у вас применяется пользовательская процедура выбора оператора. В обычных задачах с резервированием, например, с уведомлением оператора, после того как абонент найден, для него выполняется пользовательская процедура. Может случиться так, что все операторы, найденные процедурой будут заняты, а значит запрос будет выполнен зря. Большое количество подобных задач может привести к высокой нагрузке на базу данных. Использование сценария поиска абонента усугубляет приведенную ситуацию. Применение типа "поиск абонента для оператора" позволяет решить эту проблему.
Порядок выполнения:
- 1. Выбор первого свободного оператора. Если свободных операторов нет, система повторит попытку через 1 минуту или в момент освобождения операторов.
- 2. Определение абонента, которому нужно совершить звонок. Задача запускает сценарий поиска абонента и на вход передает идентификатор выбранного оператора (п.1).
- 3. Резервирование оператора. Выбранному в п.1 оператору устанавливается статус "Занят" и отображается уведомление или окно запроса на дозвон (в зависимости от настроек)
Стандартную форму запроса можно поменять с помощью диалоговом сценария запроса на дозвон в настройках задачи. В сценарии запроса на дозвон с помощью форм вы можете
- вывести любую информацию из БД, например историю обращений клиента
- скрыть служебные кнопки, например убрать кнопку "Удалить"
- автоматически присваивать статус запроса после показа информации
- 4. Только если используется запрос на дозвон абоненту. Оператор выбирает определенный вариант в форме запроса на дозвон. В случае использования сценария запрос на дозвон ожидание возвращаемых значений.
- 4.1 Если оператор выбирает "Да", система начинает набор номера (п.5)
- 4.2 Если оператор выбирает "Пропустить", система откладывает дозвон до данного абонента на 5 минут. Переход к этапу постобработки (п.8).
- 4.3 Если оператор выбирает "Удалить", система удаляет абонента из списка обзвона в оперативной статистике. В таблице абонентов информация сохраняется. Переход к этапу постобработки (п.8).
- 5. Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера.
- 6. Дозвон до внешнего абонента.
- 6.1. Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.7). Клиенту воспроизводится мелодия ожидания.
- 6.2. Если соединение с абонентом неудачно, запускается постобработка (п.8) и служебный сценарий обработки контента из общих настроек.
- 7. Обратный отзвон оператору.
- 7.1. Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.8). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче.
- 7.2. Если оператор не поднимает трубку, соединение с внешней линией разрывается. Запускается постобработка (п.8) и служебный сценарий, выбранный в задаче.
- 8. Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к п.1..
Ручной выбор абонентов
Кардинальное отличие от простого резервирования состоит не только в предоставлении оператору возможности выбора абонента, но и в использовании пула дозвона до абонентов по распределенному списку. Каждому оператору выделяется определенная группа абонентов, с которыми он работает индвивидуально (звонки абонентам осуществляются только им). При настройке этого типа задачи на вкладке Абоненты появляются элементы для задания правил разбиения списка по операторам (подробнее в разделе Абоненты). Супервизору при создании подобной задачи необходимо в обязательном порядке провести распределение списка, в противном случае задача не найдет подходящих условий для совершения вызовов. Допускается равномерное деление, а также деление по правилам (количеству, процентному соотношению, начальным буквам названия абонента). Нераспределенные абоненты, а также абоненты, появившиеся в списке после разбиения не будут автоматически присоединены к обработке.
Подобный тип задачи предусматривает полный контроль ситуации супервизором. На вкладке «Абоненты» модуля Ресурсы для задач с распределенным списком предоставляется возможность управления текущим разбиением на основе статусов звонков, и для полноты информации предоставляются доступ к дополнительным служебным статусам. Абонентов с определенными состояниями супервизор имеет возможность перетащить от одного оператора к другому, тем самым скорректировав разбиение списка. Также см. Принципы работы логики. Менеджер голосовых задач. Задачи с распределенным списком.
Порядок выполнения:
- 1. Выбор первого свободного оператора. Если свободных операторов нет, система повторит попытку через 1 минуту или в момент освобождения операторов.
- 2. Подготовка списка абонентов для выбранного оператора. На данном этапе задача передает идентификатор выбранного оператора (п.1) в хранимую процедуру A_TaskManager_List_DistrDirectDB_GetTable, если таблица абонентов сформирована на базе таблицы БД или A_TaskManager_List_DistrDirectDB_GetQuery в случае формирования на базе запроса. По умолчанию процедуры возвращают абонента из таблицы A_TaskManager_dIdx_[guid-идентификатор задачи] с минимальным кол-вом попыток (поле AC), допустимым статусом (поле State) и относящегося к выбранному оператору (поле IdOperator).
- 3. Резервирование оператора. Выбранному в п.1 оператору устанавливается статус "Занят" и отображается окно выбора абонента для звонка
- 4. Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера.
- 5. Дозвон до внешнего абонента.
- 5.1. Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.6). Клиенту воспроизводится мелодия ожидания.
- 5.2. Если соединение с абонентом неудачно, запускается постобработка (п.7) и служебный сценарий обработки контента из общих настроек.
- 6. Обратный отзвон оператору.
- 6.1. Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.7). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче.
- 6.2. Если оператор не поднимает трубку, соединение с внешней линией разрывается. Запускается постобработка (п.7) и служебный сценарий, выбранный в задаче.
- 7. Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к п.1..
Прогрессивный обзвон
При обнаружении свободного оператора, задача помещает его в очередь и осуществляет одновременно несколько звонков. Первый успешный вызов сразу коммутируется. Остальные звонки в зависимости от настроек задачи (лояльность, очередь прогрессивного набора) остаются в очереди для других операторов, или прекращаются. Априори достоверно, что прогрессивная схема менее лояльна к абонентам, чем схема с резервированием. Если в очереди ожидающих дозвона находятся несколько операторов, то первый успешный звонок выделяется для первого оператора в очереди. Очевидный факт, что абоненты при исходящем оповещении ждать ответа в основном не намерены. Сервер Oktell при использовании прогрессивной схемы пытается минимизировать время ожидания операторов, взяв в расчет именно этот принцип и практически не давая вырастать очереди абонентов.
Однако существуют настройки задач, при которых абоненты ждут операторов. Такие задачи редко представляют интерес. В этом случае очереди компенсируют друг друга, но лояльность к абонентам существенно снижается.
Прогрессивный дозвон имеет больший смысл, если число линий, выделенных для задачи больше числа операторов, единовременно обрабатывающих задачу. Разумно настроенная прогрессивная схема – крайне эффективный инструмент. В качестве примера можно привести следующий результат в самых крайних условиях: Оповещение одним оператором по двум линиям списка из 10 абонентов, где у каждого абонента от 1 до 5 телефонных номеров и ситуация усугубляется тем, что половина номеров в итоге не отвечает. Для оператора наличие «битых» номеров остается незаметным до самого конца, когда на обеих линиях остаются только абоненты, не имеющие ни одного нормального номера. При увеличении числа линий и числа операторов качество заметно повышается. Более эффективно и менее лояльно прогрессивный дозвон можно настраивать, если число операторов достаточно велико, а время обработки одного звонка достаточно мало.
В схемах, где число линий и операторов, назначенных в задачу, практически одинаково и значительно (20, 30, 40, 50, ...) прогрессивный дозвон экономит время поствызывной обработки и набора номера, производя работу в параллельном режиме, что в некоторых случаях приводит практически к тем же результатам что и в случае с числом линий, превышающим число операторов, обладая вместе с этим преимуществом, делая невозможным рост очереди абонентов.
Использование прогрессивного набора в массовых кампаниях накладывает дополнительные требования, подробнее в разделе Принципы работы логики. Менеджер голосовых задач. Прогрессивный набор.
Задачи с прогрессивным набором очень эффективное средство, дающее наибольшую производительность при рационально назначенных количественных и ресурсных свойствах. Ориентировочная занятость операторов в зависимости от длительности разговора, соотношения операторы / линии и качества телефонной базы может достигать 90% и более.
Порядок выполнения:
- 1. Определение абонента, которому нужно совершить звонок. Зависит от способа обхода таблицы абонентов или сценария поиска абонента.
- 2. Определение и резервирование оператора. Зависит от варианта обхода операторов, скилл-тэгов или пользовательской процедуры. Выбранному оператору устанавливается статус "Занят" и отображается окно с уведомлением о звонке:
- 2.1. Параллельно с п.2, новый запуск поиска абонента, пока не наберется необходимое число абонентов для оператора.
Для каждого абонента выполняются следующие действия.
- 3. Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера.
- 4. Дозвон до внешнего абонента.
- 4.1. Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.5). Клиенту воспроизводится мелодия ожидания. В зависимости от использования очереди и занятости других операторов, остальные клиенты отбиваются или остаются в очереди ожидания.
- 4.1.1. Если есть другие операторы, не находящиеся в разговоре, то ожидание подъема трубки следующего абонента.
- 4.1.2. Если остальные операторы заняты и включена очередь ожидания, то постановка абонента в очередь ожидания.
- 4.1.3. Если остальные операторы заняты, но очередь ожидания выключена, то все остальные дозвоны прекращаются. В зависимости от настроек лояльности, абоненты могут попасть в отдельный список для обзвона.
- 4.2. Если соединение с абонентом неудачно, запускается постобработка (п.6) и служебный сценарий обработки контента из общих настроек. В этот момент система анализирует достаточное ли количество абонентов находится в дозвоне.
- Если текущее количество активных линий БОЛЬШЕ операторы вне разговора * максимальное количество абонентов на одного оператора, то система не начинает новые дозвоны. В противном случае, система берет в работу новых абонентов п.1.. Иными словами, количество активных дозвонов не должно превышать максимальное число для незанятых операторов.
- 5. Обратный отзвон оператору.
- 5.1. Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.6). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче.
- 5.2. Если оператор не поднимает трубку при включенной очереди, то звонок распределяется на остальных свободных операторов или встает в очередь. В противном случае запускается постобработка (п.6) и служебный сценарий, выбранный в задаче.
- 6. Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к п.1..
Прогрессивно-предиктивный дозвон
Общая схема аналогична задачам с прогрессивным набором, однако дополняет ее статистическими алгоритмами расчета усредненных показателей обслуживания, на основании которых принимаются решения о необходимости инициации очередного набора номера еще до освобождения операторов из текущих разговоров. Инициатива предполагается к исполнению только для операторов, занятых в конкретный момент времени в данной задаче.
Отличие от прогрессивного обзвона вы увидите в пунктах 5.1.1 и 5.1.2.
Порядок выполнения:
- 1. Определение абонента, которому нужно совершить звонок. Зависит от способа обхода таблицы абонентов или сценария поиска абонента.
- 2. Определение и резервирование оператора. Зависит от варианта обхода операторов, скилл-тэгов или пользовательской процедуры. Выбранному оператору устанавливается статус "Занят" и отображается окно с уведомлением о звонке:
- 2.1. Параллельно с п.2, новый запуск поиска абонента, пока не наберется необходимое число абонентов для оператора.
Для каждого абонента выполняются следующие действия.
- 3. Выбор и резервирование свободной линии. Выбирается первая свободная линия из ресурсов задачи или используется сценарий набора номера.
- 4. Дозвон до внешнего абонента.
- 4.1. Если внешний абонент поднимает трубку, то происходит обратный звонок до оператора (п.5). Клиенту воспроизводится мелодия ожидания. В зависимости от использования очереди и занятости других операторов, остальные клиенты отбиваются или остаются в очереди ожидания.
- 4.1.1. Если есть другие операторы, не находящиеся в разговоре, то ожидание подъема трубки следующего абонента.
- 4.1.2. Если остальные операторы заняты и включена очередь ожидания, то постановка абонента в очередь ожидания.
- 4.1.3. Если остальные операторы заняты, но очередь ожидания выключена, то все остальные дозвоны прекращаются. В зависимости от настроек лояльности, абоненты могут попасть в отдельный список для обзвона.
- 4.2. Если соединение с абонентом неудачно, запускается постобработка (п.6) и служебный сценарий обработки контента из общих настроек. В этот момент система анализирует достаточное ли количество абонентов находится в дозвоне.
- Если текущее количество активных линий БОЛЬШЕ операторы вне разговора * максимальное количество абонентов на одного оператора, то система не начинает новые дозвоны. В противном случае, система берет в работу новых абонентов п.1.. Иными словами, количество активных дозвонов не должно превышать максимальное число для незанятых операторов.
- 5. Обратный отзвон оператору.
- 5.1. Если оператор поднимает трубку, то запускается диалоговый сценарий. Диалоговый сценарий можно запускать и в момент поступления вызова. По завершению сценария или по нажатию кнопки Стоп запускается постобработка (п.6). По окончанию соединения с клиентом, запустится служебный сценарий, выбранный в задаче.
- 5.1.1 В течение разговора система оценивает, через какое время следует начать дозвон следующему абоненту. Оценка происходит на основе средних значений времени разговора, времени дозвона, времени обратного вызова и времени постобработки. Таким образом, когда оператор закончит разговор, система в среднем дозвонится до следующего абонента. Исходя из этого, предиктивный алгоритм обеспечивает более высокую загрузку операторов, чем в обычном прогрессивном обзвоне, так как новые абоненты берутся в обработку уже во время разговора.
- 5.1.2 Дозвон следующему абоненту не начинается по причинам п.4.2. (количество активных дозвонов превышает необходимое число для незанятых операторов).
- 5.2. Если оператор не поднимает трубку при включенной очереди, то звонок распределяется на остальных свободных операторов или встает в очередь. В противном случае запускается постобработка (п.6) и служебный сценарий, выбранный в задаче.
- 6. Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к п.1..
Дозвон вручную
Задача не использует поиск абонентов, резервирование линий и операторов. Вся эта часть работы лежит на операторе, который самостоятельно определяет время для звонка, ищет абонента во внешних источниках, выбирает номер для звонка, осуществляет звонок средствами АТС Oktell, и лишь потом при необходимости зафиксировать информацию осуществляет привязку звонка к определенной задаче. При этом номер попадает в прикрепленную таблицу абонентов новой строчкой, а у оператора есть возможность провести диалог по сценарию, сохранив в таблице абонентов зафиксированные ответы и прочую информацию, а также осуществить пост-вызывную обработку в недоступном для входящих звонков состоянии.
Привязка существующего звонка к задаче осуществляется одним из способов:
- В модуле «Мое рабочее место».
- Компонентом сценария «Статус объекта».
- Командой websocket-интерфейса.
Также может быть организован новый двусторонний вызов с последующей привязкой звонка к задаче с помощью компонента сценариев «Коммутатор».
Сразу следует заметить, что прикрипление существующего звонка возможно не только к задаче с типом Дозвон вручную, но также и к задачам других типов, если это разрешено их настройкой. По умолчанию у других задач эта функция запрещена, так как прикрепление в этом случае может испортить прикрепленную таблицу абонентов. Таблица абонентов с одной стороны является ценным ресурсом, а с другой стороны в исходящих задачах - базой номеров, которая может стать некорректным хранилищем одинаковых данных. Прежде чем разрешать операторам прикреплять существующие звонки к исходящим задачам, следует определить алгоритм дальнейшего поведения. Например, в диалоговом сценарии в самом начале установить успешный результат для задачи, чтобы впоследствии исключить перезвоны на такие номера.
Порядок выполнения:
- 1. Запускается диалоговый сценарий выбранной задачи. Если не указан конкретный идентификатор абонента в списке, в таблицу добавляется новая строка.
- 2. После завершения разговора запустится служебный сценарий, выбранный в задаче.
- 3. Постобработка. На этом этапе происходит запись результатов звонка в оперативную статистику и запуск сценария обработки звонка/попытки. Статус оператора меняется на "Готов". Переход к п.1.