صدى
English لوحة التحكم
المكالمات / جودة المكالمة

جودة المكالمة

يقيس صدى زمن الاستجابة وفقد الحزم والتذبذب لكل مشارك، ويخبر التطبيق حين تضعف الشبكة، ويمرّر الصوت عبر أقرب منطقة لتصمد المكالمات على شبكات 4G.

حُدّث في 21 أكتوبر 2026 عدّل هذه الصفحة

01ما الذي يُقاس

كل مشارك يرسل عينات جودة أثناء المكالمة. المتوسطات تستقر على المشارك وعلى المكالمة، في الـ API وفي لوحة التحكم.

الحقلالمعنى
latency_ms زمن الذهاب والإياب بين المشارك والمنطقة. أقل من 100 ms يبدو فورياً؛ لوحة التحكم تعلّم «متوسط» و«ضعيف» فوق ذلك.
loss_pct نسبة حزم الصوت التي لم تصل. فوق بضعة بالمئة تبدأ الأصوات بالتقطّع.
jitter_ms تفاوت وقت وصول الحزم. الـ SDK يخزّنه مؤقتاً؛ التذبذب العالي يظهر صوتاً آلياً.
avg_latency_ms على كائن المكالمة: متوسط زمن الاستجابة لكل المشاركين.

افتح أي مكالمة في لوحة التحكم ← سجل المكالمات لترى رسم هذه العينات لكل مشارك على مدى المكالمة، بجوار تسليمات الـ webhook الخاصة بها.

02التفاعل في التطبيق

يطلق SDK الويب حدث quality كلما تغيّرت الصورة. أظهر شريطاً حين يكون isPoor صحيحاً وأخفِه حين يزول، واعرض إعادة الاتصال حين تنتهي المكالمة بسبب error. عدّة واجهة Flutter تشحن WeakNetworkScreen وReconnectingScreen لهذه الحالات بالضبط.

call.js
1 call.on('quality', ({ isPoor, rtt, packetLoss }) => {
2 banner.hidden = !isPoor; // "Weak network" strip
3 stats.textContent = `${rtt} ms · loss ${packetLoss}%`;
4 });
5
6 call.on('ended', ({ reason }) => {
7 if (reason === 'error') offerRedial(); // the connection could not recover
8 });

03اختيار المنطقة

زمن الاستجابة مسافة في الغالب. مرّر region الأقرب إلى المشاركين عند إنشاء المكالمة — baghdad للعراق، dubai للخليج، istanbul لتركيا والشام — أو اترك auto فتستخدم المكالمة المنطقة الرئيسية لمؤسستك.

منطقة المكالمة الجارية لا تتغير. لمنتج يخدم عدة دول، اختر لكل مكالمة بحسب مكان المتصل.

baghdad dubai istanbul

04الـ NAT والمرحّلات

يجرّب الـ SDK مساراً مباشراً أولاً ثم يرجع إلى مرحّلات TURN في المنطقة حين يحجبه NAT شركة الاتصالات أو جدار ناري مؤسسي. لا إعداد من جهتك؛ المرحّل يكلّف بضع ميلي ثوانٍ فقط.

05قائمة لمكالمات جيدة

معظم شكاوى الجودة مصدرها التطبيق لا الشبكة.

  • قدّم تطبيق الويب عبر HTTPS — المتصفحات ترفض الميكروفون على HTTP العادي خارج localhost.
  • اطلب الميكروفون بسياق («اضغط للتحدث مع السائق») قبل Sada.join()؛ طلب إذن مفاجئ يُرفض غالباً.
  • اكتم بدل المغادرة حين يبتعد المستخدم؛ إعادة الانضمام تكلّف رمزاً جديداً واتصالاً جديداً.
  • أبقِ شريط quality خفيفاً. شريط قصير «الشبكة ضعيفة» أفضل من نافذة تحجب المكالمة.
  • راقب avg_latency_ms في سجل المكالمات لكل منطقة؛ ارتفاعه المستمر يعني أن مستخدميك بعيدون عن المنطقة التي اخترتها.
✓ شكراً، وصلتنا ملاحظتك.