Решил попробовать установить свеженький asterisk 12 на свеженький CentOS 6.5.
Вот краткие сведения о системе
Обновляемся
yum update -y
Отключаем SELINUX
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
Перезагружаемся, чтобы применить изменения
reboot
Устанавливаем необходимые пакеты для сборки исходников
yum install -y make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel libuuid-devel
Собираем из исходников библиотеку libjansson
cd /usr/src/ && wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz tar -zxf jansson-2.5.tar.gz cd jansson* ./configure --prefix=/usr/ && make clean && make && make install && ldconfig
Скачиваем исходники DAHDI
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
Скачиваем исходники libpri
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
Скачиваем исходники asterisk
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-12-current.tar.gz
Распаковываем исходники DAHDI
tar zxvf dahdi-linux-complete*
Распаковываем исходники libpri
tar zxvf libpri*
Распаковываем исходники asterisk
tar zxvf asterisk*
Переходим в папку с исходниками DAHDI и собираем
cd /usr/src/dahdi-linux-complete* && make && make install && make config
Добавляем dahdi в автозагрузку
chkconfig --add dahdi
Переходим в папку с исходниками libpri и собираем
cd /usr/src/libpri* && make && make install
Переходим в папку с исходниками Asterisk
cd /usr/src/asterisk*
Собираем Asterisk
./configure --libdir=/usr/lib64 && make menuselect && make && make install
Для 32 разрядной системы команда будет отличаться
./configure && make menuselect && make && make install
Нажимаем «Save & Exit» и дожидаемся окончания сборки из исходников
Устанавливаем примеры конфигурационных файлов Asterisk
make samples
Устанавливаем документацию Asterisk
yum install doxygen -y && make progdocs
Добавляем скрипт для старта Asterisk в папку /etc/init.d/
make config
Стартуем сервис DAHDI
service dahdi start
Стартуем сервис Asterisk
service asterisk start
Подключится к командному итерфейсу (CLI) можно используя аргумент ‘r’.
asterisk -r
Ну и в заключении хотелось бы написать где собственно в системе прячется asterisk
/var/lib/asterisk — Содержит переменные данные(звуки. скрипты и т.д.)
/var/spool/asterisk — Файлы содаваемые в процессе работы (голосовые сообщения, исходящие вызовы и т.д.)
/var/log/asterisk — Логи. информация о вызовах
/etc/asterisk — Конфигурационные файлы Asterisk
Возможные ошибки
1. ошибка «error: *** JSON support not found» при сборке asterisk
checking for json_dumps in -ljansson... no configure: error: *** JSON support not found (this typically means the libjansson development package is missing)
решение:
cd /usr/src/ && wget http://www.digip.org/jansson/releases/jansson-2.5.tar.gz tar -zxf jansson-2.5.tar.gz cd jansson* ./configure --prefix=/usr/ && make clean && make && make install && ldconfig
2. Ошибка при установке документацию Asterisk (make progdocs)
# Note, Makefile conditionals must not be tabbed out. Wasted hours with that. Doxygen is not installed. Please install and re-run the configuration script.
Установите doxygen (yum install doxygen -y) или просто ещё нет нормальных комментариев в исходниках для создания документации 😉
3. Ошибка при попытке запустить сервис asterisk (service asterisk start)
asterisk: error while loading shared libraries: libjansson.so.4: cannot open shared object file: No such file or directory
Проверяем наличие библиотеки в системе
# ldd /usr/sbin/asterisk | grep libjansson libjansson.so.4 => not found
Смотрим есть ли вооще данная библиотека в системе
# find / -name libjansson* /usr/lib/libjansson.a /usr/lib/libjansson.la /usr/lib/libjansson.so /usr/lib/libjansson.so.4 /usr/lib/libjansson.so.4.5.0 /usr/src/jansson-2.5/src/libjansson.la /usr/src/jansson-2.5/src/.libs/libjansson.a /usr/src/jansson-2.5/src/.libs/libjansson.exp /usr/src/jansson-2.5/src/.libs/libjansson.ver /usr/src/jansson-2.5/src/.libs/libjansson.la /usr/src/jansson-2.5/src/.libs/libjansson.lai /usr/src/jansson-2.5/src/.libs/libjansson.so /usr/src/jansson-2.5/src/.libs/libjansson.so.4 /usr/src/jansson-2.5/src/.libs/libjansson.so.4.5.0 /usr/local/lib/libjansson.a /usr/local/lib/libjansson.la /usr/local/lib/libjansson.so /usr/local/lib/libjansson.so.4 /usr/local/lib/libjansson.so.4.5.0
Библиотека libjansson.so.4 присутствует, перезагружаем библиотеки
ldconfig
Если не помогло, устанавливаем (сморим ошибку номер раз). Если библиотеки не будет пробуем сделать ссылку
ln -s /usr/local/lib/libjansson.so.4 /usr/lib/libjansson.so.4
4. Сообщение о подключении «Remote UNIX connection» и «Remote UNIX connection disconnected» в «asterisk*CLI»
asterisk*CLI> -- Remote UNIX connection -- Remote UNIX connection disconnected
этонормально;)
Ссылки и документация по Asterisk для вуривания
- http://www.asterisk.org/sites/asterisk/files/mce_files/documents/asterisk_quick_start_guide.pdf
- https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+Documentation
- http://downloads.asterisk.org/pub/telephony/
- http://www.digip.org/jansson/
- http://www.youtube.com/watch?v=VEjrCSXbRJU
Офигенная статья. Спасибо.
шик — блеск — красота. В мемориз. %) *CRAZY*