安装和配置Asterisk 1.6 + PostgreSQL管理CDR和RealTime配置在Debian

安装和配置Asterisk 1.6 + PostgreSQL以在Debian上管理CDR&RealTime配置

在本教程中,我将介绍如何在Debian系统上安装和配置Asterisk 1.6以使用PostgreSQL来管理CDR (呼叫详细记录)和实时配置

为此,我们将使用一个干净和最新的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

现在为内核编译并制作一个.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

我们的系统已经准备好了,现在从svn repo下载Asterisk源码。 在Asterisk 1.6 Zaptel被重命名为DAHDI,我们为ISDN中继线添加mISDN:

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 1.6就像其他任何一样,但现在我们使它独特,并配置它实时工作。

首先我们需要数据库模式,Asterisk有一个,但是它是bug的,所以我使用我自己的数据库。

cd /usr/src/asterisk
wget http://coto.debianchile.cl/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

允许星号连接到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 
nano /etc/asterisk/res_pgsql.conf
[general]
dbhost=127.0.0.1
dbport=5432
dbname=asteriskDB
dbuser=asterisk
dbpass=password
requirements=warn

所有设置...我们准备好了,现在只需重新启动Asterisk。 恭喜!

/etc/init.d/asterisk restart
如何到来... UpGrade正在进行中http://coto.debianchile.cl/asterisk/asterisk-postgresql/这是西班牙语,很快英文版,只在这里..在HowToForge!干杯,Coto Cisternas
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