Информация к новости
  • Просмотров: 1733
  • Автор: sulicompany
  • Дата: 16-11-2012, 17:57
 (голосов: 0)
16-11-2012, 17:57

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

Категория: IT » Сети » IP-телефония (VoIP-телефония)


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

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

1 uname -a
2 cat /etc/redhat-release

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

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

1 yum update

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

1 SELINUX=disabled

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

1 reboot

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

Установка Asterisk

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

1 cd /usr/local/src/

СкачиваемAsterisk

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

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

1 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)

1 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:

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

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

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

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

1 yum install perl ncurses-devel

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

1 cd libpri-1.4.12/

Собираем LibPRI:

1 make
2 make install

СобираемDAHDI:

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

1 make install

1 make config

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

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

1 chkconfig dahdi on

Проверяем

1 chkconfig dahdi --list

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

1 service dahdi start

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

1 cd /usr/local/src/asterisk-*

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

1 bash contrib/scripts/get_mp3_source.sh

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

1 ./configure

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

1 make menuselect

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

CобираемAsterisk:

1 make

1 make install

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

1 make samples

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

1 yum install doxygen

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

1 make progdocs

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

1 make config

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

1 chkconfig asterisk on
2 chkconfig asterisk --list

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

1 asterisk -vvvvc

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

1 core stop now

Запускаем Asterisk

1 /etc/init.d/asterisk start

или

1 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
[[email protected] 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

Решение:

1 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 foryour operating system.
У вас есть новая почта в /var/spool/mail/root

Решение:

1 cd /usr/local/src/asterisk-*
2 make clean
3 ./configure
4 make menuselect
5 make
6 make install
7 make config