راه اندازی webrtc روی استریسک
نصب پیشنیازها
در صورتی که Git روی سرور نصب نیست، ابتدا آن را نصب نمایید:
apt update
apt install git -y
دریافت و نصب کتابخانه SRTP
cd /usr/src/
git clone GitHub - cisco/libsrtp: Library for SRTP (Secure Realtime Transport Protocol)
apt install libsrtp2-dev -y
cd libsrtp
./configure --enable-openssl
make
make runtest
make install
کامپایل مجدد Asterisk با پشتیبانی از SRTP و TLS
cd /usr/src/asterisk-18.14.0.s.2/
./configure --with-crypto --with-ssl --with-srtp=/usr/local
make
make install
درج گواهی ssl معتبردر استریسک
لازم است کلیدهای گواهی ssl در مسیر زیر جایگذاری شوند
mkdir /etc/simotel/keys
ریست سرویس Asterisk
service asterisk restart
پیکربندی Asterisk
غیرفعالسازی WebSocket در chan_sip
در فایل sip.conf:
websocket_enabled = false
فعالسازی HTTPS و WebSocket امن
در فایل /etc/asterisk/http.conf:
[general]
enabled = yes
bindaddr = 0.0.0.0
bindport = 8088
tlsenable = yes
tlsbindaddr = 0.0.0.0:8089
tlscertfile = /etc/simotel/keys/simotel.pem
tlsprivatekey = /etc/simotel/keys/simotel.key
بررسی فعال بودن ماژولهای لازم در /etc/asterisk/modules.conf
load = chan_pjsip.so
load = res_pjsip.so
load = chan_sip.so
load = res_crypto.so
تعریف داخلی PJSIP برای WebRTC
در فایل /etc/asterisk/pjsip.conf موارد زیر را اضافه کنید:
[transport-wss]
type=transport
protocol=wss
bind=0.0.0.0:8089
cert_file=/etc/simotel/keys/simotel.pem
priv_key_file=/etc/simotel/keys/simotel.key
[600]
type=endpoint
transport=transport-wss
context=routing
disallow=all
allow=ulaw,alaw
aors=600
auth=auth600
dtls_auto_generate_cert=yes
webrtc=yes
media_encryption=dtls
use_avpf=yes
rtcp_mux=yes
force_rport=yes
rewrite_contact=yes
rtp_symmetric=yes
[600]
type=aor
max_contacts=30
[auth600]
type=auth
auth_type=userpass
username=600
password=600@asd
ریست سرویس Asterisk برای اعمال تغییرات
systemctl restart asterisk.service
بررسی وضعیت WebSocket و ماژولها
در محیط CLI استریسک:
rasterisk
http show status
module show like pjsip.so

module show like srtp

پیکربندی تنظیمات دایالپد
برای فعال کردن کلاینت webrtc به آدرس https://softphone.mysup.ir/ در بخش تنظیمات دایالپد، آدرس سرور، داخلی و رمز عبور را وارد کرده و گزینه Log In را بزنید. در صورت موفق بودن، وضعیت داخلیReady خواهد شد.
تنظیم Dialplan برای تماس داخلی
برای تست تماس داخلی به داخلی، در سیموتل باید مسیر Dialplan مناسب تنظیم شود.
در بخش Outgoing، پترن 6XX را اضافه کرده و در Customplan، روت زیر را قرار دهید:
[routingpjsip]
exten => _XXX,1,Dial(PJSIP/${EXTEN})


