پیکربندی سرور ویپ با نرم افزار استریسک (نشان ستاره) برای اودوو

نصب سرور استریسک

وابستگی‌ها

قبل از نصب سرور استریسک باید تابع‌های زیر را نصب کنید:

  • wget

  • gcc

  • g++

  • ncurses-devel

  • libxml2-devel

  • sqlite-devel

  • libsrtp-devel

  • libuuid-devel

  • openssl-devel

  • pkg-config

برای نصب libstrip دستورالعمل‌های زیر را دنبال کنید:

cd /usr/local/src/

wget http://srtp.sourceforge.net/srtp-1.4.2.tgz

tar zxvf srtp-1.4.2.tgz

cd /usr/local/src/srtp

./configure CFLAGS=-fPIC --prefix=/usr/local/lib

make && make install

شما همچنین باید PJSIP را نصب کنید، که می‌توانید منبع را از اینجا دانلود کنید. پس از استخراج دایرکتوری منبع:

  • آن را به دایرکتوری منبع pjproject تغییر دهید.

     cd pjproject #

  • موارد زیر را اجرا کنید:

 'configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS='-O2 -DNDEBUG'. #

  • Pjproject را ایجاد و نصب کنید:

make dep #

make #

make install #

  • به‌روزرسانی لینک‌های کتابخانه مشترک:

ldconfig #

  • تأیید نصب pjproject:

    dconfig -p | grep pj #

  • نتیجه باید به صورت فوق باشد:

libpjsua.so (libc6,x86-64) => /usr/lib/libpjsua.so

libpjsip.so (libc6,x86-64) => /usr/lib/libpjsip.so

libpjsip-ua.so (libc6,x86-64) => /usr/lib/libpjsip-ua.so

libpjsip-simple.so (libc6,x86-64) => /usr/lib/libpjsip-simple.so

libpjnath.so (libc6,x86-64) => /usr/lib/libpjnath.so

libpjmedia.so (libc6,x86-64) => /usr/lib/libpjmedia.so

libpjmedia-videodev.so (libc6,x86-64) => /usr/lib/libpjmedia-videodev.so

libpjmedia-codec.so (libc6,x86-64) => /usr/lib/libpjmedia-codec.so

libpjmedia-audiodev.so (libc6,x86-64) => /usr/lib/libpjmedia-audiodev.so

libpjlib-util.so (libc6,x86-64) => /usr/lib/libpjlib-util.so

libpj.so (libc6,x86-64) => /usr/lib/libpj.so

        استریسک

        • برای نصب استریسک 13.7.0 می‌توانید منبع را مستقیماً از اینجا دانلود کنید.

        • استخراج استریسک

          *tar zxvf asterisk
        • دایرکتوری استریسک را وارد کنید:

          *cd ./asterisk
        • اسکریپت پیکربندی استریسک را اجرا کنید:

          configure --with-pjproject --with-ssl --with-srtp/.
        • ابزار انتخاب منوی استریسک را اجرا کنید:

        make menuselect

        •  در انتخاب منو، به گزینه منبع‌ها بروید و مطمئن شوید که res_srtp فعال است. اگر 3x مقابل res_srtp وجود دارد، کتابخانه srtp مشکل دارد و باید دوباره نصب شود. پیکربندی را ذخیره کنید (x را فشار دهید). شما همچنین باید مقابل سطرهای res_pjsip ستاره‌ها را ببینید.

        • کامپایل و نصب استریسک:

        make && make install

        • در صورت نیاز به پیکربندی‌های نمونه، می‌توانید برای نصب پیکربندی‌های نمونه

         گزینه ‘make samples’ را اجرا کنید. در صورت نیاز به نصب اسکریپت راه‌اندازی استریسک گزینة ‘make config’ را اجرا کنید.  


        گواهی‌نامه‌های DTLS 

        • بعد نیاز است که گواهی‌نامه‌های DTLS را راه‌اندازی کنید.

        mkdir /etc/asterisk/keys

        • دایرکتوری اسکریپت‌های استریسک را وارد کنید:

        cd /asterisk*/contrib/scripts

        •  گواهی‌نامه‌های DTLS را ایجاد کنید (pbx.mycompany.com را با آدرس IP یا نام dns جایگزین کنید، نام شرکت خود را جایگزین شرکت برتر من(My Super Company)  کنید): 

        ast_tls_cert -C pbx.mycompany.com -O "My Super Company" -d /etc/asterisk/keys/.

         پیکربندی سرور استریسک

        برای WebRTC، بسیاری از تنظیمات موردنیاز باید تنظیمات همتا و همگنی باشند. تنظیمات عمومی به خوبی سازگار با این تنظیمات همتا نیست. فایل‌های پیکربندی استریسک به طور پیش‌فرض در /etc/asterisk قرارگرفته است. با ویرایش http.conf شروع کنید و مطمئن شوید که سطرهای زیر بدون تغییر و نظرند:

         http.conf   ;

        [general]

        enabled=yes

        bindaddr=127.0.0.1 ; Replace this with your IP address

        bindport=8088 ; Replace this with the port you want to listen on

        بعد، sip.conf را ویرایش کنید. WebRTC  ی همتا نیاز به فعال‌سازی رمزگذاری، avpf و پشتیبانی ICE دارد. در اغلب موارد، directmedia (رسانه‌های مستقیم) باید غیرفعال شود. همچنین تحت سرویس گیرنده WebRTC، نقل و انتقال باید تحت عنوان ‘ws’ فهرست شود تا امکان اتصالات از طریق وب سوکت فراهم ‌شود. همه این سطرهای پیکربندی باید به خودی خود به صورت همتا باشند، تنظیمات این سطرهای پیکربندی به صورت عمومی، ممکن است عملیاتی نشود: 

        ;sip.conf
        [general]
        realm=127.0.0.1 ; Replace this with your IP address
        udpbindaddr=127.0.0.1 ; Replace this with your IP address
        transport=udp

        [1060] ; This will be WebRTC client
        type=friend
        username=1060 ; The Auth user for SIP.js
        host=dynamic ; Allows any host to register
        secret=password ; The SIP Password for SIP.js
        encryption=yes ; Tell Asterisk to use encryption for this peer
        avpf=yes ; Tell Asterisk to use AVPF for this peer
        icesupport=yes ; Tell Asterisk to use ICE for this peer
        context=default ; Tell Asterisk which context to use when this peer is dialing
        directmedia=no ; Asterisk will relay media for this peer
        transport=udp,ws ; Asterisk will allow this peer to register on UDP or WebSockets
        force_avp=yes ; Force Asterisk to use avp. Introduced in Asterisk 11.11
        dtlsenable=yes ; Tell Asterisk to enable DTLS for this peer
        dtlsverify=no ; Tell Asterisk to not verify your DTLS certs
        dtlscertfile=/etc/asterisk/keys/asterisk.pem ; Tell Asterisk where your DTLS cert file is
        dtlsprivatekey=/etc/asterisk/keys/asterisk.pem ; Tell Asterisk where your DTLS private key is
        dtlssetup=actpass ; Tell Asterisk to use actpass SDP parameter when setting up DTLS

        •  در فایل‌های sip.conf و rtp.conf شما باید سطرها را اضافه کنید یا بدون تغییر و نظر باقی بگذارید.

        icesupport = true
        stunaddr = stun.l.google.com:19302
        •   در پایان، extension.conf (افزونه پیکربندی) را تنظیم کنید.

        ;extensions.conf
        [default]
        exten => 1060,1,Dial(SIP/1060) ; Dialing 1060 will call the SIP client registered to 1060

        پیکربندی اودوو ویپ (Odoo VOIP) 

        در اودوو، پیکربندی باید در بخش تنظیمات کاربر انجام شود.


        •  ورود SIP/ افزونه مرورگر، عددی است که شما قبلاً در فایل sip.conf پیکربندی کرده‌اید (در مثال ما: 1060). 

        •  رمز عبور SIP رمزی است که در فایل sip.conf انتخاب کردید.

        •  افزونه تلفن دفتر یک فیلد ضروری نیست اما اگر بخواهید تماس خود را از اودوو به یک تلفن خارجی که در فایل sip.conf نیز پیکربندی شده، منتقل کنید، می‌توانید از آن استفاده کنید. 

        پیکربندی باید در تنظیمات عمومی زیر بخش “ ادغام “ نیز انجام شود.


        • IP  سرور PBX باید مشابه IP تعریف شده در فایل http.conf باشد.

        • وب سوکت باید به این صورت باشد: ws://localhost:XXXX/ws که «هاست محلی» (Localhost)  باید همان IP تعریف شدة قبلی باشد و “XXXX” باید پورت تعریف شده در فایل http.conf  باشد.