Страница 1 из 1

очередь и пост-обработка

Добавлено: 09 дек 2021, 18:51
lpn672
Всем привет.

Имеем вопросик из кол-центра.
Схема обработки входящего вызова проста:

Код: Выделить всё

абонент звонит --> попадает в очередь --> оператор достает вызов --> общаются --> разговор завершается --> пост-обработка --> оператор свободен 
Все работает как-бы хорошо, но вот когда оператор находится в стадии "пост-обработка" появляются нюансы.
Очередь настроена на паузу между вызовами (wrapuptime=45), чтобы оператор выполнил необходимое. Если оператор что-то делает и укладывается в обозначенное время, то все отлично. Если в процессе пост-обработки оператору необходимо сделать, например, исходящий вызов и он пробыл в таком режиме более указанного времени, то как только он положит трубку на него сразу же "накинется очередь". Получается нужно как-то контролировать и управлять пост-обработкой и статусом "свободен и готов принимать вызовы". Но такого статуса я не нашел.

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

2. Я думал как-бы сделать так, чтобы оператор как только принял вызов из очереди - автоматически ставился в паузу. Но как это сделать?
Плюсом этого метода кроме достигнутой цели (автопауза) можно назвать то, что он должен будет сознательно нажимать кнопку и "вынимать себя" из паузы. Оно получается почти красиво, но и минус тоже есть. А если оператор "забыл" вынуть себя? Так и будет сидеть и ничего не делать?

3. Есть еще вариант: оператор завершил вызов и перешел в пост-обработку. Вот тут как-раз у него и есть время, чтобы принять решение, нажать кнопку и перевести себя в паузу или нет. Получается очередь на него не сыпется, но это уже не автоматический, а ручной режим управления. Когда закончит необходимые действия, то должен опять же нажать кнопку и выйти из паузы. Может оно так и должно быть? Но как может оператор знать сколько понадобиться времени на ту или иную задачу?

Вот и спрашиваю, может кто-то уже колдовал в этом направлении. ИМХО, вариант 3 самый простой как кувалда.

Re: очередь и пост-обработка

Добавлено: 09 дек 2021, 20:46
Garnish
Привет.
У нас второй вариант. Как только оператор закончил разговор он автоматически выкидывается из очереди. Если он завершил пост-обработку, то тыкает кнопку и возвращается в очередь. Забыть себя вернуться он не забудет, потому что от этого зависит его зп:)
Очереди в реалтайме.

Re: очередь и пост-обработка

Добавлено: 10 дек 2021, 12:48
lpn672
Garnish писал(а):Привет.
У нас второй вариант. Как только оператор закончил разговор он автоматически выкидывается из очереди. Если он завершил пост-обработку, то тыкает кнопку и возвращается в очередь. Забыть себя вернуться он не забудет, потому что от этого зависит его зп:)
Очереди в реалтайме.
И как реализовать автоматическую постановку в паузу оператора, который принял вызов из очереди?
В настройках очереди есть autopause, но это не оно (поставить оператора в паузу если не принял вызов). Или я не правильно перевел?

Re: очередь и пост-обработка

Добавлено: 10 дек 2021, 15:20
ded
lpn672 писал(а):И как реализовать автоматическую постановку в паузу оператора, который принял вызов из очереди?
Используйте для этого динамических а не статических агентов очереди. Переключить паузу очереди сервисным кодом *46. Читайте описание.
Выход агента из очереди осуществляется сервисным кодом *45. Смотрите Модуль очередей о том, как назначить динамического участника очереди.
Это всё для FreePBX.

Re: очередь и пост-обработка

Добавлено: 16 дек 2021, 14:21
lpn672
ded писал(а):
lpn672 писал(а):И как реализовать автоматическую постановку в паузу оператора, который принял вызов из очереди?
Используйте для этого динамических а не статических агентов очереди. Переключить паузу очереди сервисным кодом *46. Читайте описание.
Выход агента из очереди осуществляется сервисным кодом *45. Смотрите Модуль очередей о том, как назначить динамического участника очереди.
Это всё для FreePBX.
Не, динамические агенты это не из "этой серии".
Сделал через макрос на Dial()

Получилось вот так:

Код: Выделить всё

;--------------------------------------------------------------------------------------------------------------------------
[from-call-center-queue]
exten => _XXX,1,Noop()
 same => n,Set(LIMIT_PLAYAUDIO_CALLER=no)
 same => n,Set(LIMIT_PLAYAUDIO_CALLEE=yes)
 same => n,GoSub(sub-monitor,s,1(${CALLERID(num)},${EXTEN}))
 same => n,Dial(SIP/${EXTEN},15,rtTL(1500000:180000:30000)M(callcenter-autopause,${EXTEN}))

[macro-callcenter-autopause]
exten => s,1,Wait(0.2)
 same => n,pausequeuemember(call-center,Local/${ARG1}@from-call-center-queue/n,,AUTOPAUSE)
;--------------------------------------------------------------------------------------------------------------------------
Теперь входящий вызов падает в очередь и распределяется между свободными операторами. Когда оператор принимает вызов, срабатывает макрос и автоматически переводит его (оператора) в паузу.

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