r1der
@r1der

Когда все операторы очереди заняты, звонок не отлавливается в сдр как поступивший на очередь. Как ловить пропущенные?

Имеется сервер на FreePBX 2.2 asterisk 1.8
Очередь на 20 операторов, куда стекаются звонки с большого количества входящих транков

announce-frequency=0 
announce-holdtime=no 
announce-position=no 
autofill=yes 
autopause=no 
autopausebusy=no 
autopausedelay=1 
autopauseunavail=no 
eventmemberstatus=yes 
eventwhencalled=yes 
joinempty=yes 
leavewhenempty=no 
maxlen=0 
memberdelay=0 
monitor-type=mixmonitor 
music=default 
penaltymemberslimit=0 
periodic-announce-frequency=0 
queue-callswaiting=silence/1 
queue-thereare=silence/1 
queue-youarenext=silence/1 
reportholdtime=no 
retry=1 
ringinuse=yes 
servicelevel=15 
setinterfacevar=yes 
strategy=ringall 
timeout=15 
timeoutpriority=app 
timeoutrestart=no 
weight=0 
wrapuptime=0 
member=Local/347100@from-queue/n,0,federal1,hint:347100@ext-local 
member=Local/347101@from-queue/n,0,federal 2,hint:347101@ext-local 
member=Local/347102@from-queue/n,0,federal3,hint:347102@ext-local 
member=Local/347103@from-queue/n,0,federal4,hint:347103@ext-local 
member=Local/347104@from-queue/n,0,federal5,hint:347104@ext-local 
member=Local/347105@from-queue/n,0,federal6,hint:347105@ext-local 
member=Local/347106@from-queue/n,0,federal7,hint:347106@ext-local 
member=Local/347107@from-queue/n,0,federal8,hint:347107@ext-local 
member=Local/347108@from-queue/n,0,federal9,hint:347108@ext-local 
member=Local/347109@from-queue/n,0,federal10,hint:347109@ext-local 
member=Local/347110@from-queue/n,0,federal11,hint:347110@ext-local 
member=Local/347111@from-queue/n,0,federal12,hint:347111@ext-local 
member=Local/347112@from-queue/n,0,federal13,hint:347112@ext-local 
member=Local/347113@from-queue/n,0,federal14,hint:347113@ext-local 
member=Local/347114@from-queue/n,0,federal15,hint:347114@ext-local 
member=Local/347115@from-queue/n,0,federal16,hint:347115@ext-local 
member=Local/347116@from-queue/n,0,federal17,hint:347116@ext-local 
member=Local/347117@from-queue/n,0,federal18,hint:347117@ext-local 
member=Local/347118@from-queue/n,0,federal19,hint:347118@ext-local 
member=Local/347119@from-queue/n,0,federal20,hint:347119@ext-local 
member=Local/347120@from-queue/n,0,federal21,hint:347120@ext-local


Все видно из конфига.
Проблема в следующем.
Нужно ловить пропущенные, на данный момент реализовано таким способом. (настройки очереди внизу )
Код:
select calldate,clid,src,duration from cdr where (calldate like '{$date}%' and dcontext='ext-queues' and LENGTH(dstchannel)<2 and dst='{$a}') or (calldate like '{$date}%' and dcontext='app-announcement-4' and clid like '%SPB%')";


на пример одного из шлюзов по спб

То есть пропущенным в данном случае считается вызов который поступил на очередь но не ушел дальше.
Анализируя статистику увидел такую вот штуку

Array ( [phone] => ***[town] => ufa [clid] => UFAPERSONAL [regionalname] => serj [queue] => 3471111 [desc] => ufa personal ***) 06:18:44gate 2246450 
accepted 2199 accepted by queue 1284 answered by members 1013 unanswered by members 271


Пришло на шлюз 2200 звонков, отвечено очередью 1284.
Такое происходит в нескольких ситуациях.
1) Вызов приход когда все операторы заняты и абонент бросает трубку не дождавшись пока кто либо освободится, запись в сдр не делается
2) Это уже косяк стратегии рингалл, второй вызов не доходит до операторОВ до тех пор пока кто либо не принял первый.

Прошу помощи в решнии проблемы.
Задача отслеживать всепропущенные звонки, чтобы не терять клиентов.

Заранее большое спасибо.
  • Вопрос задан
  • 1925 просмотров
Пригласить эксперта
Ответы на вопрос 1
  1. можно ловить через AMI или в логах очереди
    можно свои события в лог писать app_QueueLog
  2. не нужно использовать ringall оно для обработки небольшого потока вызовов где число свободный операторов больше чем число ожидающих ответа. rrmemory обычно более выгодная стратегия.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы