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

настроить запись разговоров в mp3 для очереди.

Добавлено: 01 дек 2015, 09:20
beregov
Добрый день.
Продолжаю настройку asterisk в связке с mysql (realtime)
До этого обращался
http://forum.asterisk.ru/viewtopic.php? ... 68&start=0
конфигурация этаже.
Таблицу CDR немного изменил, добавил столбец "recordingfile" чтобы туда путь к файлу записи разговора записывать.
не могу могу настроить запись разговоров в mp3 для очереди.

Макрос для записи

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

[macro-crm]
exten => s,1,NoOp(${ARG1} ${ARG2})
exten => s,n,GotoIf(${DB_EXISTS(NORECNUM/${ARG1})}?gtme)
exten => s,n,GotoIf(${DB_EXISTS(NORECNUM/${ARG2})}?gtme)
exten => s,n,Set(F=/var/spool/asterisk/recording/${MACRO_CONTEXT}/${STRFTIME(${EPOCH},,%Y)}/${STRFTIME(${EPOCH},,%m)}/${STRFTIME(${EPOCH},,%d)}/${UNIQUEID})
exten => s,n,MixMonitor(${F}.wav,W(1),lame ${F}.wav ${F}.mp3 && rm ${F}.wav)
exten => s,n,Set(CDR(recordingfile)=${F}.mp3)
exten => s,n(gtme),MacroExit
вот так подключаю запись для внутренних номеров

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

(crm^${CALLEID(num)}^${EXTEN})
собственно сам пример диаплана:

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

exten => _XXXX,1,Dial(SIP/${EXTEN},,tTM(crm^${CALLEID(num)}^${EXTEN}))
Для исходящих звонков

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

exten => _XXXXXXXXXXX,1,Set(CALLERID(all)=7XXXXXXXXXX)
exten => _XXXXXXXXXXX,n,Dial(SIP/XXXXXXXXXX/${EXTEN},60,tTM(crm^${CALLEID(num)}^${EXTEN}))
exten => _XXXXXXXXXXX,n,Hangup

Сама очередь настроена в базе

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

База данных: asterisk »Таблица: queues
Агенты для очереди

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

 База данных: asterisk »Таблица: queue_members
Вот пример очереди из таблицы. queues

Столбцы

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

name musiconhold announce context timeout ringinuse setinterfacevar setqueuevar setqueueentryvar monitor_format membermacro membergosub queue_youarenext queue_thereare queue_callswaiting queue_quantity1 queue_quantity2 queue_holdtime queue_minutes queue_minute queue_seconds queue_thankyou queue_callerannounce queue_reporthold announce_frequency announce_to_first_user min_announce_frequency announce_round_seconds announce_holdtime announce_position announce_position_limit periodic_announce periodic_announce_frequency relative_periodic_announce random_periodic_announce retry wrapuptime penaltymemberslimit autofill monitor_type autopause autopausedelay autopausebusy autopauseunavail maxlen servicelevel strategy joinempty leavewhenempty reportholdtime memberdelay weight timeoutrestart defaultrule timeoutpriority 
Значение

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

1_queue default NULL test 60 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL ringall NULL NULL NULL NULL NULL NULL NULL NULL
Конечно не очень читаемый пример
вот для наглядности

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

[1_queue]
context = test
timeout = 60
monitor-format=wav
strategy = ringall
при этих настройках запись в wav не идёт. Или если идёт то я не знаю куда пишет.

В общем прощу помощи с настройкой записи разговоров для очередей, чтобы в mp3 конвертировалось и путь к файлу записи в таблицу записывается.

Re: настроить запись разговоров в mp3 для очереди.

Добавлено: 01 дек 2015, 11:06
Pechen
не увидел как вы звоните в очередь и какие в ней мемберы.
в консоли должно быть видно когда пишете, а когда нет. и после того как увидите надо создавать темы на форуме.

Re: настроить запись разговоров в mp3 для очереди.

Добавлено: 01 дек 2015, 15:24
beregov
Права на папку /var/spool/asterisk/monitor/ не те были выставлены.
Поменял права к папке, запись пошла, в формате wav.

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

ls -l /var/spool/asterisk/monitor/ 
-rw-r--r-- 1 asterisk asterisk  74284 Дек  1 16:43 1448970192.21.wav
-rw-r--r-- 1 asterisk asterisk  76844 Дек  1 16:53 1448970775.0.wav
-rw-r--r-- 1 asterisk asterisk 124524 Дек  1 16:58 1448971084.0.wav
-rw-r--r-- 1 asterisk asterisk 817004 Дек  1 16:59 1448971086.7.wav
после чего начал гуглить. В сторону "membermacro"
Оказалось что нужно добавить в Базу данных: asterisk »Таблица: queues
где описывается настройки очереди в столбец membermacro имя макроса который выполняет запись, в моём случае crm. Который выше описан. А из столбц monitor_format оставил пустым.