Главная » 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
Категория: Администрирование | Просмотров: 8781 | Добавил: admin | Рейтинг: 3.0/2
Всего комментариев: 1
1 myau  
>>Debian Etch / так называемую систему Lenny

Это разные вещи.
Etch -> 4.0
Lenny -> 5.0

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]