ВидеоКонф(ВКС)  ::   Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Asterisk CDR Viewer Mod, в mysql не попадает filename

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

Модератор: april22

Re: Asterisk CDR Viewer Mod, в mysql не попадает filename

Сообщение fecyt » 24 окт 2017, 18:38

Значит, смотрите.
[Показать] Спойлер:
/var/www/html/inc/config/config.php
### Системное
'system' => array(
## Название столбца в БД, в котором хранится название записи звонка
'column_name' => 'uniqueid',
## Путь к папке, где находятся записи Asterisk. БЕЗ слеша на конце
'monitor_dir' => '/var/spool/asterisk/monitor',
## Формат аудио, в котором записываются записи звонков
# Плеер не воспроизводит WAV в Enternet Explorer. В последних версиях Firefox и Chrome все работает
# Например: mp3, wav
'audio_format' => 'wav',
## Если др. значение, то все записи хранятся в одной папке "/var/calls"
'storage_format' => 0,

Код: выделить все
exten => 102,1,MixMonitor(${UNIQUEID}.wav,v(2),b)

Вот так, все работает.

Замечу, строки exten => s,n,Set(CDR(filename)=${fname}.mp3); нет, пишет просто имя файла без расширения в базу в поле uniqueid запись типа 18827275.10. И оно там не нужно, если добавить, а не убрать, как Вы не правильно поняли к файлу в базе .wav, то файл отображатся в вебке не будет!!!! скачать невозможно!!!!
Хотите, чтобы работало, убираете расширение, оставляете имя файла, он вам сам найдет. При этом я не говорю, что файл записывать в MixMonitor надо без расширения, я на другом акцент делаю, на CDR.
Вложения
Screenshot_1.png
fecyt
 
Сообщений: 148
Зарегистрирован: 17 янв 2017, 18:51

Re: Asterisk CDR Viewer Mod, в mysql не попадает filename

Сообщение Elektronik » 25 окт 2017, 11:06

Покажите, пожалуйста, extensions.conf

я делаю по инструкции, т.е. определяю в [globals]
RECORDING=1
DIR_RECORDS=/var/calls/
, а далее макрос, который делает то, что указанно.
exten => s,n,Set(CDR(filename)=${fname}.mp3);
exten => s,n,Set(CDR(realdst)=${ARG2});
exten => s,n,Set(CDR(remoteip)=${CHANNEL(recvip)});
как раз для того, что бы забивать не стандартные поля в CDR.

я так понимаю у вас все работает без макроса?
exten => 102,1,MixMonitor(${UNIQUEID}.wav,v(2),b)
просто запускается MixMonitor и записывает имя в ${UNIQUEID}? а как формируется имя файла?

Покажите, пожалуйста, extensions.conf
Аватар пользователя
Elektronik
 
Сообщений: 56
Зарегистрирован: 16 окт 2017, 13:42
Откуда: Москва

Re: Asterisk CDR Viewer Mod, в mysql не попадает filename

Сообщение fecyt » 25 окт 2017, 11:32

В смысле как формируется имя файла? exten => 102,1,MixMonitor(${UNIQUEID}.wav,v(2),b) вот строка, имя файла=${UNIQUEID}.wav. В бд pgsql поле uniqueid заполняеся значением типа 1506350283.0
Вот и все. Не нужно писать в базу данных имя файла вместе с расширением, достаточно просто имени файла, т.к. в функциях уже все предусмотрено, там само добавляет нужное расширение в зависимости от настроек в config.php.
По умолчанию MixMonitor пишет в /var/spool/asterisk/monitor, эта директория у меня указана в config.php. По тем же настройкам в config.php у меня имя файла берется из поля uniqueid.
По идее убираете из записи в cdr расширение, оставляете только имя файла и все.
На счет extensions.conf. Он у меня полностью дефолтный, я добавлял только конексты в самый низ файла, конечно не только запускается миксмонитор но и вызывается вторым приоритетом нужный экстен.
fecyt
 
Сообщений: 148
Зарегистрирован: 17 янв 2017, 18:51

Re: Asterisk CDR Viewer Mod, в mysql не попадает filename

Сообщение fecyt » 25 окт 2017, 12:01

Пример приведу
Звонок
[Показать] Спойлер:
== Using SIP RTP CoS mark 5
-- Executing [102@test2:1] MixMonitor("SIP/101-00000012", "1508918138.33.wav,v(2),b") in new stack
-- Executing [102@test2:2] Dial("SIP/101-00000012", "SIP/102,90,t") in new stack
== Begin MixMonitor Recording SIP/101-00000012
== Using SIP RTP CoS mark 5
-- Called SIP/102
-- SIP/102-00000013 is ringing
-- SIP/102-00000013 answered SIP/101-00000012
-- Channel SIP/102-00000013 joined 'simple_bridge' basic-bridge <362c4bcb-349b-46d7-993e-db8ba1d34254>
> 0x7f59dc00bae0 -- Probation passed - setting RTP source address to 172.16.0.1:8000
-- Channel SIP/101-00000012 joined 'simple_bridge' basic-bridge <362c4bcb-349b-46d7-993e-db8ba1d34254>
> 0x7f59c80095a0 -- Probation passed - setting RTP source address to 172.16.0.1:52354
-- Channel SIP/101-00000012 left 'simple_bridge' basic-bridge <362c4bcb-349b-46d7-993e-db8ba1d34254>
-- Channel SIP/102-00000013 left 'simple_bridge' basic-bridge <362c4bcb-349b-46d7-993e-db8ba1d34254>
== Spawn extension (test2, 102, 2) exited non-zero on 'SIP/101-00000012'
== MixMonitor close filestream (mixed)
== Executing [b]
== End MixMonitor Recording SIP/101-00000012

Наличие файла
[Показать] Спойлер:
[root@localhost monitor]# ls /var/spool/asterisk/monitor/ | grep 1508918138.33
1508918138.33.wav

БД
[Показать] Спойлер:
postgres=# select * from cdr where uniqueid='1508918138.33';
-[ RECORD 1 ]-----------------------
cdr_pkey | 54
calldate | 2017-10-25 07:55:38+03
clid | "101" <101>
src | 101
dst | 102
dcontext | test2
channel | SIP/101-00000012
dstchannel | SIP/102-00000013
lastapp | Dial
lastdata | SIP/102,90,t
duration | 12
billsec | 9
disposition | ANSWERED
amaflags | 3
accountcode |
uniqueid | 1508918138.33
userfield |
duration20 |
duration1 |
duration2 |

Ну и скрин
Вложения
Screenshot_1.png
fecyt
 
Сообщений: 148
Зарегистрирован: 17 янв 2017, 18:51

Re: Asterisk CDR Viewer Mod, в mysql не попадает filename

Сообщение Elektronik » 25 окт 2017, 14:39

может быть у меня не там собака зарыта?
внес изменения:
config.php
'column_name' => 'UNIQUEID',

extensions.conf
закоментировал макрос записи,
exten => _X.,1,MixMonitor(/var/calls/${UNIQUEID}.wav)

в sql попадет, файл с именем UNIQUEID.wav создается, а в веб интерфейсе не отображается...да что же ты будешь делать.

[Показать] Спойлер: звонок
== Using SIP RTP CoS mark 5
-- Executing [6388@incoming:1] MixMonitor("SIP/ntel-0000000f", "/var/calls/1508927061.23.wav") in new stack
-- Executing [6388@incoming:2] Answer("SIP/ntel-0000000f", "") in new stack
== Begin MixMonitor Recording SIP/ntel-0000000f
-- Executing [6388@incoming:3] Goto("SIP/ntel-0000000f", "menu,s,1") in new stack
-- Goto (menu,s,1)
-- Executing [s@menu:1] BackGround("SIP/ntel-0000000f", "/var/lib/asterisk/moh/voicemail/sagamenu2") in new stack
-- <SIP/ntel-0000000f> Playing '/var/lib/asterisk/moh/voicemail/sagamenu2.slin' (language 'ru')
> 0x7fccbc001200 -- Probation passed - setting RTP source address to 109.71.241.71:13214
[Oct 25 13:24:27] DTMF[2460][C-0000000d]: channel.c:4126 __ast_read: DTMF begin '1' received on SIP/ntel-0000000f
[Oct 25 13:24:27] DTMF[2460][C-0000000d]: channel.c:4130 __ast_read: DTMF begin ignored '1' on SIP/ntel-0000000f
[Oct 25 13:24:27] DTMF[2460][C-0000000d]: channel.c:4040 __ast_read: DTMF end '1' received on SIP/ntel-0000000f, duration 280 ms
[Oct 25 13:24:27] DTMF[2460][C-0000000d]: channel.c:4110 __ast_read: DTMF end passthrough '1' on SIP/ntel-0000000f
[Oct 25 13:24:28] DTMF[2460][C-0000000d]: channel.c:4126 __ast_read: DTMF begin '2' received on SIP/ntel-0000000f
[Oct 25 13:24:28] DTMF[2460][C-0000000d]: channel.c:4130 __ast_read: DTMF begin ignored '2' on SIP/ntel-0000000f
[Oct 25 13:24:28] DTMF[2460][C-0000000d]: channel.c:4040 __ast_read: DTMF end '2' received on SIP/ntel-0000000f, duration 255 ms
[Oct 25 13:24:28] DTMF[2460][C-0000000d]: channel.c:4110 __ast_read: DTMF end passthrough '2' on SIP/ntel-0000000f
[Oct 25 13:24:28] DTMF[2460][C-0000000d]: channel.c:4126 __ast_read: DTMF begin '0' received on SIP/ntel-0000000f
[Oct 25 13:24:28] DTMF[2460][C-0000000d]: channel.c:4130 __ast_read: DTMF begin ignored '0' on SIP/ntel-0000000f
[Oct 25 13:24:28] DTMF[2460][C-0000000d]: channel.c:4040 __ast_read: DTMF end '0' received on SIP/ntel-0000000f, duration 280 ms
[Oct 25 13:24:28] DTMF[2460][C-0000000d]: channel.c:4110 __ast_read: DTMF end passthrough '0' on SIP/ntel-0000000f
[Oct 25 13:24:29] DTMF[2460][C-0000000d]: channel.c:4126 __ast_read: DTMF begin '7' received on SIP/ntel-0000000f
[Oct 25 13:24:29] DTMF[2460][C-0000000d]: channel.c:4130 __ast_read: DTMF begin ignored '7' on SIP/ntel-0000000f
[Oct 25 13:24:29] DTMF[2460][C-0000000d]: channel.c:4040 __ast_read: DTMF end '7' received on SIP/ntel-0000000f, duration 255 ms
[Oct 25 13:24:29] DTMF[2460][C-0000000d]: channel.c:4110 __ast_read: DTMF end passthrough '7' on SIP/ntel-0000000f
-- Executing [1207@menu:1] Dial("SIP/ntel-0000000f", "SIP/1207,,Tt&m") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/1207
-- Started music on hold, class 'default', on channel 'SIP/ntel-0000000f'
-- SIP/1207-00000010 is ringing
-- SIP/1207-00000010 answered SIP/ntel-0000000f
-- Stopped music on hold on SIP/ntel-0000000f
-- Channel SIP/1207-00000010 joined 'simple_bridge' basic-bridge <1bd2c321-ade1-4abd-bd7f-1a76a75ff48f>
-- Channel SIP/ntel-0000000f joined 'simple_bridge' basic-bridge <1bd2c321-ade1-4abd-bd7f-1a76a75ff48f>
> 0x7fccc401ee80 -- Probation passed - setting RTP source address to 10.0.0.119:5062
-- Channel SIP/1207-00000010 left 'simple_bridge' basic-bridge <1bd2c321-ade1-4abd-bd7f-1a76a75ff48f>
-- Channel SIP/ntel-0000000f left 'simple_bridge' basic-bridge <1bd2c321-ade1-4abd-bd7f-1a76a75ff48f>
== Spawn extension (menu, 1207, 1) exited non-zero on 'SIP/ntel-0000000f'
== MixMonitor close filestream (mixed)
== End MixMonitor Recording SIP/ntel-0000000f


[Показать] Спойлер: extensions.conf
[incoming]
exten => _X.,1,MixMonitor(/var/calls/${UNIQUEID}.wav)
;exten => _X.,1,Macro(recording,${CALLERID(num)},${EXTEN})
;exten => _x.,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN$
;exten => _x.,2,MixMonitor(/records/callrecords/${fname}.wav)
exten => _x.,n,Answer()
exten => _x.,n,Goto(menu,s,1) ;если мы изнутри позвоним на этот номер, то мы сможем про$
;exten => _x.4,1,dial(SIP/1207,5,t&m)
;exten => _x,5,Goto(autoanswer,s,1) ;перевод на автоответчик
exten => _x.,n,hangup()


[root@aster ~]# ls /var/calls/ | grep 1508927061.23.wav
1508927061.23.wav

[Показать] Спойлер: select * from cdr where uniqueid='1508927061.23';
mysql> select * from cdr where uniqueid='1508927061.23';
+----+---------------------+---------------------------+------------+------+---- -----+----------+-------------------+-------------------+---------+------------- ---+----------+---------+-------------+----------+----------+-------------+----- --------+---------------+-----------+-----+---------------+----------+---------- +
| id | calldate | clid | src | dst | rea ldst | dcontext | channel | dstchannel | lastapp | lastdata | duration | billsec | disposition | amaflags | remoteip | accountcode | peer account | uniqueid | userfield | did | linkedid | sequence | filename |
+----+---------------------+---------------------------+------------+------+---- -----+----------+-------------------+-------------------+---------+------------- ---+----------+---------+-------------+----------+----------+-------------+----- --------+---------------+-----------+-----+---------------+----------+---------- +
| 34 | 2017-10-25 13:24:21 | "9151276136" <9151276136> | 9151276136 | 1207 | | menu | SIP/ntel-0000000f | SIP/1207-00000010 | Dial | SIP/1207,,Tt &m | 17 | 17 | ANSWERED | 3 | | | | 1508927061.23 | | | 1508927061.23 | 15 | none |
+----+---------------------+---------------------------+------------+------+---- -----+----------+-------------------+-------------------+---------+------------- ---+----------+---------+-------------+----------+----------+-------------+----- --------+---------------+-----------+-----+---------------+----------+----------



вроде везде все есть, но звонков в веб интерфейсе так и не отображает. я уже теряюсь...
Аватар пользователя
Elektronik
 
Сообщений: 56
Зарегистрирован: 16 окт 2017, 13:42
Откуда: Москва

Re: Asterisk CDR Viewer Mod, в mysql не попадает filename

Сообщение fecyt » 25 окт 2017, 16:30

А права на папку/файл? И под кем запущен процесс httpd?
fecyt
 
Сообщений: 148
Зарегистрирован: 17 янв 2017, 18:51

Re: Asterisk CDR Viewer Mod, в mysql не попадает filename

Сообщение Elektronik » 25 окт 2017, 17:11

права на папку выставлял 777 (chmod 777 /var/calls/)

[Показать] Спойлер: httpd вроде под рутом
[root@aster ~]# ps auxwwww | grep apache
apache 1050 0.0 2.9 505636 14848 ? S окт24 0:01 /usr/sbin/httpd -DFOREGROUND
apache 1052 0.0 4.5 595804 22752 ? S окт24 0:02 /usr/sbin/httpd -DFOREGROUND
apache 1053 0.0 3.8 510444 19388 ? S окт24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1054 0.0 4.5 513048 22740 ? S окт24 0:01 /usr/sbin/httpd -DFOREGROUND
apache 1281 0.0 4.3 512252 21936 ? S окт24 0:02 /usr/sbin/httpd -DFOREGROUND
apache 1284 0.0 4.3 512288 21988 ? S окт24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1285 0.0 4.4 513044 22360 ? S окт24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1286 0.0 3.9 509932 19568 ? S окт24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 2248 0.0 2.7 505620 13936 ? S 10:11 0:00 /usr/sbin/httpd -DFOREGROUND
apache 2445 0.0 3.3 506320 16604 ? S 13:22 0:00 /usr/sbin/httpd -DFOREGROUND
root 2613 0.0 0.1 112680 976 pts/2 R+ 16:09 0:00 grep --color=auto apache
[root@aster ~]# ps auxwwww | grep httpd
root 862 0.0 1.5 398348 7876 ? Ss окт24 0:03 /usr/sbin/httpd -DFOREGROUND
apache 1050 0.0 2.9 505636 14848 ? S окт24 0:01 /usr/sbin/httpd -DFOREGROUND
apache 1052 0.0 4.5 595804 22752 ? S окт24 0:02 /usr/sbin/httpd -DFOREGROUND
apache 1053 0.0 3.8 510444 19388 ? S окт24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1054 0.0 4.5 513048 22740 ? S окт24 0:01 /usr/sbin/httpd -DFOREGROUND
apache 1281 0.0 4.3 512252 21936 ? S окт24 0:02 /usr/sbin/httpd -DFOREGROUND
apache 1284 0.0 4.3 512288 21988 ? S окт24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1285 0.0 4.4 513044 22360 ? S окт24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 1286 0.0 3.9 509932 19568 ? S окт24 0:00 /usr/sbin/httpd -DFOREGROUND
apache 2248 0.0 2.7 505620 13936 ? S 10:11 0:00 /usr/sbin/httpd -DFOREGROUND
apache 2445 0.0 3.3 506320 16604 ? S 13:22 0:00 /usr/sbin/httpd -DFOREGROUND
root 2615 0.0 0.1 112680 976 pts/2 R+ 16:09 0:00 grep --color=auto httpd
Аватар пользователя
Elektronik
 
Сообщений: 56
Зарегистрирован: 16 окт 2017, 13:42
Откуда: Москва

Re: Asterisk CDR Viewer Mod, в mysql не попадает filename

Сообщение fecyt » 25 окт 2017, 17:39

Сейчас пишется в wav?
В /var/www/html/inc/config/config.php
## Формат аудио, в котором записываются записи звонков
# Плеер не воспроизводит WAV в Enternet Explorer. В последних версиях Firefox и Chrome все работает
# Например: mp3, wav
'audio_format' => '',

Какое значение тут стоит?
fecyt
 
Сообщений: 148
Зарегистрирован: 17 янв 2017, 18:51

Re: Asterisk CDR Viewer Mod, в mysql не попадает filename

Сообщение Elektronik » 25 окт 2017, 18:57

стоял mp3, когда поставил простой MixMonitor на запись, поставил vaw
Аватар пользователя
Elektronik
 
Сообщений: 56
Зарегистрирован: 16 окт 2017, 13:42
Откуда: Москва

Re: Asterisk CDR Viewer Mod, в mysql не попадает filename

Сообщение Alex2103 » 25 окт 2017, 21:51

установлен данный mod, у меня проблема другая, 24 числа я смотрю статистику и слушаю звонки, всё хорошо, но на следующий день, если я захочу прослушать запись 24 числа то поле прослушивание уже не активно, записи на месте лежат пути в базе прописаны, при этом записи от 25 числа прекрасно включаться
[Показать] Спойлер:
Изображение
Изображение
Alex2103
 
Сообщений: 2
Зарегистрирован: 25 окт 2017, 21:27

Пред.След.

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

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

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

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