VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Нужна помощь с настройками записью звонков

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
den_kedr
Сообщения: 7
Зарегистрирован: 01 авг 2021, 20:13

Нужна помощь с настройками записью звонков

Сообщение den_kedr »

Добрый день, столкнулся с астериксом 1.6 верся, да да именно 1.6 а не 16я или 1.8., установлен он на дебиан
У людей отвалился сервер куда писались звонки, сейчас подняли новый, но никак не можем понять как сделать запись звонков.
на данный момент звонки пишутся в (/var/spool/asterisk), но нужно как то сделать так, что бы звонки писались в сервер с файловым хранилищем.
Причем если раньше звонки писались имя файла "номер телефона входящий-номер телефона исходящий-дата-время), то теперь только номер телефона.

Можете помочь с решением проблемы ?

вот кусок кода с макро, если покажу весь файл екстен, то с сума сойти можно от безумия того, кто это делал ))

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

[macro-monitor]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/var/spool/asterisk/monitor/${ARG1}.wav" "/home/calls/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/`date +%H.%M_%d.%m`_${ARG3}-${ARG2}.mp3" && rm -f "/var/spool/asterisk/monitor/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})

[macro-sndfx]
exten => s,1,SendFAX(/var/spool/asterisk/tmp/faxfile.tif,d)
exten => s,n,Hangup()



[macro-monitorkp]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/root/telefon/${ARG1}.wav" "/media/telefon/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG3}-${ARG2}_`date +%H.%M`.mp3" && rm -f "/root/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})


[macro-monitorzdor]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/root/telefon/${ARG1}.wav" "/media/telefon/zdor/`date +%d`/${ARG3}_`date +%H.%M`.mp3" && rm -f "/root/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})

[macro-monitorin]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/root/telefon/${ARG1}.wav" "/media/telefon/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}_`date +%H.%M`.mp3" && rm -f "/root/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})

[macro-monitoryasno]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /root/telefon/reklama/yasno/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/root/telefon/${ARG1}.wav" "/media/telefon/reklama/yasno/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/root/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})

[macro-monitorklasifait]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/klasifait/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/klasifait/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG3}-${ARG2}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})

[macro-monitoryasno407]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/yasno/407/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/yasno/407/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})

[macro-monitoryasno404]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/yasno/404/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/yasno/404/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})

[macro-monitoryasno408]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/yasno/408/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/yasno/408/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})

[macro-monitoryasno410]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/yasno/410/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/yasno/410/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})


[macro-monitorredcentr]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/formax/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/formax/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})

[macro-monitor9may]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/9may/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/9may/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})


[macro-monitornashe]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/nashe/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/nashe/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG3}-${ARG2}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})

[macro-monitoradam]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/reklama/adam/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/reklama/adam/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})


[macro-monitorreckp]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/reklama/kp/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/reklama/kp/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})


[macro-monitorreccentr]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/reklama/centr/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/reklama/centr/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})



[macro-monitorrecnashe]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/reklama/nashe/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/reklama/nashe/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})


[macro-monitor072]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /home/denis/telefon/072/line/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/telefon/072/line/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})


[macro-monitoreda]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /root/eda_rec/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/home/denis/telefon/${ARG1}.wav" "/media/eda_rec/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/home/denis/telefon/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Нужна помощь с настройками записью звонков

Сообщение Wapo »

Нук поищите строку типа: Macro(monitor,......) и после запятой будет как формируется имя файла
den_kedr
Сообщения: 7
Зарегистрирован: 01 авг 2021, 20:13

Re: Нужна помощь с настройками записью звонков

Сообщение den_kedr »

что то типо такого нашел, но не похоже на запись

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

;звонки на городские и стационарные по республике и их запись (beeline)
exten => _[89]XXXXXX,1,set(CALLERID(all)="73412945000 <73412945000>")
exten => _[89]XXXXXX,n,Dial(SIP/73412${EXTEN:1}@beeline,,W)
exten => _[89]XXXXXX,n,Hangup()
exten => _XXXXXX,1,set(CALLERID(all)="73412945000 <73412945000>")
exten => _XXXXXX,n,Dial(SIP/73412${EXTEN}@beeline,,W)
exten => _XXXXXX,n,Hangup()
exten => _99XXXXXX,1,Macro(monitorkp,${UNIQUEID},out,${EXTEN:2}) ;запись исходящих звонков
exten => _99XXXXXX,n,set(CALLERID(all)="73412945000 <73412945000>")
exten => _99XXXXXX,n,Dial(SIP/73412${EXTEN:2}@beeline,,)
exten => _99XXXXXX,n,Hangup()

