Страница 1 из 2
Queue + MixMonitor
Добавлено: 28 ноя 2013, 17:54
1g0r
Не могу понять и нагуглить, как в имя файла для записи внести номер ответившего оператора из очереди. Объясните дураку....
queue.conf
Код: Выделить всё
[general]
persistentmembers=yes
autofill=yes
monitor-type=MixMonitor
[Queue1]
musicclass = hold
setinterfacevar = yes
eventwhencalled = yes
strategy = leastrecent
timeout = 10
retry = 0
maxlen = 5
wrapuptime = 0
timeoutrestart = no
joinempty = no
ringinuse = no
monitor-format = wav
member => SIP/7090
member => SIP/7091
member => SIP/7092
member => SIP/7093
Extensions.conf
Код: Выделить всё
[PLAN_GROUP]
exten = 0000,1,macro(group,Queue1,${EXTEN})
[macro-group]
exten = s,1, Answer
exten = s,n, Set(PATH=/media/${ARG1}/${STRFTIME(${EPOCH},,%Y/%m/%d)})
exten = s,n, System(mkdir -p --mode=777 ${PATH})
exten = s,n, Set(D=${STRFTIME(${EPOCH},,%H%M%S)})
exten = s,n, Set(FILENAME=${PATH}/${D}-${CALLERID(num)})
exten = s,n, Set(MONITOR_FILENAME=${FILENAME})
exten = s,n, Set(MONITOR_EXEC="/etc/asterisk/wav2mp3 ${FILENAME}.wav")
exten = s,n, Queue(${ARG1},twW,,,60)
exten = s,n, Goto(s-${DIALSTATUS},1)
exten = s,n, Hangup
Ну собственно на данный момент имеется даже 2 проблемы:
1) запись разговора с указанием в имени файла поднявшего трубку...
2) звонок зацикливается на одном операторе и не переходит к следующему... Если ставим random то все срабатывает... Или при leastrecent звонок не переходит к следующему по timeout ?
Re: Queue + MixMonitor
Добавлено: 29 ноя 2013, 07:12
virus_net
1g0r писал(а):запись разговора с указанием в имени файла поднявшего трубку...
Первый вариант: запускать Mixmonitor не до очереди, а после тока как оператор поднял трубку.
В Queue eсть возможность выполнить Gosub:
Queue(queuename[,options[,URL[,announceoverride[,timeout[,AGI[,macro[,gosub[,rule[,position]]]]]]]]])
и там уже анализировать переменные канала
CONNECTEDLINE(name) и
CONNECTEDLINE(num) и затем запускать Mixmonitor.
Второй вариант: При haungup`е (exten => h) аналайзить все те же переменные и переименовывать ранее созданный Mixmonitor`ом файл.
1g0r писал(а):звонок зацикливается на одном операторе и не переходит к следующему...
?
Re: Queue + MixMonitor
Добавлено: 29 ноя 2013, 09:10
1g0r
Забыл сказать... Asterisk 1.4.42
Код: Выделить всё
*CLI> core show application Queue
-= Info about application 'Queue' =-
[Synopsis]
Queue a call for a call queue
[Description]
Queue(queuename[|options[|URL][|announceoverride][|timeout][|AGI])
Код: Выделить всё
queue show
Queue1 has 0 calls (max 5) in 'leastrecent' strategy (0s holdtime), W:0, C:0, A:1, SL:0.0% within 0s
Members:
SIP/7090 (Not in use) has taken no calls yet
SIP/7091 (Not in use) has taken no calls yet
SIP/7092 (Unavailable) has taken no calls yet
SIP/7093 (Not in use) has taken no calls yet
No Callers
Re: Queue + MixMonitor
Добавлено: 29 ноя 2013, 09:22
virus_net
Asterisk config queues.conf
Member Macro
; if set, run this macro when connected to the queue member
; you can override this macro by setting the macro option on
; the queue application
;
; membermacro=somemacro
Monitor Format
; Calls may be recorded using Asterisk's monitor/MixMonitor resource
; This can be enabled from within the Queue application, starting recording
; when the call is actually picked up; thus, only successful calls are
; recorded, and you are not recording while people are listening to MOH.
; To enable monitoring, simply specify "monitor-format"; it will be disabled
; otherwise.
;
; You can specify the monitor filename with by calling
; Set(MONITOR_FILENAME=foo)
; Otherwise it will use MONITOR_FILENAME=${UNIQUEID}
;
; Pick any one valid extension for monitor format recording. If you leave
; monitor-format commented out, it will not record calls.
;
; monitor-format = gsm|wav|wav49
Monitor Type
; By setting monitor-type = MixMonitor, when specifying monitor-format to enable recording of queue member conversations, app_queue will now use the new MixMonitor application instead of Monitor so the concept of "joining/mixing" the in/out files now goes away when this is enabled.
; You can set the default type for all queues here, and then also change monitor-type for individual queues within queue by using the same configuration parameter within a queue configuration block.
; If you do not specify or comment out this option, it will default to the old 'Monitor' behavior to keep backward compatibility.
;
monitor-type = MixMonitor
queue show нужно смотреть когда вызовы есть, а не когда там никого нету.
тебе нужно понять причину, поймешь причину - сможешь подумать как её устранить
1g0r писал(а):Asterisk 1.4.42
рекомендую обновить до 1.8.Х
Re: Queue + MixMonitor
Добавлено: 29 ноя 2013, 10:55
1g0r
Код: Выделить всё
*CLI> queue show
Queue1 has 1 calls (max 5) in 'leastrecent' strategy (0s holdtime), W:0, C:0, A:0, SL:0.0% within 0s
Members:
SIP/7090 (Not in use) has taken no calls yet
SIP/7091 (Not in use) has taken no calls yet
SIP/7092 (Unavailable) has taken no calls yet
SIP/7093 (Not in use) has taken no calls yet
Callers:
1. DAHDI/27-1 (wait: 0:21, prio: 0)
Re: Queue + MixMonitor
Добавлено: 29 ноя 2013, 14:17
Samael28
Re: Queue + MixMonitor
Добавлено: 29 ноя 2013, 18:58
virus_net
отвечу просто:
создание топика на форуме != отключение свое мозга и ожидание очередного наводящего вопроса в топике
Re: Queue + MixMonitor
Добавлено: 30 ноя 2013, 00:59
1g0r
Эм... а никто свой мозг не отключал )... мой мозг занимался правкой диалплана под другие задачи...
Обновлятсья не вариант сейчас, это мне добавит больше проблем... (придется править изменившийся синтаксис)
С записью разговоров мне не критично... они пишутся, доделаю по возможности.
А вот должен ли звонок переходить дальше по таймауту при указанной стратегии leastrecent непонятно... Теоретически можно выводить участника из очереди через Автопаузу, но это кастыли а не решение... Если все же звонок должен сам переходить (вдруг найдется знающий человек), то буду искать проблему... не найдется- буду ковырять исходники модуля.
Re: Queue + MixMonitor
Добавлено: 02 дек 2013, 17:27
1g0r
Вопрос решен.
Записи стали вестись так как я хотел. Позже допилю с переводом звонка.
Re: Queue + MixMonitor
Добавлено: 03 дек 2013, 08:20
virus_net
1g0r писал(а):Вопрос решен.
так рассказал бы другим, тем кто найдет этот топик через поиск или гугл, как именно ты решил свой вопрос