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

Отказоустойчивый CDR storage

Добавлено: 09 ноя 2018, 02:59
Shodan
Есть астериск 13, подключенный к небольшому гластерфс стораджу, на который астериск пишет wav файлы с записями звонков через стандартный макрос и цдр записи в мускуль базу.
Также есть веб форма для cdr, где можно эти звонки найти и послушать с того же стораджа (нужно для аудита).
Недавно обнаружилась неприятная проблема - часто веб форма показывает что по базе звонок был, но самого файла с записью звонка на сторадже нет.
Кто как решает проблемы с гарантированной записью файлов? Если сторадж недоступен по какой либо причине, то астериск молча скипает запись файла, что нежелательно.

Re: Отказоустойчивый CDR storage

Добавлено: 09 ноя 2018, 07:11
virus_net
1. Скриптом AGI, который проверяет наличие записи.
2. tcpdump, который пишет весь трафик, в том числе и RTP на другой storage.

Re: Отказоустойчивый CDR storage

Добавлено: 09 ноя 2018, 07:58
gosha
>2. tcpdump, который пишет весь трафик, в том числе и RTP на другой storage.

оно также обломается при недоступности того стораджа

писать сначало на локальный диск который 'всегда есть' и потом только скидывать в сторадж. В моменте 'потом' есть
какйонибудь демон/крон таск который может пережить временную недоступнойсть того стораджа.

Re: Отказоустойчивый CDR storage

Добавлено: 10 ноя 2018, 10:19
virus_net
gosha, ключевым было "другой".
Ситуация, когда недоступны оба storage, должная быть очень низкой, а если это не так, то надо уволить людей, которые за это отвечают ибо они точно не умеют делать работу.

Re: Отказоустойчивый CDR storage

Добавлено: 28 ноя 2018, 08:23
shader
В extensions.conf:

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

MONITOR_EXEC => /path/to/script/convert-soundfile.pl
И данный скрипт запускается каждый раз, когда происходит запись аудиофайла.
Можно слать уведомления, конвертить в любой формат, копировать в 17 мест, да что угодно.

Дополнительно (из диалплана) можно передавать параметр:

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

...
 same => n,Set(MONITOR_EXEC_ARGS=some_very_impotant_var)
...
Удачи.