Устанавливаем Asterisk 1.8 на CentOS 6.3

Asterisk — свободное решение компьютерной телефонии (в том числе и VoIP) с открытым исходным кодом от компании Digium. Asterisk можно установить двумя способами: репозитории, либо собрать из исходников.
Так как мы тру-админы и любим ковыряться мелочах и досконально всё исследовать, поэтому будем собирать asterisk из исходников с максимальной установкой.

Итак, имеем следующую систему:

uname -a
cat /etc/redhat-release

Настройка CentOS 6.3 для Asterisk

обновляем систему перед установкой

yum update

отключаем SElinux, для этого в файле /etc/sysconfig/selinux указываем:

SELINUX=disabled

Для применения настроек перезагружаем сервер:

reboot

после чего перезагрузить сервер:

Установка Asterisk

переходим в папку с исходниками /usr/local/src/

cd /usr/local/src/

Скачиваем Asterisk

wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.16.0.tar.gz

Скачиваем DAHDI (Digium Asterisk Hardware Device Interface, ранее Zaptel) — позволяет использовать аппаратные средства (карты) для соединения Asterisk с традиционными аналоговыми или цифровыми телефонными сетями

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.6.1+2.6.1.tar.gz

Скачиваем LibPRI — это библиотека, предназначенная для работы с потоковыми TDM-интерфейсами ISDN: PRI (Primary Rate Interface) и BRI (Basic Rate Interface)

wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.12.tar.gz

В итоге, должны увидеть три новых архива:

asterisk-1.8.16.0.tar.gz
dahdi-linux-complete-2.6.1+2.6.1.tar.gz
libpri-1.4.12.tar.gz

Распаковываем  asteriskDAHDI и LibPRI:

tar -xvzf asterisk-1.8* && tar -xvzf dahdi-linux-complete-* && tar -xvzf libpri-*

Устанавливаем пакеты необходимые для сборки ПО из исходников:

yum install kernel-devel gcc make gcc-c++ libxml2-devel

Также необходимо установить Perl & ncurses-devel:

yum install perl ncurses-devel

Устанавливаем LibPRI, переходим в папку с исходниками:

cd libpri-1.4.12/

Собираем LibPRI:

make
make install

Собираем DAHDI:

cd /usr/local/src/dahdi-linux-complete*
make all

make install

make config

В рамках данной установки я не буду рассматривать установку и настройку карт, но если вы будете использовать, то настройки ищите в
/etc/dahdi/system.conf и /etc/asterisk/chan_dahdi.conf

Добавляем DAHDi в автозагрузку (в том случае,если вы планируете использовать дополнительные карты):

chkconfig dahdi on

Проверяем

chkconfig dahdi --list

Запускаем сервис DAHDi (в том случае,если вы планируете использовать дополнительные карты):

service dahdi start

Переходим в директорию с исходниками Asterisk

cd /usr/local/src/asterisk-*

Выполняем скрипт поддержки mp3:

bash contrib/scripts/get_mp3_source.sh

Выполняем конфигурацию Asterisk:

./configure

Выбираем дополнительные опции установки:

make menuselect

В рамках нашей установки, я просто показал, что есть возможность более детальной настройки. Оставляем все по-умолчанию и нажимаем «Save & Exit»

Cобираем Asterisk:

make

make install

Устанавливаем примеры конфигурационных файлов:

make samples

Устанавливаем  doxygen, он необходим для выполнения команды make progdocs

yum install doxygen

По команде make progdocs с помощью программы doxygen из комментариев, внесенных в исходный код разработчиком, будет создана документация

make progdocs

Для CentOS, который использует папки /etc/rc.d/init.d/ или /etc/init.d/, также желательно выполнить команду make config. Это обеспечит установку сценариев запуска и конфигурацию системы (с помощью команды chkconfig) для автоматического выполнения Asterisk при запуске:

make config

добавляем в автозагрузку и проверяем

chkconfig asterisk on
chkconfig asterisk --list

Делаем тестовый запуск Asterisk

asterisk -vvvvc

Как видно тестовый запуск прошёл удачно, можно останавливать, набрав команду:

core stop now

Запускаем Asterisk

/etc/init.d/asterisk start

или

service asterisk start

Проверяем что актериск запушен

ВСЁ !!!

Возможные ошибки Asterisk:

1. Ошибка при выполнении команды make progdocs

Updating asterisk.conf
build_tools/make_sample_voicemail "//var/lib/asterisk" "//var/spool/asterisk"
Installing file phoneprov/000000000000.cfg
Installing file phoneprov/000000000000-directory.xml
Installing file phoneprov/000000000000-phone.cfg
Installing file phoneprov/polycom_line.xml
Installing file phoneprov/polycom.xml
Installing file phoneprov/snom-mac.xml
[root@home asterisk-1.8.16.0]# make progdocs
(cat contrib/asterisk-ng-doxygen; echo "HAVE_DOT=no"; \
	echo "PROJECT_NUMBER=1.8.16.0") | doxygen -
/bin/sh: line 1: doxygen: команда не найдена
make: *** [progdocs] Ошибка 127

Решение:

yum install doxygen

2. При выполнении команды make config выдаёт: We could not install init scripts for your operating system.

	--version
Опции оболочки:
	-irsD or -c command or -O shopt_option		(invocation only)
	-abefhkmnptuvxBCHP или опция -o
We could not install init scripts for your operating system.
У вас есть новая почта в /var/spool/mail/root

Решение:

cd /usr/local/src/asterisk-*
make clean
./configure
make menuselect
make
make install
make config
Share

You may also like...

8 комментариев

  1. Автор ты космос.
    Спасибо огромное за статью хотел на пиво отстегнуть а тут тока яндекс.деньги кошелька такого нет. *CRAZY* 

  2. 8) лучше бы пивка сразу прислал  😉

    • А еще можно попросить статью asterisk + realtime + postgresql?

      • postgresql- а зачем это? много абонентов?

        • нет, там конфиги все хранятся в базе данных, и не нужно диаплан перезагружать чтобы изменения применялись и статистику по звонкам выбирать. я по вашей статье собрал, все работает, идеально, но при реализации этого механизма у меня * пишет config.c:2272 find_engine: Realtime mapping for ‘queues’ found to engine ‘pgsql’, but the engine is not available

  3. m2k9:

    добрый день! все шло по инструкции но при выполнении asterisk -vvvvc грит asterisk: команда не найдена. Что делать ????

  4. hardy:

    Спасибо за статью. Все предельно понятно и заработало с первого раза. Отличная идея отметить возможные ошибки.

  5. Алексей:

    при ошибке root@localhost asterisk-1.8.7.1]# bash contrib/scripts/get_mp3_source.sh
    пишет
    contrib/scripts/get_mp3_source.sh: line 12: svn: command not found

    нужно ставить subversion — yum install subversion 

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

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