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

Не отображаются записи разговор очереди в CDR Viewer MOD

Добавлено: 23 ноя 2016, 09:37
Al8
Установил веб интерфейс ACDR MOD.

Настроил его по мануалу:

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

[columns]
alias realdst => realdst
alias filename => filename
Создал колонку в таблице CDR с именем filename.

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

;--== begin of [app-mp3] ==--;
[macro-app-mp3]
exten => s,1,Set(monopt=nice -n 19 /usr/bin/lame -b 32 "${ARG1}${ARG2}.wav" "${ARG1}${ARG2}.mp3" && rm -f "${ARG1}${ARG2}.wav" && chmod 777 "${ARG1}${ARG2}.mp3" && rm -f "${ARG1}${UNIQUEID}.wav")
exten => s,n,NoOp(Call Unique ID is - ${UNIQUEID})
exten => s,n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)
exten => s,n,Set(CDR(filename)=${STRFTIME(${EPOCH},,%Y%m%d)}/${UNIQUEID}.mp3)
exten => s,n,Set(CDR(realdst)=${CALLERID(num)})
exten => s,n,MixMonitor(${ARG1}${ARG2}.wav,i(MIXMONITORID),${monopt})
;--== end of [app-mp3] ==--;
Здесь строчка:

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

exten => s,n,Set(CDR(filename)=${STRFTIME(${EPOCH},,%Y%m%d)}/${UNIQUEID}.mp3)
Записывает путь к файлу записи.

В таблице CDR колонка filename содержит записи только тогда когда вызывается приложение "dial", если внешний абонент попадает в очередь, запись в базу не происходит.

Сам макрос вызывается в диалплане так:

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

[company-day]
exten => 3755505,1,Set(CHANNEL(musicclass)=mymusic)
         same => n,Set(CALLERID(name)=A${CALLERID(num)})
         same => n,Macro(app-mp3,/var/spool/asterisk/monitor/,${STRFTIME(${EPOCH},,%Y%m%d)}/${UNIQUEID})
         same => n,Answer
         same => n,Set(TIMEOUT(digit)=2)
         same => n,Wait(1)
         same => n,Background(records/introrus)
                 same => n,WaitExten(2)
                 same => n,Playback(recholdrus)
                 same => n,Queue(company-day-rus,tckw,,,,,sendnumber)
exten => 1,1,GoTo(kaz-main,s,1)
exten => 2,1,GoTo(rus-main,s,1)

[kaz-main]
include => internal
exten => s,1,Set(CALLERID(name)=AK${CALLERID(num)})
                 same => n,Set(CHANNEL(language)=kz)
                 same => n,NoOp(${CALLERID(name)})
                 same => n,Background(records/chooseoption)
                 same => n,WaitExten(2)
                 same => n,Playback(rechold)
                 same => n,Queue(company-day-kaz,tck,,,,,sendnumber)

exten => 1,1,Playback(rechold,m)
                same => n,Queue(company-day-kaz,tck,,,,,sendnumber)

exten => 2,1,Playback(rechold,m)
                same => n,Queue(company-callagent-kaz,tk,300,,,,sendnumber)
                same => n,Queue(company-agent,tck,,,,,sendnumber)

exten => 3,1,Playback(rechold,m)
                same => n,Queue(company-railways-kaz,tck,,,,,sendnumber)

exten => i,1,Playback(pbx-invalid)
exten => i,n,WaitExten(2)
exten => i,n,Goto(1,1)
exten => t,1,Playback(vm-goodbye)
exten => t,n,Hangup()

[rus-main]
include => internal
exten => s,1,Set(CALLERID(name)=AR${CALLERID(num)})
                 same => n,Macro(app-mp3,/var/spool/asterisk/monitor/,${STRFTIME(${EPOCH},,%Y%m%d)}/${UNIQUEID})
                 same => n,NoOp(${CALLERID(name)})
                 same => n,Background(records/chooseoption)
                 same => n,WaitExten(2)
                 same => n,Playback(rechold)
                 same => n,Queue(company-day-rus,tck,,,,,sendnumber)

exten => 1,1,Playback(rechold,m)
                same => n,Queue(company-day-rus,tck,,,,,sendnumber)

exten => 2,1,Playback(rechold,m)
                same => n,Queue(company-callagent-rus,tk,300,,,,sendnumber)
                same => n,Queue(company-agent,tck)
exten => 3,1,Playback(rechold,m)
                same => n,Queue(company-railways-rus,tck,,,,,sendnumber)

exten => i,1,Playback(pbx-invalid)
exten => i,n,WaitExten(2)
exten => i,n,Goto(1,1)
exten => t,1,Playback(vm-goodbye)
exten => t,n,Hangup()
В queue.conf стоит:

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

[general]
monitor-type=MixMonitor