а это не оно ?

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

[macro-monitoradam]
;ARG1 - id
;ARG2 - in or out
;ARG3 - callerid
exten => s,1,Set(monopt= /opt/checkdir.sh "/media/telefon/reklama/adam/`date +%Y`/`date +%m`/${ARG2}/`date +%d`" && nice -n 19 /usr/bin/lame -b 16 --silent "/var/spool/asterisk/monitor/${ARG1}.wav" "/media/telefon/reklama/adam/`date +%Y`/`date +%m`/${ARG2}/`date +%d`/${ARG1}-${ARG2}-${ARG3}_`date +%H.%M`.mp3" && rm -f "/var/spool/asterisk/monitor/${ARG1}.wav")
exten => s,n,MixMonitor(${ARG1}.wav,,${monopt})
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Нужна помощь с настройками записью звонков

Сообщение Wapo »

Ну дык там же невооруженным взглядом видно что после записи срабатывает строка конвертации полученного в /var/spool/... файла в иной формат и имя, а так же новый путь!!!
den_kedr
Сообщения: 7
Зарегистрирован: 01 авг 2021, 20:13

Re: Нужна помощь с настройками записью звонков

Сообщение den_kedr »

по факту сейчас получается что записывает в var.... но дальше процесс конвертации не идет и в папку с записями на локальный диск не кидает
ded
Сообщения: 15618
Зарегистрирован: 26 авг 2010, 19:00

Re: Нужна помощь с настройками записью звонков

Сообщение ded »

Два разных факта: диалплан с макросом monitorkp
exten => _99XXXXXX,1,Macro(monitorkp,${UNIQUEID},out,${EXTEN:2}) ;запись исходящих звонков
и совсем другой макрос - [macro-monitoradam]

Что нам с этим делать?
Garnish
Сообщения: 43
Зарегистрирован: 09 мар 2016, 11:07

Re: Нужна помощь с настройками записью звонков

Сообщение Garnish »

Как подметил Ded, у вас в диаплане вызывается макрос, который нам вы не показали.
От себя добавлю: Посмотрите в кроне, возможно там по расписанию файлы переносятся в хранилище
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Нужна помощь с настройками записью звонков

Сообщение Wapo »

Найдите в логе эту строку, скопируйте (она как раз будет в норм. формате) и вручную попробуйте выполнить.
shader
Сообщения: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: Нужна помощь с настройками записью звонков

Сообщение shader »

Добрый день!
Давненько сюда не захаживал, пока вот не назрела необходимость ствой asterisk обновить)
Подскажите, с такой бедой столкнулся: asterisk 18.18.1
запускаю mixMonitor(blabla/bla.wav,b) - Всё работает.
Но вот стоит мне указать абсолютный путь вида:
mixMonitor(/mnt/storage/voice_records/some_dir/bla.wav,b)
Выхватываю:

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

[Nov 16 09:14:23] WARNING[2173][C-00000001]: file.c:1533 ast_writefile: Unable to open file /mnt/store/voice_records/megalink/test.wav: No such file or directory
[Nov 16 09:14:23] ERROR[2173][C-00000001]: app_mixmonitor.c:704 mixmonitor_save_prep: Cannot open /mnt/store/voice_records/megalink/test.wav
При этом папка /mnt/store/voice_records - существует. asterisk запущен от пользователя/группы asterisk. Владелец/группа папки voice_records - asterisk:asterisk
Далее, я проверил, что пользователь asterisk может создавать каталоги в указанной директории:

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

sudo -u asterisk mkdir -p /mnt/storage/voice_records/megalink
Всё ок.

Вопрос: где и как захардкодили mixMonitor, что он пишет только в папку /var/spool/asterisk/monitor?
Да, есть asterisk.conf
и там:

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

astspooldir => /var/spool/asterisk
но откуда еще появляется /monitor?

PS. Проблема не острая, через симлинк решилась, но хотелось бы ликвидировать это белое пятно в понимании механизма работы.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH