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

MixMonitor и automon одновременно

СообщениеДобавлено: 03 апр 2018, 15:39
sergio
Добрый день.
Подскажите кто сталкивался.
По заданию надо записывать вызовы определенных внутренних абонентов. На определенных абонентов можно выйти разными способами(вызов из-вне в группу абонентов, переключение условное/безусловное, переключение из голосового меню). В общем немного поразмыслив решил писать все разговоры с самого начала, далее по завершению вызова проводить анализ текущего закрываемого соединения на предмет принадлежности абонента к списку записываемых. Работает все это через MixMonitor. Работает нормально, конвертирует из wav в ogg, пишет имя файла в CDR, раскладывает по именным каталогам абонентов, предоставляет доступ на прослушку через Asterisk CDR Viewer Mod v2.6.3. С этим все.
Далее появляется потребность записывать разговор по желанию внутр.абонента. Пробую использовать automixmon, оно начинает конфликтовать с уже начавшейся записью, отключает её при первом нажатии сочетания тоновых сигналов, включает при втором наборе и т.д. Тогда активирую automon. Хорошо, оно пишет и не мешает MixMonitor, но тут возникают другие трудности:
1 Внутри диалплана не получается выполнить конвертацию файлов, так как их иноды держит аcтресик или даже monitor, хотя выше осуществляется попытка останова StopMonitor(). Как заставить астер "отпустить" файл записи внутри экстеншена?
2 При выставлении в глобал TOUCH_MONITOR_FORMAT=>wav, два файла in и out в конечном счете превращаются в один, но позже чем заканчивается выполнение эктеншена, хорошо. Но если выставить TOUCH_MONITOR_FORMAT=>alaw два файла так и остаются, не миксуются. Планирую реализовать прослушку записей через трубку абонента, для этого нужно фалы превратить в alaw. Вот смиксовал бы их как это делает с wav вопроса бы небыло, а так как объяснить это поведение?

Re: MixMonitor и automon одновременно

СообщениеДобавлено: 03 апр 2018, 15:44
sergio
Пока резервным вариантом остается вариант преобразование файла записи во время самой прослушки, но кажется это не лучший вариант. Есть еще вариант подтягивания файла который пишет MixMonitor но он ведь большой от начала до конца соединения.

Re: MixMonitor и automon одновременно

СообщениеДобавлено: 03 апр 2018, 17:27
awsswa
Вы же правильно делали - писали все и удаляли тех кого не нужно
Ставьте метки - если кто из не "записываемых" хочет сохранить запись
перед удаление записи у тех кого не нужно писать проверяйте метку

Re: MixMonitor и automon одновременно

СообщениеДобавлено: 03 апр 2018, 17:50
sergio
awsswa да, это один из вариантов, но он мне не очень нравиться тем что пишет весь разговор а не кусок, хотя это свойство можно считать его фишкой.
Каким образом можно поставить метку во время вызова? подскажите?

Re: MixMonitor и automon одновременно

СообщениеДобавлено: 03 апр 2018, 18:03
awsswa
features

поставить метку в диаплане

Set(DB(FOXISOX/${CHANNEL(linkedid)}/KTOPOPAL)=${CALLERID(num)}))

найти в bash

asterisk -rx "database show" | grep FOXISOX | grep ЦИФРЫ

в скрипт конвертирования передаете ${CHANNEL(linkedid)} для поиска записи в базе

не забудьте потом базу почистить от записей

Re: MixMonitor и automon одновременно

СообщениеДобавлено: 04 апр 2018, 10:13
sergio
awsswa писал(а):найти в bash
asterisk -rx "database show" | grep FOXISOX | grep ЦИФРЫ

Подразумевается запуск команды по шедулеру? иль есть какой другой, разовый вариант?

Я попробовал перекодировку wav-to-alaw делать во время прослушивания, быстро и не затратно получается. Начал развитие этим путем. И возник другой вопрос. Везде пишут как в диалплане включить динамическую функцию automon или automixmon, а как её динамически выключить? мало ли кому взбребет в голову вести запись при прослушивании записи :lol:

Re: MixMonitor и automon одновременно

СообщениеДобавлено: 04 апр 2018, 11:23
awsswa
Все зависит от того как вы конвертируете записи:
Если после разговора - тогда поиска метки в этом скрипте
Если ночью - тогда уже там

Самое главное что бы вы могли сопоставить:
Записанный файл, поиск в CDR и метку в базе - это теперь единое целое.