Устанавливаем Asterisk 12 на CentOS 6.5

Решил попробовать установить свеженький 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

/usr/lib (или lib64)/asterisk/modulesСодержит бинарные файлы (модули. кодеки)
/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 для вуривания

  1. http://www.asterisk.org/sites/asterisk/files/mce_files/documents/asterisk_quick_start_guide.pdf
  2. https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+Documentation
  3. http://downloads.asterisk.org/pub/telephony/
  4. http://www.digip.org/jansson/
  5. http://www.youtube.com/watch?v=VEjrCSXbRJU
Share

You may also like...

2 комментария

  1. Роман:

    Офигенная статья. Спасибо. 

  2. шик — блеск — красота. В мемориз. %) *CRAZY*

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *