نمایش نتایج 1 تا 2 از 2

نام تاپیک: کامپایل asterisk به همراه openh323

  1. #1
    VIP آواتار raravaice
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Tehran
    سن
    41
    پست
    1,944

    کامپایل asterisk به همراه openh323

    موضوع : کامپایل 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 میباشد و درج آن تنها با ذکر منبع مجاز است. "

    با احترام
    محمد جاهدمنش

  2. #2
    کاربر دائمی آواتار Saeed_m_Farid
    تاریخ عضویت
    تیر 1386
    محل زندگی
    فضای تهی میان دیوارها
    سن
    46
    پست
    1,046

    نقل قول: کامپایل asterisk به همراه openh323

    سلام
    جناب جاهدمنش، خیلی مطلب جالبی بود و از زحمتی که کشیدین به نوبه خودم استفاده کردم و تشکر می کنم. اگه فضولی نباشه چند تا موضوع بود که میخواستم مطرح کنم :
    نقل قول نوشته شده توسط raravaice مشاهده تاپیک
    ...
    1.در صورتی که در حال حاضر asterisk بر روی سیستم نصب میباشد ابتدا آن را remove کنید.
    .
    ..
    ...
    حال اقدام به نصب asterisk میکنیم و برای اطمینان بیشتر در هنگام نصب asterisk و با اجرای make menuselect در قسمت channel ها از نصب chan_h323 اطمینان حاصل کنید که غیر فعال نباشد و در حالت انتخاب شده قرار گرفته باشد.
    حالا که اینقدر detail مراحل نصب و پیکربندی OpenH323 رو مطرح کردید، فکر نمی کنید که یکم در مورد Asterisk تندتر رفتید؟ بنظر من با توجه به اینکه OpenH323 و Asterisk دو تا پروژه کاملاً مستقل از هم هستند (حتی لایسنس هاشون هم فرق میکنه MPL و GPL) بنظرم باید یه پست مستقل در مورد مراحل مرتبط با استریسک، پیکربندی OpenH323 و ایجاد واسط بین OpenH323 و استریسک قرار میدادین.
    راستش خوب " ابتدا آن را remove کنید"رو میشه مثلاً با دستورات زیر یه کاریش کرد :

    killall -9 safe_asterisk
    killall -9 asterisk
    ...
    modprobe -r wcfxo
    modprobe -r wctdm
    ..repeat for all zaptel submodules....
    modprobe -r zaptel
    ...
    rm -rf /etc/asterisk
    rm -f /etc/zaptel.conf
    rm -rf /var/log/asterisk
    rm -rf /var/lib/asterisk
    rm -rf /var/spool/asterisk
    rm -rf /usr/lib/asterisk
    که بهتر بود اصلاً یه نسخه fresh از CentOS مثلاً 5.3 رو نصب می کردیم (با gcc, glib , ...)
    ولی "حال اقدام به نصب asterisk میکنیم" و بعد ارتباط با OpenH323 از دید من خیلی کلی شد!
    به نظر شما این مراحل درسته ؟

    1. اول باید repository های Asterisk رو تو فایل "centos-asterisk.repo" در مسیر "/etc/yum.repos.d" بصورت زیر وارد کنیم :
      [asterisk-tested]
      name=CentOS-$releasever - Asterisk - Tested
      baseurl=http://packages.asterisk.org/centos/$releasever/tested/$basearch/
      enabled=0
      gpgcheck=0
      #gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

      [asterisk-current]
      name=CentOS-$releasever - Asterisk - Current
      baseurl=http://packages.asterisk.org/centos/$releasever/current/$basearch/
      enabled=1
      gpgcheck=0
      #gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium
      دقیقاً همین مراحل رو اما ایندفعه برای digium در یه فایل بنام انجام میدیم :

      [digium-tested]
      name=CentOS-$releasever - Digium - Tested
      baseurl=http://packages.digium.com/centos/$releasever/tested/$basearch/
      enabled=0
      gpgcheck=0
      #gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

      [digium-current]
      name=CentOS-$releasever - Digium - Current
      baseurl=http://packages.digium.com/centos/$releasever/current/$basearch/
      enabled=1
      gpgcheck=0
      #gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium
    2. بعد حتماً به اینترنت وصل شده و کافیه یک خط کد زیر رو نوشته و اینتر :
      # yum install asterisk16 asterisk16-configs asterisk16-voicemail dahdi-linux dahdi
    3. در نهایت برای اطمینان از درست نصب شدن استریسک دستور زیر رو میزنیم :
      # asterisk -vvvgci

    * موضوع دیگه اینه که شما اصلاً از کانفیگ OpenH323 صحبتی نکردید، واقعیتش اینکه بیایم یه IP-PBX دیگه و دستورات Command line و فایلهای کانفیگ و ... اون رو از اول یاد بگیریم فقط برای استفاده از H.323 یه مقدار آدم رو چی میگن؟ میترسونه یا "موکول میشه به یه وقت دیگه"! از طرف دیگه این همه دردسر و مشکل تراشی دوستان انحصاری VoIP کارمون در ... باعث میشه آدم هرچی رو داره بچسبه مبادا همینی هم که داریم زحمت متلاشی شدنش کشیده بشه!

    * در ضمن با توجه به استقبالی که از مطلب شما شد! فکر نمی کنم افراد زیادی در این حجم با VoIP Gateway ها کار کنند که نیاز به Gatekeeper در سطح OpenH323 داشته باشند، این موضوع مثل اینه که یکی نیاز به خطوط SDP (مثلاً STM1) برای VoIP داشته باشه که مطمئناً یکی از آخرین گزینه ها سیستم open-source هست! چون معمولاً یا یه ارگان دولتی هست (که امنیت 110 درصد! و بریز بپاش و رابطه و ... حرف اول رو میزنه) یا یکی از 3 تا شرکت انحصاری معلوم الحال! پس فکر میکنم برای امثال ما ها همون ooh323 کافی باشه که نهایت اش 2-3 تا E1 فقط incoming کفایت مون میکنه و تنها نیاز به یه اینترفیس برای protocol converting از H.323 به SIP خواهیم داشت که با باگ های معدود ولی کم دردسرش هم می سازیم!

    موفق باشید.

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •