Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Оценка работы оператора

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модератор: april22

Оценка работы оператора

Сообщение skynetyar » 20 окт 2020, 21:36

Добрый день!
FreePBX 14
Прошу совета и помощи, настраивал все по мануалу.
Все вроде бы работает корректно ,но иногда видимо когда оператор состоит в нескольких очередях то во время "inuse" разговора ему приходит звонок, настройки очереди проверены :
Skip Busy Agents = Yes + (ringinuse=no)
Autofill = no
Агенты динамические досбавляються через CLI
Подскажите как поступить,может быть лучше отойти от
Local/111@customer-survey-ivr/n,0,111,hint:111@ext-local
И использовать в extensions_override_freepbx.conf [ext-queues] ?
Или все же в [customer-survey-ivr] делать проверку на INUSE и INCALL и делать Return() ?
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 410
Зарегистрирован: 18 авг 2016, 14:25

Re: Оценка работы оператора

Сообщение Kroteg » 21 окт 2020, 16:39

А никакой CallWaiting не включен?
ну и покажи queue show <num> как отображаются операторы
и хинты нормально отрабатываются?
Изображение
Аватар пользователя
Kroteg
 
Сообщений: 174
Зарегистрирован: 11 янв 2018, 14:51

Re: Оценка работы оператора

Сообщение skynetyar » 22 окт 2020, 16:16

Спасибо за ответ!
Call Waiting на всех номерах отключены,глобально тоже отключил при создании новых.

[Показать] Спойлер: queue show
Local/756@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken 19 calls (last was 79860 secs ago)
Local/748@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken 55 calls (last was 9643 secs ago)
Local/746@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken 27 calls (last was 80 secs ago)
Local/774@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken no calls yet
Local/830@from-queue/n (ringinuse disabled) (dynamic) (In use) has taken 49 calls (last was 391 secs ago)
Local/739@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken 32 calls (last was 3601 secs ago)
Local/827@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken 39 calls (last was 291 secs ago)
Local/825@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken no calls yet
Local/820@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken 40 calls (last was 812 secs ago)
Local/819@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken 62 calls (last was 26 secs ago)
Local/725@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken 57 calls (last was 65071 secs ago)
Local/815@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken 34 calls (last was 243 secs ago)
Local/814@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken 20 calls (last was 2264 secs ago)


В extensions_override_freepbx.conf я переопределил
[from-queue]
exten => _X.,1,Goto(customer-survey-ivr,${EXTEN},1)

В extensions_custom.conf
[customer-survey-ivr]
[Показать] Спойлер:
exten => _X.,1,NoOp(---------- POST CALL SURVEY BEGINNING ---------------)
exten => _X.,n,NoOp(HINT STATUS - ${EXTENSION_STATE(${EXTEN})})
exten => _X.,n,NoOp(DND STATUS - ${DB(DND/${EXTEN})})
exten => _X.,n,GotoIf($["${DB(DND/${EXTEN})}" = "YES"]?busy)
exten => _X.,n,DIAL(PJSIP/${EXTEN},,trg)
exten => _X.,n,GotoIf($[${DIALSTATUS}=BUSY]?busy:answered)
exten => _X.,n(busy),Hangup()
exten => _X.,n(answered),Goto(assessment,${EXTEN},1)


[assessment]
[Показать] Спойлер:
exten => _X.,1,Answer
exten => _X.,n,Wait(1)
exten => _X.,n(skip),Set(IVR_MSG=en/beep)
exten => _X.,n(start),Set(TIMEOUT(digit)=1)
exten => _X.,n,Background(/var/lib/asterisk/sounds/ru/custom/ocenite-8khz,m)
exten => _X.,n,WaitExten(5,)

exten => 1,1,AGI(survey.php, ${CDR(src)}, ${DIALEDPEERNUMBER}, ${NODEST}, 1)
exten => 1,n,Playback(/var/lib/asterisk/sounds/ru/custom/bye-8khz,skip)

exten => 2,1,AGI(survey.php, ${CDR(src)}, ${DIALEDPEERNUMBER}, ${NODEST}, 2)
exten => 2,n,Playback(/var/lib/asterisk/sounds/ru/custom/bye-8khz,skip)

exten => 3,1,AGI(survey.php, ${CDR(src)}, ${DIALEDPEERNUMBER}, ${NODEST}, 3)
exten => 3,n,Playback(/var/lib/asterisk/sounds/ru/custom/bye-8khz,skip)

exten => 4,1,AGI(survey.php, ${CDR(src)}, ${DIALEDPEERNUMBER}, ${NODEST}, 4)
exten => 4,n,Playback(/var/lib/asterisk/sounds/ru/custom/bye-8khz,skip)

exten => 5,1,AGI(survey.php, ${CDR(src)}, ${DIALEDPEERNUMBER}, ${NODEST}, 5)
exten => 5,n,Playback(/var/lib/asterisk/sounds/ru/custom/bye-8khz,skip)

exten => t,1,Playback(/var/lib/asterisk/sounds/ru/custom/bye-8khz,skip)
exten => e,1,Playback(/var/lib/asterisk/sounds/ru/custom/bye-8khz,skip)


Тут я вывожу отладку
exten => _X.,n,NoOp(HINT STATUS - ${EXTENSION_STATE(${EXTEN})})

По логу получается так
[Показать] Спойлер:
-- Goto (customer-survey-ivr,725,1)
-- Executing [725@customer-survey-ivr:1] NoOp("Local/725@from-queue-0001a3ec;2", "---------- POST CALL SURVEY BEGINNING ---------------") in new stack
-- Executing [725@customer-survey-ivr:2] NoOp("Local/725@from-queue-0001a3ec;2", "HINT STATUS - UNAVAILABLE") in new stack
-- Executing [725@customer-survey-ivr:3] NoOp("Local/725@from-queue-0001a3ec;2", "DND STATUS - YES") in new stack
-- Executing [725@customer-survey-ivr:4] GotoIf("Local/725@from-queue-0001a3ec;2", "1?busy") in new stack
-- Goto (customer-survey-ivr,725,7)
-- Executing [725@customer-survey-ivr:7] Hangup("Local/725@from-queue-0001a3ec;2", "") in new stack
== Spawn extension (customer-survey-ivr, 725, 7) exited non-zero on 'Local/725@from-queue-0001a3ec;2'
-- Nobody picked up in 0 ms
-- Called Local/739@from-queue/n
-- Executing [739@from-queue:1] Goto("Local/739@from-queue-0001a3ed;2", "customer-survey-ivr,739,1") in new stack
-- Goto (customer-survey-ivr,739,1)
-- Executing [739@customer-survey-ivr:1] NoOp("Local/739@from-queue-0001a3ed;2", "---------- POST CALL SURVEY BEGINNING ---------------") in new stack
-- Executing [739@customer-survey-ivr:2] NoOp("Local/739@from-queue-0001a3ed;2", "HINT STATUS - INUSE") in new stack
-- Executing [739@customer-survey-ivr:3] NoOp("Local/739@from-queue-0001a3ed;2", "DND STATUS - ") in new stack
-- Executing [739@customer-survey-ivr:4] GotoIf("Local/739@from-queue-0001a3ed;2", "0?busy") in new stack
-- Executing [739@customer-survey-ivr:5] Dial("Local/739@from-queue-0001a3ed;2", "PJSIP/739,,trg") in new stack
-- Called PJSIP/739
-- Local/739@from-queue-0001a3ed;1 is ringing


По логу видно что оператор занят INUSE но Dial все равно происходит...
-- Executing [739@customer-survey-ivr:2] NoOp("Local/739@from-queue-0001a3ed;2", "HINT STATUS - INUSE") in new stack
-- Executing [739@customer-survey-ivr:5] Dial("Local/739@from-queue-0001a3ed;2", "PJSIP/739,,trg") in new stack
-- Called PJSIP/739
-- Local/739@from-queue-0001a3ed;1 is ringing

Несмотря на настройки очереди Skip Busy Agents = Yes + (ringinuse=no)
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 410
Зарегистрирован: 18 авг 2016, 14:25

Re: Оценка работы оператора

Сообщение skynetyar » 22 окт 2020, 20:41

Добавил такую конструкцию в [customer-survey-ivr]
exten => _X.,n,ExecIf($["${EXTENSION_STATE(${EXTEN})}"="NOT_INUSE"]?DIAL(PJSIP/${EXTEN},,trg))

вместо
exten => _X.,n,DIAL(PJSIP/${EXTEN},,trg)

Прошу поправить если не так делаю..
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 410
Зарегистрирован: 18 авг 2016, 14:25

Re: Оценка работы оператора

Сообщение ded » 23 окт 2020, 03:27

Ring Inuse

If you want the queue to avoid sending calls to members whose devices are known to be ‘in use’ (via the channel driver supporting that device state) uncomment this option. (Note only the SIP channel driver currently is able to report ‘in use’.)
; ringinuse = no
а у вас PJSIP
callcounters = yes ?
ded
 
Сообщений: 14702
Зарегистрирован: 26 авг 2010, 19:00

Re: Оценка работы оператора

Сообщение Kroteg » 27 окт 2020, 15:58

в случае с PJSIP может попробовать DEVICE_STATE(PJSIP/${EXTEN})
ну и естественно поизучать какие возможны ответы.
INUSE и тд...
Изображение
Аватар пользователя
Kroteg
 
Сообщений: 174
Зарегистрирован: 11 янв 2018, 14:51

Re: Оценка работы оператора

Сообщение skynetyar » 28 окт 2020, 14:38

ded писал(а):callcounters = yes

Ненашел данный параметр в FreePBX ,или его можно внести как дополнительный параметр?

Kroteg писал(а):DEVICE_STATE(PJSIP/${EXTEN})


${EXTENSION_STATE(${EXTEN})} тоже прекрасно работает..

Пока что проблему решил так как описал ниже, вроде все гладко...
Всё знают и всё понимают только дураки да шарлатаны.(с)А.П Чехов.
skynetyar
 
Сообщений: 410
Зарегистрирован: 18 авг 2016, 14:25

Re: Оценка работы оператора

Сообщение ded » 28 окт 2020, 17:55

Искать так:
OK, Google => asterisk callcounters = yes
ded
 
Сообщений: 14702
Зарегистрирован: 26 авг 2010, 19:00


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

© 2008 — 2020 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH