В этой заметке я расскажу как научить asterisk принимать и отправлять факсы с помощью внутренних приложений SendFAX и RecieveFAX. Почему именно эти приложения? Во-первых, они обеспечивают расширенный функционал, а во вторых наиболее стабильную работу.
В данном руководстве будет рассмотрен вариант сборки asterisk с поддержкой модуля spandsp. Для описания установки используется Centos 6.6-i386 и Asterisk 11.7.0
1. Нам понадобится проверенный дистрибутив asterisk с исходными кодами, желательно который уже собирали (что бы не возникло смежных ошибок). Если вам ещё предстоит найти и подготовить исходные тексты asterisk к сборкею.
Итак, скачиваем исходники с сайта
[root@centostest asterisk-11.7.0]# cd /home/user [root@centostest asterisk-11.7.0 user]# wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.6pre21.tgz
Распаковываем для дальнейшей работы
[root@centostest asterisk-11.7.0 user]# tar -xzvf spandsp-0.0.6pre21.tgz
скорее всего нам понадобятся следующие библиотеки
[root@centostest asterisk-11.7.0 user]# yum install -y libtiff-devel
2. Конфигурируем и собираем модуль
[root@centostest asterisk-11.7.0 user]# cd spandsp-0.0.6 [root@centostest asterisk-11.7.0 spandsp-0.0.6]# ./configure --prefix=/usr/local [root@centostest asterisk-11.7.0 spandsp-0.0.6]# make [root@centostest asterisk-11.7.0 spandsp-0.0.6]# make install
Для 64-битных систем могут быть нюансы, т.к. там есть две папки с библиотеками lib и lib64, имейте ввиду!
3. Далее нужно указать пути библиотек для системы, вносим некоторые изменения
[root@centostest asterisk-11.7.0 spandsp-0.0.6]# cat > /etc/ld.so.conf.d/spandsp.conf << EOF /usr/local /usr/local/lib EOF
4. Следующим шагом будет сборка asterisk с поддержкой spandsp модуля
[root@centostest asterisk-11.7.0 spandsp-0.0.6]# cd /home/user/asterisk-11.7.0 [root@centostest asterisk-11.7.0 asterisk-11.7.0]# make distclean [root@centostest asterisk-11.7.0 asterisk-11.7.0]# ./configure
запускаем конфигуратор компонентов asterisk
[root@centostest asterisk-11.7.0 asterisk-11.7.0]# make menuselect
в меню Resource Modules необходимо активировать два модуля
[*] res_fax
[*] res_fax_spandsp
Если до этого приложение было собрано корректно, то должна быть возможность выбрать эти модули, поставив около них звездочку.
Нажимаем ESC и выполняем сохранение конфигурации кнопкой S
Выполняем сборку и установку нового asterisk-а, предварительно перед этим выполнив его остановку service asterisk stop
[root@centostest asterisk-11.7.0 asterisk-11.7.0]# make [root@centostest asterisk-11.7.0 asterisk-11.7.0]# make install
5. Запускаем новый Астериск
[root@centostest asterisk-11.7.0 asterisk-11.7.0]# service asterisk start
заходим консольно
[root@centostest asterisk-11.7.0 asterisk-11.7.0]# asterisk -rvv
Проверяем, загрузились ли модули
centostest*CLI> fax show capabilities
Нормальным результатом должен быть похожий ответ
Registered FAX Technology Modules: Type : Spandsp Description : Spandsp FAX Driver Capabilities : SEND RECEIVE T.38 G.711 GATEWAY 1 registered modules
Если модули не найдены, попробуйте сначала их загрузить и перегрузить вручную
centostest*CLI> module reload res_fax.so centostest*CLI> modeule load res_fax_spandsp.so