الخلاصة

  • تصنّف RFC 3261 الاستجابة 180 Ringing ضمن الاستجابات المؤقتة: وكيل المستخدم المتلقي يحاول تنبيه المستخدم، ويمكن للجهة المتصلة أن تبدأ نغمة رنين محلية على أساسها.
  • لا تثبت 180 أن جهازاً بعيداً أصدر صوتاً، أو أن وسائط مبكرة وصلت، أو أن شخصاً انتبه، أو أن الدعوة قُبلت. ويؤكد PRACK في RFC 3262 استلام رسالة مؤقتة لا قبول المكالمة.
  • يحتاج السجل التشغيلي الصادق إلى مصدر الإشارة وفرعها ووقتها والحدث الذي حل محلها، مع فصل التنبيه عن الوسائط والاستجابة النهائية والسلوك البشري.

الصوت الذي لا يكشف مكان ولادته

تبدو نغمة الرجوع للمتصل كأنها نافذة صوتية على الطرف الآخر. غير أن RFC 3261 تسمح لعميل وكيل المستخدم بأن ينشئ النغمة محلياً بعد تلقي 180. ما يسمعه المتصل قد يكون عرضاً محلياً لرسالة إشارات، لا صوتاً عبر الشبكة من بيئة الشخص المطلوب.

تختار المواصفة عبارة محدودة: وكيل المستخدم الذي تلقى INVITE «يحاول تنبيه» المستخدم. قد يضيء هاتف بلا صوت، أو يخفي نظام التشغيل الإشعار، أو يظهر التنبيه على شاشة في غرفة خالية. وفي الدعوات المتفرعة قد ينبّه جهاز أول ثم يُلغى فرعه حين يجيب جهاز آخر. الرسالة دليل على محاولة معلنة، لا على تجربة بشرية مكتملة.

تصنيف 180 ضمن 1xx يحمل المعنى نفسه. الاستجابة المؤقتة تبلغ عن تقدم المعالجة ولا تحسم النتيجة. الاستجابة النهائية 2xx هي التي تعبر عن قبول الدعوة، بينما تنهي استجابات نهائية أخرى المسار بنتائج مختلفة. لوحة تحوّل أول 180 إلى «تم الرد» تمحو الفرق بين الحركة والنتيجة.

تحمل RFC 3261 أسماء ثمانية مؤلفين: Jonathan Rosenberg وHenning Schulzrinne وGonzalo Camarillo وAlan Johnston وJon Peterson وRobert Sparks وMark Handley وEve Schooler. هذه دقة ضرورية؛ فدور Schulzrinne كبير، لكن الوثيقة عمل جماعي. وما يهم هنا هو بنية تفصل الإشارات والوسائط وتجربة المستخدم قبل أن تربط بينها.

الوسائط المبكرة لها طريق آخر

كتب Gonzalo Camarillo وSchulzrinne وثيقة RFC 3960 حول الوسائط المبكرة وتوليد نغمة الرنين. قبل قبول الجلسة قد ترسل بوابة أو جهة بعيدة صوتاً مبكراً، وقد يختار جهاز المتصل بدلاً من ذلك توليد نغمة اعتماداً على الإشارة. يسمع الإنسان في الحالتين، لكن مصدر الدليل وسلسلة نقله مختلفان.

قد تغطي النغمة المحلية إعلاناً صوتياً ترسله بوابة لشرح ازدحام أو انتظار. وقد يؤدي انتظار الوسائط وحدها إلى صمت إذا لم تصل الحزم. ويضاعف التفرع الغموض: فرع يرسل 180، وآخر يرسل وسائط، وثالث هو الذي يقبل أخيراً. لذلك تناقش RFC 3960 خيارات السياسة ومقايضاتها، ولا تجعل 180 شهادة عالمية على رنين بعيد مسموع.

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

