Главная » 2009 Сентябрь 29 » Установка и настройка Asterisk 1.6 + PostgreSQL на Debian
10:48 Установка и настройка Asterisk 1.6 + PostgreSQL на Debian |
В этом туториале, я опишу, как установить и настроить Asterisk 1.6 на системе Debian для работы с PostgreSQL,для того чтобы управлять CDR (Call Detail Records), и для конфигурации в реальном времени. Для этого мы будем использовать чистую и обновленную Debian Etch / так называемую систему Lenny, первый шаг заключается в том, чтобы переконфигурировать ядро с новыми параметрами, чтобы оно оптимально поддерживало систему Asterisk . apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential cd /usr/src Загрузите исходники ядра, я использую 2.6.26: wget 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 Теперь выполним compile и make для .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! Отлично, теперь мы имеем полностью оптимизированную систему для наилучшей работы с VoIP. Сейчас на понадобиться настроить систему для компилирования 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 из репозитария.В Asterisk 1.6 Zaptel переименован в DAHDI, и мы добавим mISDN для ISDN транков: 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 инструменты: 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 транк, проделайте следующее: 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 Компилируем сам Asterisk: cd /usr/src/asterisk/asterisk ./configure make menuconfig make make install make samples make config asterisk -vvvc Ctrl+C для выхода. Итак, мы имеем самы обычный Asterisk, такой же как и у всех. Сейчас мы сделаем его уникальным и оптимизируем под работу в реальном времени. Для начала нам понадобится схема Базы данных (БД), в Asterisk она присутсвует, но она имеет ряд багов, поэтому я буду использовать свою Вы не можете скачивать файлы с нашего сервера . cd /usr/src/asterisk wget http://www.deathlock.org/files/realtime_pgsql.sql su - postgres createuser -s -D -R -l -P -e asterisk createdb -O asterisk -e asteriskDB pgsql -U asterisk -h localhost -d asteriskDB < /usr/src/asterisk/realtime_pgsql.sql Разрешим Asterisk подключаться к PostgreSQL: echo "local asteriskDB asterisk md5" >> /etc/postgresql/8.1/pg_hba.conf Сейчас мы подготовим конфигурационные файлы Asterisk: nano /etc/asterisk/cdr_pgsql.conf [global] hostname=localhost port=5432 dbname=asteriskDB password=password user=asterisk table=cdr nano /etc/asterisk/extconfig.conf [settings] extensions => pgsql,asteriskDB,extensions_conf sipuser => pgsql,asteriskDB,sip_conf sippeers => pgsql,asteriskDB,sip_conf sipregs => pgsql,asteriskDB,sip_conf voicemail => pgsql,asteriskDB,voicemail_users queues => pgsql,asteriskDB,queue_table queue_members => pgsql,asteriskDB,queue_member_table Ну вот и все, все готово! Осталось только перезапустить Asterisk: /etc/init.d/asterisk restart |
|
Всего комментариев: 1 | |
| |