понедельник, 4 марта 2013 г.



Установка Asterisk + DAHDI на сервер CentOS

1. Обновляем систему перед установкой
#yum update
Ждем пока не пройдет обновление

2. Отключаем SElinux, для этого открываем файл /etc/sysconfig/selinux
#nano /etc/sysconfig/selinux
Оставляем одну строку, остальное комментируем:
SELINUX=disabled

3. Перезагружаемся
#reboot

4. Переходим в папку откуда будем ставить пакеты
#cd /usr/local/src/

5. Качаем пакеты Asterisk, LibPRI, (Digium Asterisk Hardware Device Interface)
#wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.20.1.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.14.tar.gz
#wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.6.1+2.6.1.tar.gz

LibPRI — это библиотека, предназначенная для работы с потоковыми TDM-интерфейсами ISDN: PRI (Primary Rate Interface) и BRI (Basic Rate Interface)
DAHDI (Digium Asterisk Hardware Device Interface) – пакет позволяет использовать аппаратные средства (карты) для соединения Asterisk с традиционными аналоговыми или цифровыми телефонными сетями

6. Распаковываем скаченные архивы
#tar -xvzf asterisk-1.8.20.1.tar.gz
#tar -xvzf libpri-1.4.14.tar.gz
#tar -xvzf dahdi-linux-complete-2.6.1+2.6.1.tar.gz

7. Устанавливаем пакеты, необходимые для установки этих программ из исходников
#yum install kernel-devel gcc make gcc-c++ libxml2-devel
#yum install perl ncurses-devel
#yum -y install make gcc gcc-c++ kernel kernel-headers-`uname -r` kernel-devel-`uname -r` ncurses-devel newt-devel libtiff-devel libxml2-devel sqlite-devel glibc-headers

8. Устанавливаем DAHDI
#cd dahdi-linux-complete-2.6.1+2.6.1
#make all
#make install

Если установка прошла успешно, увидим надпись:
###################################################
###
### DAHDI tools installed successfully.
### If you have not done so before, install init scripts with:
###
### make config
###
################################################### 

Затем обязательно поставить конфиги DAHDI:
#make config
При этом DAHDI добавиться в автозагрузку

9. Делаем первый запуск драйвера DAHDI
#service dahdi start
Должны успешно стартовать все подключенные драйвера DAHDI


10. Устанавливаем пакет LibPRI
#cd ..
#cd libpri-1.4.14
#make
#make install


11. Наконец устанавливаем Asterisk
#cd ..
#cd asterisk-1.8.20.1
Если хотим, что бы Asterisk был с поддержкой SQL ставим сервер MySQL
#yum install mysql-server mysql mysql-devel mysql-connector-odbc unixODBC unixODBC-devel –y
Затем:
#./configure
Если в конце отработки скрипта появился символ Asterisk, то все хорошо:

               .$$$$$$$$$$$$$$$=..
            .$7$7..          .7$$7:.
          .$$:.                 ,$7.7
        .$7.     7$$$$           .$$77
     ..$$.       $$$$$            .$$$7
    ..7$   .?.   $$$$$   .?.       7$$$.
   $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
 .777.   .$$$$$$77$$$77$$$$$7.      $$$,
 $$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7
$$$       .7$$$$$$$$$$$$$$$$      :$$$.
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.
$$$        $$$   7$$$7  .$$$    .$$$.
$$$$             $$$$7         .$$$.
7$$$7            7$$$$        7$$$
 $$$$$                        $$$
  $$$$7.                       $$  (TM)
   $$$$$$$.           .7$$$$$$  $$
     $$$$$$$$$$$$7$$$$$$$$$.$$$$$$
       $$$$$$$$$$$$$$$$.
configure: Package configured for:
configure: OS type : linux-gnu
configure: Host CPU : i686
configure: build-cpu:vendor:os: i686 : pc : linux-gnu :
configure: host-cpu:vendor:os: i686 : pc : linux-gnu :

Если необходимо, что бы установленный Asterisk поддерживал дополнительные опции (например работу с MySQL), то их нужно добавить с помощью утилиты menuselect:
#make menuselectВ появившемся окне выбираем нужные опции (я выбрал все опции относящиеся к MySQL):

Нажимаем "Save & Exit"
Далее выполняем:
#make
в конце появиться

+--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +
 +-------------------------------------------+
Выполняем рекомендуемую команду:
#make install
В конце работы команды должно получиться:
+---- Asterisk Installation Complete -------+
 +                                           +
 +    YOU MUST READ THE SECURITY DOCUMENT    +
 +                                           +
 + Asterisk has successfully been installed. +
 + If you would like to install the sample   +
 + configuration files (overwriting any      +
 + existing config files), run:              +
 +                                           +
 +                make samples               +
 +                                           +
 +-----------------  or ---------------------+
 +                                           +
 + You can go ahead and install the asterisk +
 + program documentation now or later run:   +
 +                                           +
 +               make progdocs               +
 +                                           +
 + **Note** This requires that you have      +
 + doxygen installed on your local system    +
 +-------------------------------------------+
После этого устанавливаем примеры
#make samples 
Устанавливаем doxygen, он необходим для выполнения команды make progdocs, которая устанавливает документацию по Asterisk
#yum install doxygen
#make progdocs

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

12. Делаем первый запуск Asterisk#/etc/init.d/asterisk start
Проверяем, что Asterisk запустился:
# service asterisk status
asterisk (pid 23002) is running...


13. Делаем контрольную перезагрузку сервера и контролируем, что после перезагрузки все службы запустились:

#ps ax | grep asterisk
1449 ? S 0:00 /bin/sh /usr/sbin/safe_asterisk
1453 ? Sl 0:04 /usr/sbin/asterisk -f -vvvg -c
1608 pts/0 S+ 0:00 grep asterisk

заходим в консоль Asterisk
#asterisk -r
и проверяем "видит" ли Asterisk драйвер DAHDI
asterisk1*CLI> dahdi show version
DAHDI Version: 2.6.1 Echo Canceller: HWEC


14. Если Asterisk используется исключительно в защищенной локальной сети, то выключаем firewall. Делаем это с помощью специальной утилиты, если она установлена:

#system-config-firewall
Запустив службу в графическом окне снимаем метку Enabled, нажимаем "ОК" и подтверждаем свое решение.

Если утилита не установлена - не беда!
Открываем файл iptables
#nano /etc/sysconfig/iptables
И варварски удаляем все строчки оставляя только две значимые. Получается примерно так:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i lo -j ACCEPT
COMMIT


Рестартуем службу iptables
#service iptables restart

Полезные ссылки:

Ставим Asterisk на CentOS
http://xaxatyxa.ru/_centos/ustanavlivaem-asterisk-1-8-centos-6-3.html

Установка и настройка Asterisk и дополнительных модулей

http://www.voxlink.ru/knowledge-base/curriculum/3B3E52EB-6F29-39E4-96AC-004DBD4061BA/
http://www.voxlink.ru/knowledge-base/asterisk-installation/

Описание переменных используемых DAHDI

http://www.asterisk-pbx.ru/wiki/doku.php/asterisk_channels_dahdi





Комментариев нет:

Отправить комментарий