وهذا ليس ضعفاً في التقاط الحزم. فالالتقاط يثبت بقوة أن عنصراً محدداً من SIP تلقى رسالة في وقت معين. لكنه لا يقيس مستوى صوت الجهاز الآخر، ولا سياسة الإشعار في نظامه، ولا وجود شخص قربه. لكل حقيقة سطح تحكم يستطيع ملاحظتها فعلاً.

PRACK يؤكد المؤقت ولا يجعله نهائياً

تعالج RFC 3262، من تأليف Jonathan Rosenberg وSchulzrinne، مشكلة فقد الاستجابات المؤقتة المهمة. تضيف الاستجابة الموثوقة معلومات تسلسل، ويؤكد العميل وصولها بالترتيب عبر PRACK.

الذي أصبح موثوقاً هو استلام الرسالة المؤقتة. لا يمثل PRACK إقرار ACK للاستجابة النهائية 2xx، ولا يثبت وصول الصوت، ولا يجسد فعل شخص يجيب. بل تسمح RFC 3262 بإرسال الاستجابة النهائية قبل وصول PRACK.

تغري إعادة الإرسال والتسلسل والمطابقة والإقرار لوحات التشغيل بأن تعامل الحدث كمرحلة نهائية. لكن الموثوقية تجيب عن سؤال «هل وصلت هذه العبارة؟»، أما النهائية فتجيب عن «كيف انتهت الدعوة؟». يمكن معرفة الأولى بدقة مع بقاء الثانية مجهولة.

لكل فرع قصة رنين خاصة به

قد يصل INVITE واحد إلى عدة جهات اتصال. يعيد فرع 180، ويرسل آخر إعلاناً، ويرفض ثالث، ثم يقبل رابع. وإذا لم يحتفظ النظام إلا بحالة «يرن» على مستوى المكالمة فلن يعود ممكناً معرفة من أصدرها أو هل بقي ذلك المصدر صالحاً.

أضافت RFC 6228 الاستجابة 199 للإبلاغ عن انتهاء حوار مبكر بعينه. لا تنتهي الحوارات المبكرة الأخرى بسببها، وما زالت الدعوة الأصلية تحتاج إلى استجابة نهائية. تساعد 199 المتلقي على حذف حالة ووسائط فرع لن يصبح الحوار النهائي.

مؤلف RFC 6228 هو Christer Holmberg، لا Schulzrinne. نستخدمها هنا دليلاً لاحقاً على نتائج البنية، لا رصيداً شخصياً إضافياً. وهي تكشف قاعدة تشغيلية مهمة: للحالة المؤقتة نسب. تسجيل «حدثت 180» بلا فرع ولا حدث لاحق ألغى أثرها يحفظ نصف الواقعة فقط.

مع ذلك، تبقى 180 مفيدة في نطاقها. يمكن لحدث «بدأ التنبيه» المرتبط بفرع أن يقيس تقدم التوجيه، ويكشف وجهات لا تصل إلى نهاية، ويحسب المدة حتى النتيجة. المصدر والوقت والحالة اللاحقة يجعلونه صادقاً؛ ترقيته إلى دليل على جواب إنساني تجعله مضللاً.

الدقة تشمل السيرة ونسبة التأليف

تقدم Columbia حالياً Schulzrinne بصفته Julian Clarence Levi Professor of Mathematical Methods and Computer Science وأستاذ الهندسة الكهربائية. وتعرض لقطة IETF Datatracker الحالية 90 وثيقة RFC مرتبطة به. هذا سجل واسع، لكنه لا يحول نصاً جماعياً إلى اختراع فردي.

النسبة المنضبطة هي أن RFC 3261 جماعية، وRFC 3262 من Rosenberg وSchulzrinne، وRFC 3960 وثيقة Informational من Camarillo وSchulzrinne وليست Internet Standard، أما RFC 6228 فهي من Holmberg. حفظ المؤلف والنوع والنطاق يشبه حفظ المصدر والفرع وفئة الاستجابة: كلاهما يمنع الاستنتاج من تجاوز دليله.

المصادر