تفعيل الإجتماعات المرئية على أودو 15 وتثبيت خادم Turn على ديبيان/أوبنتو

تفعيل الإجتماعات المرئية على أودو 15 وتثبيت خادم Turn على ديبيان/أوبنتو
Spread the love

ينقسم هذا المقال إلى قسمين أولهم هو تثبيت خادم ال Turn server على النظام وإعداده ,ثم إعداد نظام الأودو لكي نتمكن من إستخدام الإجتماعات المرئية الموجودة في أودو 15.

أولا إعداد ال Turn server

قبل البدء في الشرح سنتطرق إلى بعض التعريفات لفهم ما هو خادم ال Turn

لكي تستطيع عمل إتصالات في الوقت الفعلي من خلال المُتصفحات والهواتف الجوالة دون الحاجة إلى أي إضافات خارجية ظهر مشروع WebRTC بهدف توفير واجهات برمجية APIs تسمح بإجراء مكالمات مرئية (صوت وصورة) من داخل المُتصفح.

ولكي نستطيع الإستفادة من هذا البروتوكول يتم إستخدام أدوات كـ STUN (Session Traversal Utilities for NAT) وهي عبارة عن مجموعة موحدة من الأساليب ، بما في ذلك بروتوكول الشبكة ، لاجتياز بوابات مترجم عنوان الشبكة (NAT) في تطبيقات الصوت والفيديو والرسائل والاتصالات التفاعلية الأخرى في الوقت الفعلي.

ويُمكن كذلك إستخدام أداة كـ TURN (Traversal Using Relays around NAT) هو بروتوكول يساعد في اجتياز مترجمي عناوين الشبكة (NAT) أو جدران الحماية لتطبيقات الوسائط المتعددة. يمكن استخدامه مع بروتوكول التحكم في الإرسال (TCP) وبروتوكول مخطط بيانات المستخدم (UDP). إنه مفيد للغاية للعملاء على الشبكات التي تتنكر فيها أجهزة NAT المتماثلة. لا تساعد TURN في تشغيل الخوادم على منافذ معروفة في الشبكة الخاصة من خلال NAT ؛ إنه يدعم اتصال مستخدم خلف NAT بنظير واحد فقط ، كما هو الحال في الاتصالات الهاتفية ، على سبيل المثال.

في هذا المقال سنتستخدم برمجية Coturn وهي توفر كلا الأداتين STUN و TURN

سنشرح في هذا المقال كيفية تثبيت خادم Turn على ديبيان وما بني عليها كأوبنتو

أولا نقوم بتحديث النظام عن طريق الأمر

sudo apt-get update

ثانيا نقوم بتثبيت البرمجيات المطلوبة عن طريق الأمر التالي

sudo apt-get install openssl certbot coturn

قمنا بتثبيت البرمجية المطلوبة وهي Coturn وكذلك OpenSSL و Certbot لتشفير الإتصال وإنشاء شهادة للدومين المُستخدم

ثالثاً نقوم بإنشاء شهادة خاصة عن طريق الأمر التالي

sudo certbot certonly –standalone

سيظهر لنا معالج يسأل بعض الأسئلة كالدومين والبريد نقوم بملئ البيانات المطلوبة لإنشاء الشهادة

بذلك نكون ةقد أنشئنا شهادة SSL/TLS يمكنك العثور عليها في المسار

/etc/letsencrypt/live/YOUR_DOMAIN/

بعد ذلك نقوم بإنشاء ملف DH بمعيار تشفير 2048 بت بإستخدام OpenSSL بالأوامر التالية

cd /etc/letsencrypt/live/YOUR_DOMAIN/

sudo openssl dhparam -out dhparam.pem 2048

رابعاً إعداد ال Coturn

نبدئها بعمل نسخه إحتياطية من ملف الإعدادات

sudo mv /etc/turnserver.conf /etc/turnserver.bak

بعد ذلك ننشئ ملف جديد عن طريق الأمر

nano /etc/turnserver.conf

# إستبدل البيانات بما يناسب الخادم الخاص بك
realm=YOUR_SERVER_DOMAIN #دومين الخادم
fingerprint
listening-ip=0.0.0.0
external-ip=SERVER_Public_IP #الآيبي الخارجي للخادم
listening-port=3478
tls-listening-port=5349
min-port=32769
max-port=65535
log-file=/var/log/turnserver.log #مسار ملف السجلات
verbose
no-cli
no-loopback-peers
no-multicast-peers
# إعدادات ال SSL
cert=/etc/letsencrypt/live/YOUR_DOMAIN/cert.pem
pkey=/etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem
dh-file=/etc/letsencrypt/live/YOUR_DOMAIN/dhparam.pem
cipher-list=”ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384″
#Long Term Credential Mechanism authentication
lt-cred-mech
user1=username1:password1 # إسم المستخدم الذي تريد إنشائة

نحفظ الملف بالضغط على ctrl+x ثم y ثم enter

بعد ذلك نقوم بعمل إعادة تشغيل للخدمة عن طريق الأمر التالي

service coturn restart

ونتأكد من عمل الخدمة عن طريق الأمر التالي

service coturn status

يُمكننا إختبار الخدمة عن طريق الرابط التالي

https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

نقوم بملئ البيانات كما في الصورة

ثم نضغك على زر Gather candidates
في حالة إذا كان كل شئ على ما يرام سترى كلمة Done وفي حالة الخطأ برجاء مراجعة الخطوات السابقة بتأني وتأكد من أن المنافذ المطلوبة مفتوحة في الجدار الناري الخاص بك

وبذلك نكون قد انتهينا من النصف الأول من الشرح وهو تثبيت وإعداد ال Coturn


ننتقل إلى الجزء الثاني من الشرح وهو إعداد نظام الأودو.

نقوم بفتح الإعدادات الخاصة بالنظام ثم فتح الإعدادات العامة General settings

إعدادات أودو

بعد ذلك ننزل حتى الجزء الخاصة بإعدادات المحادثة Discuss ونضغط على ICE Servers

نقوم بإنشاء جديد ثم نضع البيانات التالية

نقوم بملئ البيانات بما يتناسب مع ما أدخلناه في ملف الإعدادات /etc/turnserver.conf

وبذلك ينتهي إعداد الجزء الخاص بإعداد أودو يُمكنك الآن الاستمتاع بإجتماعات أودو المرئية بدون أي خدمات خارجية بالاعتماد على خدمتك الخاصة

المراجع:

1- https://en.wikipedia.org/wiki/WebRTC

2- https://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT

3- https://en.wikipedia.org/wiki/STUN

4- https://arstech.net/how-to-install-turn-server-on-ubuntu-for-webrtc/

مُحمد الصايغ

مدير سيرفرات ومبرمج هاوي أحب البحث

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.