понеділок, 18 лютого 2008 р.

Установка Asterisk. Часть 2. H323

Эта статья является продолжением статьи Установка Asterisk
По производственной необходимости необходимо было настроить ещё один сервер с Asterisk в удалённый офис. Причём связь с местной городской сетью осуществляться должна была через H323 кодек. И настала мне пора заняться этим.

Первым, чем я занялся, это сравнил имеющиеся варианты кодеков H323 и OOH323, честно говоря разница между ними мне не критична, полными наворотами протокола я не пользуюсь. Поэтому я решил ставить H323, так как его поставить проще.
Уточню, проще всего подготовить все настройки для этого кодека, а потом при установке, Asterisk он сам обнаружит что кодек готов для установки и установит его.

Первым делом займёмся скачиванием исходников. Тут есть один неслабый нюанс. Не все версии совместимы со всеми. Когда я ставил Оптимальным вариантом были: pwlib версии 1.11.0 и openh323 версии 1.19.0.1
Брать здесь SourceForge.net
Я распаковывал всё в папку /usr/src/

Компилим сначала pwlib. Он должен откомпилироваться без проблем.

./configure
make

Тут у меня образовался затор, пока я не прописал это:

export PWLIBDIR=/usr/src/pwlib_v1_11_0
export OPENH323DIR=/usr/src/openh323_v1_19_0_1
export LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib

Теперь компилируем OpenH323:

./configure
make opt

Откомпилированые библиотеки:

libh323_linux_x86_d.so.1.19.0
libpt_linux_x86_d.so.1.11.0

я закинул в папку /usr/lib, чтобы они были доступны без прописывания дополнительных путей и при перезагрузке системы.

Дальше идём как всегда, устанавливаем нужные пакеты:

yum -y install kernel-devel gcc ncurses-devel openssl-devel gcc-c++ gnutls-devel make
ln -s /usr/src/kernels/2.6.18.-53.1.4.e15-i686/ /usr/src/linux
yum -y install iftop
yum -y install libtool-ltdl libtool-ltdl-devel
yum -y install iksemel
yum -y install curl curl-devel newt newt-devel net-snmp net-snmp-libs
yum -y install glibc-devel kernel-header db-devel gcc cpp binutils bison expat-devel ncurses openssl openssl-devel

Устанавливаем Zaptel

cd /usr/src/zaptel-1.4.7.1/
make clean
make
make install
make install-udev
make config

Во время зборки может произойти ошибка пофиксить ее просто заменив в файле /usr/src/zaptel-1.4.7.1/xpp/xbus-core.c следущющую строку

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) на
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)

Запускаем zaptel

/etс/init.d/zaptel start

Устанавливаем LibPRI

cd /usr/src/libpri-1.4.1/
make clean
make
make install

Устанавливаем Asterisk, вот здесь установка запросит перезапустить себя, так как увидит H323 кодек.

cd /usr/src/asterisk-1.4.11/
make clean
./configure
make
make install
make samples
make progdocs
make config

Устанавливаем Perl Модуль
скачиваем с сайта http://asterisk.gnuinter.net/files/ последнюю версию asterisk-perl-0.10

cd /usr/src/asterisk-perl-0.10
perl Makefile.PL
make all
make install

Далее собираем дополнения

cd /usr/src/asterisk-addons-1.4.5
./configure
make
make install