raravaice
سه شنبه 10 فروردین 1389, 16:07 عصر
موضوع : کامپایل asterisk به همراه openh323
مقدمه : برای استفاده از پروتکل H323 در asterisk به دو روش میتوان عمل کرد. روش اول نصب ooh323 که میتوانید آن را از طریق نصب add-one مربوط به نسخه asterisk نصب کنید و روش دوم نصب openh323 .
روش اول دارای معایب و باگهای زیادی است که حتی خود نرم افزار asterisk به شما اعلام میکند که این نسخه stable نیست ولی در روش دوم میتوانید از صحت عملکرد این پروتکل اطمینان حاصل کنید.
از آنجا که نصب openh323 به همراه asterisk دارای ریزه کاری هایی میباشد برآن شدم که این داکیومنت را جمع آوری کنم تا دوستان فارسی زبان به صورت کامل،راحت و بدون مشکل بتوانند از آن بهره ببرند.
پیش نیازها :
1.در صورتی که در حال حاضر asterisk بر روی سیستم نصب میباشد ابتدا آن را remove کنید.
2.نصب پکیجهای مورد نیاز برای کامپایل سورس
مرحله اول - نصب پکیج pwlib مورد نیاز برای کامپایل openh323 :
ابتدا بسته مورد نیاز را Download میکنیم.
mkdir /usr/src/openh323
cd /usr/src/openh323
wget http://downloads.sourceforge.net/openh323/pwlib-v1_10_3-src-tar.gz
2.حال بسته را از حالت فشرده خارج و اقدام به کامپایل آن میکنیم.
tar zxvf pwlib-v1_10_3-src-tar.gz
cd pwlib_v1_10_3/
./configure
make
3. مسیر فایلهای کامپایل شده را export میکنیم.دقت کنید که انجام این مرحله برای نصب openh323 در مرحله بعدی مورد نیاز است.
export PWLIBDIR=/usr/src/openh323/pwlib_v1_10_3
4. حال shared library ایجاد شده را به folder مربوط انتقال میدهیم.
برای سیستمهای 32 بیتی
cp $PWLIBDIR/lib/libpt_linux_x86_r.so.1.10.3 /usr/lib
برای سیستمهای 64 بیتی
cp $PWLIBDIR/lib/libpt_linux_x86_64_r.so.1.10.3 /usr/lib64
مرحله دوم - نصب پکیج openh323 :
ابتدا بسته مورد نیاز را دانلود میکنیم.
cd /usr/src/openh323
wget http://downloads.sourceforge.net/openh323/openh323-v1_18_0-src-tar.gz
2.حال آن را از حالت فشرده خارج و اقدام به کامپایل میکنیم.
tar zxvf openh323-v1_18_0-src-tar.gz
cd openh323_v1_18_0/
./configure
make opt
نکته : بعد از اجرای دستور make opt در صورت مواجه شدن با پیام error درباره compiler.h دوباره اقدام به config کردن کنید به صورت زیر :
make clean
./configure --disable-ixj
make opt
توضیح : compiler.h معمولا به همراه kernel header نصب خواهد شد و در فولدر linux وجود دارد ولی openh323 به خوبی آن را detect نمیکند و برای درایور کارت آنالوگ IXJ به کار میرود که پیش نیاز openh323 نیست ،پس آن را غیر فعال میکنیم.
3. اقدام به export کردن مسیر پوشه openh323 میکنیم و shared library ایجاد شده را در مسیر مربوط کپی میکنیم.
export OPENH323DIR=/usr/src/openh323/openh323_v1_18_0
32 بیتی
cp $OPENH323DIR/lib/libh323_linux_x86_r.so.1.18.0 /usr/lib
64 بیتی
cp $OPENH323DIR/lib/libh323_linux_x86_64_r.so.1.18.0 /usr/lib64
دقت کنید که export کردن مسیر فوق برای detect کردن openh323 در هنگام کامپایل asterisk الزامی میباشد.
حال اقدام به نصب asterisk میکنیم و برای اطمینان بیشتر در هنگام نصب asterisk و با اجرای make menuselect در قسمت channel ها از نصب chan_h323 اطمینان حاصل کنید که غیر فعال نباشد و در حالت انتخاب شده قرار گرفته باشد.
مرحله سوم - نمونه ای از config h323 در asterisk :
/etc/asterisk/h323.conf
[general]
port = 1720
bindaddr = 192.168.58.227
disallow=all
allow=alaw
dtmfmode=inband
gatekeeper = DISABLE
context=default
progress_setup = 8
progress_alert = 8
h245tunneling=yes
[USA]
type=friend
context=default
host=192.168.58.216
port=1720
disallow=all
allow=alaw,g729,gsm,slinear
[GERMANY]
type=friend
context=default
host=192.168.58.221
port=1720
disallow=all
allow=alaw,g729,gsm,slinear
/etc/asterisk/extensions.conf
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
[default]
exten => _1XXXXXXXXXX,1,Dial(H323/${EXTEN}@USA)
exten => _49XXXXXXXXXX,1,Dial(H323/${EXTEN}@GERMANY)
پ.و : تمام مراحل فوق بر روی توزیع CentOS و نسخه های 1.4,1.6.0,1.6.1 برنامه asterisk به مرحله اجرا رسیده است.
"کلیه حقوق مادی و معنوی این مقاله آموزشی متعلق به سایت barnamenevis.org میباشد و درج آن تنها با ذکر منبع مجاز است. "
با احترام
محمد جاهدمنش
مقدمه : برای استفاده از پروتکل H323 در asterisk به دو روش میتوان عمل کرد. روش اول نصب ooh323 که میتوانید آن را از طریق نصب add-one مربوط به نسخه asterisk نصب کنید و روش دوم نصب openh323 .
روش اول دارای معایب و باگهای زیادی است که حتی خود نرم افزار asterisk به شما اعلام میکند که این نسخه stable نیست ولی در روش دوم میتوانید از صحت عملکرد این پروتکل اطمینان حاصل کنید.
از آنجا که نصب openh323 به همراه asterisk دارای ریزه کاری هایی میباشد برآن شدم که این داکیومنت را جمع آوری کنم تا دوستان فارسی زبان به صورت کامل،راحت و بدون مشکل بتوانند از آن بهره ببرند.
پیش نیازها :
1.در صورتی که در حال حاضر asterisk بر روی سیستم نصب میباشد ابتدا آن را remove کنید.
2.نصب پکیجهای مورد نیاز برای کامپایل سورس
مرحله اول - نصب پکیج pwlib مورد نیاز برای کامپایل openh323 :
ابتدا بسته مورد نیاز را Download میکنیم.
mkdir /usr/src/openh323
cd /usr/src/openh323
wget http://downloads.sourceforge.net/openh323/pwlib-v1_10_3-src-tar.gz
2.حال بسته را از حالت فشرده خارج و اقدام به کامپایل آن میکنیم.
tar zxvf pwlib-v1_10_3-src-tar.gz
cd pwlib_v1_10_3/
./configure
make
3. مسیر فایلهای کامپایل شده را export میکنیم.دقت کنید که انجام این مرحله برای نصب openh323 در مرحله بعدی مورد نیاز است.
export PWLIBDIR=/usr/src/openh323/pwlib_v1_10_3
4. حال shared library ایجاد شده را به folder مربوط انتقال میدهیم.
برای سیستمهای 32 بیتی
cp $PWLIBDIR/lib/libpt_linux_x86_r.so.1.10.3 /usr/lib
برای سیستمهای 64 بیتی
cp $PWLIBDIR/lib/libpt_linux_x86_64_r.so.1.10.3 /usr/lib64
مرحله دوم - نصب پکیج openh323 :
ابتدا بسته مورد نیاز را دانلود میکنیم.
cd /usr/src/openh323
wget http://downloads.sourceforge.net/openh323/openh323-v1_18_0-src-tar.gz
2.حال آن را از حالت فشرده خارج و اقدام به کامپایل میکنیم.
tar zxvf openh323-v1_18_0-src-tar.gz
cd openh323_v1_18_0/
./configure
make opt
نکته : بعد از اجرای دستور make opt در صورت مواجه شدن با پیام error درباره compiler.h دوباره اقدام به config کردن کنید به صورت زیر :
make clean
./configure --disable-ixj
make opt
توضیح : compiler.h معمولا به همراه kernel header نصب خواهد شد و در فولدر linux وجود دارد ولی openh323 به خوبی آن را detect نمیکند و برای درایور کارت آنالوگ IXJ به کار میرود که پیش نیاز openh323 نیست ،پس آن را غیر فعال میکنیم.
3. اقدام به export کردن مسیر پوشه openh323 میکنیم و shared library ایجاد شده را در مسیر مربوط کپی میکنیم.
export OPENH323DIR=/usr/src/openh323/openh323_v1_18_0
32 بیتی
cp $OPENH323DIR/lib/libh323_linux_x86_r.so.1.18.0 /usr/lib
64 بیتی
cp $OPENH323DIR/lib/libh323_linux_x86_64_r.so.1.18.0 /usr/lib64
دقت کنید که export کردن مسیر فوق برای detect کردن openh323 در هنگام کامپایل asterisk الزامی میباشد.
حال اقدام به نصب asterisk میکنیم و برای اطمینان بیشتر در هنگام نصب asterisk و با اجرای make menuselect در قسمت channel ها از نصب chan_h323 اطمینان حاصل کنید که غیر فعال نباشد و در حالت انتخاب شده قرار گرفته باشد.
مرحله سوم - نمونه ای از config h323 در asterisk :
/etc/asterisk/h323.conf
[general]
port = 1720
bindaddr = 192.168.58.227
disallow=all
allow=alaw
dtmfmode=inband
gatekeeper = DISABLE
context=default
progress_setup = 8
progress_alert = 8
h245tunneling=yes
[USA]
type=friend
context=default
host=192.168.58.216
port=1720
disallow=all
allow=alaw,g729,gsm,slinear
[GERMANY]
type=friend
context=default
host=192.168.58.221
port=1720
disallow=all
allow=alaw,g729,gsm,slinear
/etc/asterisk/extensions.conf
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
[default]
exten => _1XXXXXXXXXX,1,Dial(H323/${EXTEN}@USA)
exten => _49XXXXXXXXXX,1,Dial(H323/${EXTEN}@GERMANY)
پ.و : تمام مراحل فوق بر روی توزیع CentOS و نسخه های 1.4,1.6.0,1.6.1 برنامه asterisk به مرحله اجرا رسیده است.
"کلیه حقوق مادی و معنوی این مقاله آموزشی متعلق به سایت barnamenevis.org میباشد و درج آن تنها با ذکر منبع مجاز است. "
با احترام
محمد جاهدمنش