Re: Не отображаются записи разговор очереди в CDR Viewer MOD

Добавлено: 23 ноя 2016, 10:10
tol_iwan
А разве CDR Viewer отображает вызовы в очереди? Данные по очередям же вроде не пишутся в БД, а в файле хранятся и для того же asternic через cron переносятся в БД. Я не прав?

Re: Не отображаются записи разговор очереди в CDR Viewer MOD

Добавлено: 23 ноя 2016, 10:16
Al8
Может и правы, но каким тогда образом другой веб интерфейс находит записи.
Вот смотрю записи в RTAG, там они есть.
Нарыл строку из его кода:

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

$rec_file = '../'.$_GET[path]."/".$_GET[uniqueid].".".$record_file_type;

Re: Не отображаются записи разговор очереди в CDR Viewer MOD

Добавлено: 23 ноя 2016, 10:32
tol_iwan
А физически Вы файл проверяли - есть ли он? По тому же пути лежит, что в базе записан? Есть ли на него права?

Re: Не отображаются записи разговор очереди в CDR Viewer MOD

Добавлено: 23 ноя 2016, 10:44
Al8
Физически файл есть, в том-то и проблема.

Если RTAG ищет по uniqueId + расширение mp3, то CDR Viewer ищет по записи в базе, точнее в колонке filename, в ней прописывается полный путь к файлу.

Получается вот такая картина:
mysql> select calldate,src,clid,dst,filename from cdr ORDER BY ID DESC LIMIT 100;

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

+---------------------+--------------+---------------------------------+--------------+--------------------------------+
| calldate            | src          | clid                            | dst          | filename                       |
+---------------------+--------------+---------------------------------+--------------+--------------------------------+
| 2016-11-23 13:42:15 | 87272641803  | "T87272641803" <87272641803>    | 2251050      | 20161123/1479886935.128591.mp3 |
| 2016-11-23 13:40:20 | 87172278387  | "A87172278387" <87172278387>    | 2255055      | 20161123/1479886820.128573.mp3 |
| 2016-11-23 13:41:47 | 77088047857  | "T77088047857" <77088047857>    | 2251050      | 20161123/1479886907.128585.mp3 |
| 2016-11-23 13:40:56 | 257          | "MadinaA 257" <257>             | 87015587888  | 20161123/1479886856.128579.mp3 |
| 2016-11-23 13:42:31 | 246          | "Asel 246" <246>                | 87004693539  | 20161123/1479886951.128595.mp3 |
| 2016-11-23 13:39:22 | 212          | "Operator 212" <212>            | 87172910101  | 20161123/1479886762.128536.mp3 |
| 2016-11-23 13:42:51 | +77088391266 | "A+77088391266" <+77088391266>  | +77787463924 | 20161123/1479886971.128599.mp3 |
Колонка filename содержит путь к файлу.

Re: Не отображаются записи разговор очереди в CDR Viewer MOD

Добавлено: 23 ноя 2016, 10:54
Al8
Например вот звонил номер 87242221696, его данных в колонке filename - нет.
mysql> select calldate,src,clid,dst,filename from cdr where DATE(calldate) between '2016-11-22' and '2016-11-22' and src='87242221696';

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

+---------------------+-------------+------------------------------+---------+----------+
| calldate            | src         | clid                         | dst     | filename |
+---------------------+-------------+------------------------------+---------+----------+
| 2016-11-22 23:55:23 | 87242221696 | "A87242221696" <87242221696> | 2255055 |          |
+---------------------+-------------+------------------------------+---------+----------+
1 row in set (1.31 sec)
Соответственно его не видит CDR VIewer.
Но Rtag видит...

Re: Не отображаются записи разговор очереди в CDR Viewer MOD

Добавлено: 23 ноя 2016, 13:19
Al8
Проблема рассосалась сама по себе.

Re: Не отображаются записи разговор очереди в CDR Viewer MOD

Добавлено: 23 ноя 2016, 20:55
trscod
Админу, конечно, пофиг до юзабилити. А вот пользователям больше ACV нравится Поиск звонков:
https://www.youtube.com/watch?v=e06_2FvFpg0
;)

Re: Не отображаются записи разговор очереди в CDR Viewer MOD

Добавлено: 24 ноя 2016, 07:01
Al8
Платные интерфейсы - это хорошо.
Но пока они не нужны, базовых хватает :)

В общем, некоторые очереди в диалплане были с командой ResetCDR():

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

exten => pipec,Answer()
                same => n,ResetCDR()
                same => n,Queue(admins,tck)
Поэтому инфа не попадала в БД.

Re: Не отображаются записи разговор очереди в CDR Viewer MOD

Добавлено: 24 ноя 2016, 08:04
tol_iwan
А к разбору Вы такие очереди не предоставили... Вывод - изучайте свой dialplan, да в консоль смотрите, а потом пишите.