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

DialPlan Записи разговоров

СообщениеДобавлено: 27 июл 2018, 16:45
rodionov
День Добрый, помогите новичку. Есть чистый asterisk 15.4.1 и Mysql (MariaDB). Подключил тестовый транк, входящие звонки на sip/10X приходят. Понадобилось организовать 2 очереди 1-secretaty с политикой ringall 2-all с политикой ringall и сделать запись всех входящих звонков в очередях ( входящий с транка и пришедший на внутренний номер даже при переводе звонков).
Мой DialPlan в данный момент:
[general]
static=yes
writeprotect=no
[globals]
RECORDING=1
DIR_RECORDS=/var/spool/asterisk/calls/
[default]

[handup-sip]
switch => Realtime/handup-sip@extensions

[call-out]
include => handup-sip
include => outcalling

[outcalling]
switch => Realtime/outcalling@extensions

[call-in]
exten => [trunk],1,Queue(test,r,,tTM(crm^${CALLERID(num)}^${EXTEN}))

[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/calls/${STRFTIME(${EPOCH},,%Y%m)}/${STRFTIME(${EPOCH},,%Y%m%d)}/${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)}-${ARG1}-${ARG2})
exten => s,n,MixMonitor(${F}.wav,W(1),lame -b 16 ${F}.wav ${F}.mp3 && rm ${F}.wav)
exten => s,n(gtme),MacroExit


Что работает: макрос отрабатывает запись происходит
Что не работает: в имя файла записи не попадают: Номер звонящего и номер ответившего.

Подскажите плз как подправить. Заранее всем спасибо

Re: DialPlan Записи разговоров

СообщениеДобавлено: 27 июл 2018, 17:11
zzuz
Нужно поправить , посмотрев в логи.

Re: DialPlan Записи разговоров

СообщениеДобавлено: 27 июл 2018, 17:21
ded
Скорее всего в момент срабатывания
exten => s,n,Set(F=/var/spool/asterisk/calls/${STRFTIME(${EPOCH},,%Y%m)}/${STRFTIME(${EPOCH},,%Y%m%d)}${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)}-${ARG1}-${ARG2})
и следующего шага -
exten => s,n,MixMonitor
ещё нет состояния отвеченного вызова в очереди, поэтому нету номера ответившего.
По поводу номера звонящего - почитайте теорию - как наследуются переменные. Коротко: ваш макрос ничего не знает про него.

Дебаг: выводить везде содержание переменных
NoOp(${ARG1} & ${ARG2})

Re: DialPlan Записи разговоров

СообщениеДобавлено: 27 июл 2018, 18:08
Repz
Добавить к строке генерирующей название файла ${CALLERID(num)}_${EXTEN} получите кто - кому. Но возникнет другая проблема, в ${EXTEN} будет записан экстеншн очереди. Дальше расковырять CDR или Queue logs, найти оператора который ответил на вызов и переименовать файл.

Re: DialPlan Записи разговоров

СообщениеДобавлено: 28 июл 2018, 09:26
virus_net
Ещё вариант, это использовать статичных агентов очереди, которых вызывать через CHAN_LOCAL, а запись включать только по поднятию трубки.