Установка и настройка Asterisk 1.6 на Debian

Перевод статьи с howtoforge.com по установке и настройке Asterisk 1.6 на Debian.

Для установки Asterisk нужна чистая Debian/Lenny система. Для начала пересоберем ядро с дополнительными параметрами, чтобы Asterisk работал оптимальнее.
apt-get install kernel-package libncurses5-dev fakeroot wgеt bzip2 build-essential
cd
/usr/src

Скачиваем исходники ядра, например 2.6.26:
wgеt http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.8.tar.gz
tar xfv linux
-2.6.26.8.tar.gz
ln
-s /usr/src/linux-2.6.26.8 /usr/src/linux
cd
/usr/src/linux
make clean
&& make mrproper
cp
/boot/config-`uname -r` ./.config
make menuconfig


В настройках ядра выберем:
Processor type and features >> [*]IRQ balancing
Processor type and features >> Timer frequency = 1000 Hz.
Processor type and features >> [*]High Resolution Timer Option
Processor type and features >> [*]HPET Timer Support
Device Drivers >> Character Devices >> [*]Enchanced Real Time Clock Support
Library Routines >> [*]CONFIG_CRC_CCITT

Теперь скомпилируем и сделаем .deb пакет для ядра:
make-kpkg clean
fakeroot make
-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

Можно устанавливать ядро:
cd /usr/src
dpkg
-i *.deb

Потребуется перезагрузка:
reboot -t now!

Теперь наша система оптимизиварона на максимальное быстродействие Asterisk. Подготовим установку Asterisk из исходников:
apt-get install build-essential libcurl3-dev libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev
apt
-get install flex xsltproc odbc-postgresql libusb-dev libnewt-dev libxml2-dev bison
apt
-get install linux-headers-`uname -r` g++ libncurses5-dev libnewt-dev libusb-dev subversion git-core
apt
-get install postgresql-8.1 postgresql-contrib-8.1 postgresql-client-8.1 postgresql-dev

Система готова, скачиваем Asterisk из SVN репозитария:
cd /usr/src
mkdir asterisk
cd asterisk
svn co http
://svn.digium.com/svn/asterisk/trunk asterisk
svn co http
://svn.digium.com/svn/asterisk-addons/trunk asterisk-addons
svn co http
://svn.digium.com/svn/dahdi/linux/trunk dahdi-linux
svn co http
://svn.digium.com/svn/dahdi/tools/trunk dahdi-tools
svn co http
://svn.digium.com/svn/libpri/branches/1.4 libpri
git
-clone git://git.misdn.org/git/mISDN.git/
git
-clone git://git.misdn.org/git/mISDNuser.git/


Компилируем DAHDI модуль, для поддержки Digium плат:
cd /usr/src/asterisk/dahdi-linux
make
&& make install

И DAHDI tools:
cd /usr/src/asterisk/dahdi-tools
.
/configure
make menuselect
make
make install
make config

Для уменьшения времени загрузки можно выгрузить неиспользуемые модули, для этого исправим /etc/dahdi/modules и закомментируем все ненужные строки, кроме тех, что нам потребуются. В примере используется Digium TDM400P, поэтому я разкомментирую только wctdm.
Соберем libpri:
cd /usr/src/asterisk/libpri
make
&& make install

Далее только для тех кому нужен ISDN транк:
**OPTIONAL**
cd /usr/src/asterisk/mISDN
make
make install
cd
/usr/src/asterisk/mISDNuser
make
&& make install
mISDN scan
mISDN config
mISDN start
misdnportinfo
/usr/sbin/update-rc.d mISDN defaults 15 30

**END OPTIONAL**

Скомпилируем Asterisk:
cd /usr/src/asterisk/asterisk
.
/configure
make menuconfig
make
make install
make samples
make config
asterisk -F
asterisk -vvvc

Ctrl+C или! и enter для выхода

Таким образом мы получили чистый Asterisk 1.6.

Источник: sysadminblog.ru