Asterisk и IP-телефония

Web интерфейс прослушивания записей звонков Asterisk / Хабрахабр

Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.

TM Feed
Хабрахабр
Мегамозг
Geektimes
Тостер
Brainstorage
Фрилансим
Крутой блоггер?
Прощай MS Server 2003!
Кто быстрее?
Разделы
Публикации
Хабы
Компании
Пользователи
Q&A
Песочница
Спецпроекты
Shared Hosting
MAXIFY MB5040
Деньги на образование
FessAectan
карма
55,5
111 голосов
рейтинг
0,0
Профиль
Публикации (
Комментарии (
147
Избранное (
752
17 февраля 2014 в 06:15
Web интерфейс прослушивания записей звонков Asterisk
Системное администрирование
Разработка систем связи
Asterisk
Поисковые системы выдают огромное количество результатов разной полезности на запрос вынесенный в заголовок.
На Хабрахабре такой статьи не нашел, а значит её нужно написать!
За основу
взял проект
asterisk cdr viewer
Перевел язык web интерфейса на великий могучий и «озвучил» его, т.е. добавил возможность прослушивать файлы записей разговоров в браузере, а так же скачивать их.
Количество полей фильтра сокращено до минимума, остались только самые необходимые.
Скриншоты, сорцы и подробное описание инсталляции уютно разместились под хабракатом.
UPDATE
внизу статьи скрины и линк на еще более красивый и кастомизированный вариант Asterisk CDR Viewer от камрада
prog-it
его доработка имеет свои особенности, поробнее ниже
Скриншоты web интерфейса
Логотип и ссылка на донат разработчикам остались на своих местах.
Поля переведены все, если потребуется вывести какое-либо поле как в оригинале, просто раскомментируйте его в templates/form.tpl.php
А так выглядит результат поиска по фильтру.
Каждый разговор можно скачать, либо прослушать через flash плеер.
Готовим MySQL
CDR нашего Asterisk должны писаться в MySQL базу, о том как это настроить можно прочесть
здесь
например ;).
Имя файла записи разговора пишется в поле file таблицы CDR.
Добавим его:
mysql -uroot -p -e
"alter table `cdr` add column `filename` varchar(120) after `userfield`;"
asterisk
Диалплан
Для настройки диалплана Asterisk я пользуюсь extensions.ael.
extensions.ael
globals {
WAV=/records/wav; //Временный каталог с WAV
MP3=/records/mp3; //Куда выгружать mp3 файлы
RECORDING=1; // Запись, 1 - включена.
};
macro recording (calling,called) {
if
${RECORDING}
"1"
){
Set(fname=
${UNIQUEID}
${STRFTIME(${EPOCH}
,,%Y-%m-%d-%H_%M)}-
${calling}
${called}
);
Set(monopt=nice -n 19 /usr/bin/lame -b 32 --silent
${WAV}
${fname}
.wav"
${MP3}
${fname}
.mp3"
&& rm -f
${WAV}
${fname}
.wav"
&& chmod o+r
${MP3}
${fname}
.mp3"
);
Set(CDR(filename)=
${fname}
.mp3);
Set(CDR(realdst)=
${called}
);
MixMonitor(
${WAV}
${fname}
.wav,b,
${monopt}
);
};
_XXXXXX => {
&recording(
${CALLERID(number)}
${EXTEN}
);
Dial(SIP/rtk/
${EXTEN}

Материал сокращён при переносе в новую базу знаний. Полная версия сохранена в архиве старого сайта.

Позвонить +7 (343) 382-33-16