Вывод информации о звонках в файл Asterisk\FreePBX?
FreePBX 17 Aserisk 21
Добрый день! Подскажите есть ли чистый способ получения информации о звонках во внешнюю среду, например в файл, ну просто время звонка, время разговора, направление, номер, запись разговора...
Как я не пытался кастомизировать диалплан, в лог сыпется куча мусора, один и тот же звонок может залетать по многу раз.
Пробовал и в custom-from-trunk с помощью hangup_handler_push
И переписывал в extensions_override_freepbx.conf macro-dialout-trunk
Там сыпется все подряд, это не подходит...
Поделитесь чистым методом если кто то использует пожалуйста...
SteepNET, Последняя моя реализация была сделана на node-red с обработчиком ami с дальнейшей интеграцией звонков в битрикс. Логика примерно такая - ловим событие начала звонка - проверяем контекст, канал, cause. Если это начало звонка - закидываем во временную таблицу временных звонков с обязательным указанием uniqueid, далее ждем для каждого uniqueid - когда будет сделан hangup, тогда и удаляем из временной таблицы и считаем что звонок завершен.
Понятно что минимум тех.деталей, да и я сильно упростил схему, но если хотите дешево и сердито, самый простой вариант зайти в cdr и от туда скачать CSV.
Еще более простая - у вас есть вышестоящий оператор, возможно у него есть API. Дёргайте детализацию у него, там она будет скорее всего в самом удобочитаемом виде.
Если хотите рыбку в виде готового решения - это как правило платно, а удочки я вам подкинул. Немного распишу в общем виде.
Пару наводочек дам, но дальше самостоятельно. Через mysql - подключаемся к БД asteriskcdrdb
Для визуального анализа данных и как они туда поступают и хранятся я использую GUI, в данном случае phpmyadmin тоже подойдет.
Делаем тестовый звонок, смотрим как попадают данные, анализируем и составляем серию запросов (или один запрос если добавить доп поле), далее экспортируемый полученный результат и сохраняем куда нужно.
Про API можно начать читать от сюда, но если не планируете писать свой модуль для freepbx, можете не тратить время.
Про AMI можете почитать тут. https://voxlink.ru/kb/book/interfejs-upravlenija-a...
Вкратце при помощи AMI можно маршрутизировать звонки на лету, а можно и статистику получать.
- Отчеты - CDR, выставить нужные фильтры и экспортнуть в csv
- Подключить к crm и радоваться, что все в кучу собрано, заодно и распознавание в текст и анализ звонков настроить
- Самому собирать события и разбирать как писали выше
- Кидать события из диалплана в файлик но с указанием идентификатора звонка, потом собирать куски в один звонок
- То же самое но присоединить матричный принтер к компу и кидать все на него, на все вопросы отвечать это легаси, так еще со времен Панасоника повелось
В случае использование FreePBX он замучается править диалпланы, потому что если используются ivr, followme, переадресация звонков и тд - то это много куда вставлять кастомные куски диалплана. Поэтому работать с диалпланами на freepbx для целей ТС - очень муторная затея получается. В случае с CDR тоже есть свои приколюхи, т.к. если звонок был перенаправлен несколько раз (внутри астера) - получим на один входящий - несколько hangup.
Использовался бы голый астериск - тогда да, можно было разобраться в диалпланах и в нужное место вставить кастомный код.
Поэтому наверное самый простой "чистый" способ, это как Вы написали - CDR - экспорт в CSV. Я про него забыл честно говоря)
да, я недавно выгружал CDR отчет и рассматривал его в excel
да, недавно мне атс присылала в телегу оповещение о пропущенном звонке
да, менеджеры предпочитают смотреть свои звонки в crm