| ملخص | يضيف مكالمات صوتية ومرئية من نظير إلى نظير (WebRTC) داخل Discourse. مكالمات فردية من زر عائم أو من مربع إنشاء الدردشة 1:1؛ أداة مدمجة وواجهة مستخدم للمكالمة. لا توجد تطبيقات خارجية. يعمل خادم Discourse الخاص بك فقط كإشارة (لا وسائط). ينتقل الصوت/الفيديو مباشرة بين المتصفحين (نظير إلى نظير) عند الإمكان؛ يمكنك إضافة خوادم TURN اختيارية في الإدارة بحيث عند فشل اتصال نظير إلى نظير المباشر (على سبيل المثال، NAT/جدار حماية صارم)، يتم إعادة توجيه الوسائط عبر TURN وتستمر المكالمة في العمل. | |
| رابط المستودع | GitHub - idiskuz/diskuz-call: Voice calls (WebRTC) for Discourse. P2P calls between users, built-in UI. Created for diskuz.com. · GitHub | |
| دليل التثبيت | كيفية تثبيت الإضافات في Discourse | |
| مجتمع diskuz Call | مجتمع الدعم على diskuz.com لهذه الإضافة الجديدة. |
الميزات
- صوت وفيديو من نظير إلى نظير (WebRTC) - يعالج Discourse الإشارات فقط (العرض/الإجابة، ICE)؛ ولا يستقبل أو يخزن الصوت/الفيديو أبدًا. يساعد STUN (الافتراضي: جوجل) المتصفحين على العثور على بعضهما البعض؛ ثم يتدفق الوسائط مباشرة بينهما (نظير إلى نظير حقيقي). TURN (اختياري، قابل للتكوين في الإدارة ← خوادم ICE) هو مرحل: عند فشل اتصال نظير إلى نظير المباشر (NAT متماثل، جدار حماية للشركات، إلخ)، تذهب الوسائط عبر خادم A → TURN → B حتى تستمر المكالمة في العمل. أضف TURN إذا أبلغ المستخدمون عن مكالمات فاشلة أو صوت أحادي الاتجاه.
- زر عائم (أسفل اليمين) - يفتح أداة للسماح لك بكتابة اسم مستخدم وبدء مكالمة. يتم إخفاؤه عند فتح مربع إنشاء الموضوع أو الدردشة. يمكن للمسؤول تعطيله على مستوى الموقع.
- زر المكالمة في الدردشة 1:1 - أيقونة في مربع إنشاء الدردشة لبدء مكالمة مع المستخدم الآخر. يمكن للمسؤول تعطيله على مستوى الموقع. مرئي فقط للمجموعات المسموح بها عند التمكين.
- وصول قائم على المجموعة - فقط المستخدمون في المجموعات المكونة يرون ويستخدمون diskuz Call. “يجب على الطرف المتلقي متابعة المتصل” اختياري (يتطلب Discourse Follow).
- مجموعات منفصلة لـ “السماح بالفيديو” - التحكم في من يمكنه تشغيل الكاميرا أثناء المكالمة.
- نغمة رنين قابلة للتكوين - صوت عند وصول مكالمة: لا شيء، افتراضي، رنين، جرس، دردشة، مخصص (يصل إلى 10 عناوين URL لملفات MP3؛ يختار المستخدم واحدًا في الأداة)، أو بدائل مدمجة معدة مسبقًا. بشكل منفصل، تعرض إشعارات Discourse (أيقونة الجرس) “يتصل بك” للمكالمات الواردة و “مكالمة فائتة” مع الوقت للمكالمات الفائتة.
- أداة - صفتان: “اتصل بصديق” (الصفحة الرئيسية) والإشعارات (الواردة، المرسلة، الحديثة، الفائتة؛ حتى 10 لكل علامة تبويب؛ أسماء المستخدمين قابلة للنقر للاتصال مرة أخرى). سطح المكتب: يمكن سحبها بواسطة الشريط العلوي. الهاتف المحمول: ملء الشاشة.
- أثناء المكالمة - المدة، كتم الصوت، مكبر الصوت، تشغيل/إيقاف تشغيل الفيديو، تمويه (سطح المكتب/أندرويد)، وضع الأذن على الهاتف المحمول (تراكب داكن؛ انقر 3 مرات لإلغاء القفل). حالة المستخدم (متصل، مشغول، غير متصل) في المتصفح؛ يمكن رفض المكالمات الواردة تلقائيًا عند الانشغال/عدم الاتصال. إذا قام المستخدم بالتبديل إلى علامة تبويب أخرى، يبدأ مؤقت مدته 60 ثانية؛ إذا لم يعد، تنتهي المكالمة.
- التعريب - الإنجليزية والإيطالية (العميل والخادم).
الحالة: تجريبي. بالنسبة للمكالمات الفاشلة أو الصوت أحادي الاتجاه، قم بتكوين TURN في الإدارة ← المكونات الإضافية ← خوادم ICE.
التكوين
- التثبيت - أضف المكون الإضافي (على سبيل المثال، عبر خطافات
app.ymlأو يدويًا في دليل المكونات الإضافية):git clone https://github.com/idiskuz/diskuz-call.git- أعد بناء التطبيق (على سبيل المثال،
./launcher rebuild app).
- التمكين - الإدارة ← المكونات الإضافية: قم بتمكين diskuz Call (إذا كان مدرجًا). الإدارة ← الإعدادات ← المكونات الإضافية: قم بتمكين تمكين diskuz Call.
- الوصول - اضبط من يمكنه رؤية diskuz Call واستخدامه على المجموعات المرغوبة (على سبيل المثال،
1|2|3للمسؤولين والمشرفين والموظفين). - اختياري - قم بتكوين إظهار الزر العائم / إظهار زر الدردشة، يتطلب أن يتابع الطرف المتلقي المتصل (مع Discourse Follow)، صوت للمكالمات الواردة، نغمات رنين مخصصة أو نغمة رنين بديلة، المجموعات التي يمكنها تمكين الفيديو، اللون الأساسي، و خوادم ICE (JSON TURN) إذا لزم الأمر لـ NAT/جدار الحماية.
المتطلبات: Discourse (يستخدم المراسلة المضمنة في الوقت الفعلي للإشارات). اختياري: Discourse Follow (لـ “يجب على الطرف المتلقي متابعة المتصل”). متصفح يدعم WebRTC، وميكروفون (وكاميرا للفيديو).
الإعدادات
| الاسم | الوصف |
|---|---|
| تمكين diskuz Call | مفتاح رئيسي للمكون الإضافي. |
| من يمكنه رؤية diskuz Call واستخدامه | قائمة المجموعات (على سبيل المثال، المسؤولون، المشرفون، الموظفون حسب المعرف). يرى هؤلاء المستخدمون فقط المكون الإضافي ويمكنهم إجراء/استقبال المكالمات. |
| يتطلب أن يتابع الطرف المتلقي المتصل | عند التمكين (مع Discourse Follow)، يجب على الطرف المتلقي متابعة المتصل لتلقي المكالمات. |
| إظهار الزر العائم | تشغيل: الزر العائم مرئي فقط للمجموعات المسموح بها. إيقاف: مخفي للجميع. |
| إظهار زر الدردشة | تشغيل: زر المكالمة في الدردشة 1:1 مرئي فقط للمجموعات المسموح بها. إيقاف: مخفي للجميع. |
| المجموعات التي يمكنها تمكين الفيديو | قائمة المجموعات لمن يمكنه استخدام زر الفيديو أثناء المكالمة. |
| اللون الأساسي | لون سداسي عشري (على سبيل المثال، #13c98c) للزر والتظليلات. |
| صوت للمكالمات الواردة | لا شيء، افتراضي، رنين، جرس، دردشة، مخصص، أو بديل. |
| نغمات رنين مخصصة 1–10 | عناوين URL لملفات MP3. تستخدم عندما يكون الصوت مخصصًا؛ يختار المستخدم واحدًا في الأداة. |
| نغمة رنين بديلة | معدة مسبقًا عندما يكون الصوت بديلاً (على سبيل المثال، ناعم، كلاسيكي، حديث، احتفالي، ماريمبا، استرخاء1-5). |
| خوادم ICE | مصفوفة JSON اختيارية لـ STUN/TURN. فارغ = Google STUN فقط. |
| سجل التصحيح | عند التشغيل، رسائل \[diskuz-call\] في وحدة تحكم المتصفح (F12). للدعم؛ قم بتعطيلها في الإنتاج. |
المؤلفون: diskuz.com، كريستيان ديراكو
الاعتمادات: المفهوم والميزات والتصميم بواسطة كريستيان ديراكو (diskuz.com). التنفيذ بتطوير بمساعدة الذكاء الاصطناعي.
الإصدار: 0.4.0-beta
هذا ليس مكونًا إضافيًا رسميًا من Discourse.
متحمس جدًا لمشاركة هذا معكم جميعًا - أصبح diskuz Call متاحًا أخيرًا! لا أستطيع الانتظار لسماع رأيكم ![]()







