Для установки 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