Итак- для начала установим дебиан — при установке выбирайте минимальную конфигурацию, настраивайте подключение к интернет,
и, зайдя под рутом, дайте
aptitude update
aptitude upgrade
reboot
после ребута поставим
aptitude install ssh ntp screen
Далее для нормальной работы нам будет необходимо скомпилить ядро с некоторыми изменениями, которые, если верить первоисточнику, влияют на работу конкретно Asterisk
для этого установим всё необходимое
aptitude install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential
Загрузим исходники ядра
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.12.tar.bz2
(можно посвежее)
распакуем
tar xjf linux-2.6.*
ln -s /usr/src/linux-2.6.23.12 /usr/src/linux
cd /usr/src/linux
Копируем текущую конфигурацию в /usr/src/linux:
make clean && make mrproper
cp /boot/config-`uname -r` ./.config
make menuconfig
в меню выбираем «Load alternate configuration…» и выбираем конфигурационный файл который скопировали в /usr/src/linux
— /usr/src/linux/.config
Нужно поправить несколько параметров в конфиге ядра
В разделе «Processor type and features» выбираем:
«Enable IRQ balancing» is disabled
«Timer frequency» change the value 250 Hz by 1000 Hz.
«High Resolution Timer Option» and «HPET Timer Support» as built-in.
После всего сохраняем конфиг и выходим
Компилим ядро и хедеры
make-kpkg clean
fakeroot make-kpkg —initrd —append-to-version=-custom kernel_image kernel_headers
Компилится долго. После этого должно появиться два .deb пакета в каталоге /usr/src/
Инсталлируем их:
cd /usr/src
dpkg -i linux-image-2.6.23.12-custom_2.6.23.12-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.23.12-custom_2.6.23.12-custom-10.00.Custom_i386.deb
reboot
Смотрим запустилось ли то ядро что нужно:
uname -a
Должно вывести что-то наподобие «Linux asterisk 2.6.23.12-custom».
Дабы удовлетворить зависимости в дальнейшем ставим:
aptitude install build-essential libcurl3-dev libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev flex xsltproc
aptitude install linux-headers-`uname -r` g++ libncurses5-dev libnewt-dev libusb-dev subversion git-core
Качаем и распаковываем исходники:
cd /usr/src
wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz
wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
wget http://www.misdn.org/downloads/mISDN.tar.gz
wget http://www.misdn.org/downloads/mISDNuser.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz
tar xvzf asterisk-1.4-current.tar.gz && tar xvzf zaptel-1.4-current.tar.gz && tar xvzf libpri-1.4-current.tar.gz && tar xvzf mISDN.tar.gz && tar xvzf mISDNuser.tar.gz && tar xvzf asterisk-addons-1.4-current.tar.gz
Ставим всё что нужно для работы Asterisk:
aptitude install build-essential libcurl3-dev libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev flex xsltproc
aptitude install linux-headers-`uname -r` g++ libncurses5-dev libnewt-dev libusb-dev subversion git-core
Скачиваем и распаковываем:
cd /usr/src
wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz
wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
wget http://www.misdn.org/downloads/mISDN.tar.gz
wget http://www.misdn.org/downloads/mISDNuser.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz
tar xvzf asterisk-1.4-current.tar.gz && tar xvzf zaptel-1.4-current.tar.gz && tar xvzf libpri-1.4-current.tar.gz && tar xvzf mISDN.tar.gz && tar xvzf mISDNuser.tar.gz && tar xvzf asterisk-addons-1.4-current.tar.gz
Ставим Zaptel:
cd /usr/src/zaptel-1.4*
./install_prereq test
./install_prereq install
./configure
make
make install
make config
modprobe ztdummy
Cтавим Libpri:
cd /usr/src/libpri-1.4*
make && make install
Ставим mISDN:
Не ставьте версию (1.1.7) с ядром (2.6.23.12). В доках написано что не работает. Я ставил всё самое последнее — работает.
cd /usr/src
git-clone git://git.misdn.org/git/mISDN.git/
git-clone git://git.misdn.org/git/mISDNuser.git/
cd /usr/src/mISDN
make
make install
cd /usr/src/mISDNuser/
make && make install
Конфигурим:
mISDN scan
mISDN config
будет создан /etc/mISDN.conf котрый можно смотреть и дополнять.
vi /etc/mISDN.conf
Если всё ок то стартуем:
mISDN start
Проверяем всё ли в порядке
misdnportinfo
Системные скрипты для старта mISDN:
/usr/sbin/update-rc.d mISDN defaults 15 30
Собственно установка Asterisk
cd /usr/src/asterisk-1.4*
./configure
Можно выбрать дополнительные звуковые дорожки для голосового меню
make menuselect
Выберите core-sounds которые будете использовать и другие если нужно . Выходите через «x» с записью изменений. Затем:
make
make install
make samples
make config
asterisk -vvvc
stop now
echo «ztdummy» >> /etc/modules
Если ошиблись и компиляция закончилась неудачно то
make clean
then
./configure
and
make install
снова.
Перезагрузитесь и проверьте как работает Asterisk.
reboot
asterisk -r
exit
Установка аддонов:
cd /usr/src/asterisk-addons*
./configure && make && make install
make samples
Установимl Asterisk-GUI
Конфиги сохраним
cp -r /etc/asterisk /etc/asterisk.bak
Скачаем и установим Asterisk-GUI:
cd /usr/src
svn checkout http://svn.digium.com/svn/asterisk-gui/trunk asterisk-gui
cd /usr/src/asterisk-gui
./configure && make && make install
make samples
Внесём несколько ньюансов в конфиг…
cat </etc/asterisk/http.conf
[general]
enabled=yes
enablestatic=yes
EOF
cat </etc/asterisk/manager.conf
[general]
displaysystemname = yes
enabled = yes
webenabled = yes
port = 5038
;httptimeout = 60
bindaddr = 0.0.0.0
[admin]
secret = admin
read = system,call,log,verbose,command,agent,config
write = system,call,log,verbose,command,agent,config
EOF
Checking configuration…
make checkconfig
asterisk -r
reload
exit
Заходите и администрируйте систему. логин/пароль по умолчанию admin/admin
адрес гуи:
http://IPADDRESS:8088/asterisk/static/config/setup/install.html
http://IPADDRESS:8088/asterisk/static/config/cfgbasic.html