الخلاصة

  • يتيح الخيار gw للبوابة اختيار طريقة الفاكس وتفاصيلها، لكنه لا يثبت وجود طريقة خاصة مشتركة بين الطرفين. قد لا يعلم وكيل الاتصال بغيابها إلا عندما يبدأ الفاكس وتصدر البوابة nopfax(start).
  • لا يجوز لوصف اتصال بعيد وصل مع أمر قديم أن يبرر اختيار الإجراء في الأمر الحالي. أما الإرسال الفعلي فيخضع لأحدث وصف بعيد مستلم. الاختيار والإرسال ساعتان مختلفتان للسلطة.
  • انتهاء t38(stop) من دون خطأ تكتشفه البوابة لا يثبت وصول صفحة أو سلامة المستند أو قبول الطرف البعيد. نجاح الأمر، وبدء الإجراء، ونتيجة المستند تحتاج إلى إيصالات منفصلة.

التفويض يحدد من يقرر ولا يضمن ما سيقرره

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

لا تنشأ معالجة فاكس خاصة إلا إذا دعم الطرفان طريقة واحدة وأظهراها في أوصاف SDP المتبادلة. يحدد المورّد تفاصيل الطريقة. وإذا لم توجد طريقة مشتركة فلا تطبق البوابة أي إجراء خاص.

قد ينجح الأمر قبل أن تكون هذه النتيجة معروفة لوكيل الاتصال. النجاح هنا إيصال لقبول التفويض، لا إيصال لاختيار طريقة. عندما يبدأ الفاكس تكشف nopfax(start) أن التفويض لم ينتج معالجة خاصة.

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

حدث البدء يفتح فترة يجب ألا يتدخل فيها المركز

إذا بدأت طريقة تتحكم فيها البوابة فعلاً، ترسل gwfax(start). بعد ذلك ينبغي لوكيل الاتصال تجنب الأوامر التي تتعارض مع الإجراء حتى ينتهي.

يفرض التفويض إذاً التزامين. على المركز أن ينتظر دليلاً بأن التنفيذ المفوض بدأ، ثم أن يحترم الفترة التي تملك فيها البوابة زمام الإجراء.

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

يلزم ربط gw بحدث gwfax(start)، والأوامر المؤجلة، ثم gwfax(stop) أو gwfax(failure). وإذا لم تبدأ طريقة خاصة، تبقى nopfax(start) هي الشهادة الدقيقة لحدود التفويض.

حذف الخيار يزيل قوة الشرط الصريح

يعرض RFC مثالاً يبدأ باتصال أنشئ بنجاح تحت T.38 Strict. يصل بعد ذلك ModifyConnection مع RemoteConnectionDescriptor لا يدعم T.38.

إذا حذف الأمر خيار اتصال الفاكس المحلي ينجح التعديل. تبقى القيمة الحالية مخزنة، لكن نجاح الأمر الجديد لا يتوقف على إمكان تنفيذ T.38. وعند اكتشاف الفاكس لن يستدعى T.38، بل تظهر nopfax(start).

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

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

الاختيار والإرسال ينظران إلى زمنين مختلفين

لا يؤثر في اختيار الإجراء الحالي إلا RemoteConnectionDescriptor المرفق بالأمر الحالي. لا يكتسب وصف قديم حقاً دائماً في اعتماد اختيارات جديدة.

أما قبل إرسال T.38 فيجب أن يحتوي أحدث وصف بعيد مستلم على سطر image/t38 ووسيلة نقل مقبولة. تستطيع البوابة بدء الإجراء قبل وصول هذا الإذن، لكنها تنتظر قبل إرسال الحزم. انتهاء المهلة يؤدي إلى توقف أو فشل.

السؤال الأول هو: ماذا يستطيع هذا الأمر أن ينشئ؟ والسؤال الثاني: ماذا يجوز للواجهة إرساله الآن؟ قد تتغير الإجابة الثانية بعد اتخاذ قرار الاختيار.

حقل واحد باسم «SDP الحالي» يمحو التاريخ. يلزم حفظ الوصف المصاحب لكل أمر، والوصف الأحدث عند كل إرسال، وبداية الانتظار، والتحديث الذي سمح بالحزم، أو المهلة التي أوقفتها.

القدرة المعروضة ليست إذناً

يمكن لتصريح قدرات SDP أن يعلن قدرات حالية وكامنة. إظهار T.38 يعني أن الطرف قد يعرف طريقة تشغيله، ولا يعني أن وكيل الاتصال سمح باستخدامه في هذه المعاملة.

الاستنتاج المعاكس غير آمن أيضاً. قد يدعم الطرف T.38 من دون أن يستطيع التعبير عن ذلك بالآلية المتوقعة. يرفض Strict الحالة عند غياب الدليل، فينتج سلباً كاذباً رغم أن التشغيل ممكن.

يتجاوز Loose نقص الإعلان، وقد ينقذ هذه الحالة، لكنه قد يحاول التحويل مع طرف لا يدعم T.38 فعلياً، فينتج إيجاباً كاذباً ويفشل الفاكس.

لا يقدم RFC اختياراً مثالياً عاماً. يجب تحديد أي خطأ تقبل المؤسسة، وما جودة إعلانات أجهزتها، ومن يملك سلطة تحويل القدرة التقنية إلى فعل مأذون.

قائمة الخيارات ليست قائمة تفضيل عادية

يشير t38 إلى Strict تحت تحكم وكيل الاتصال، وt38-loose إلى النمط المرن، وgw إلى التفويض للبوابة، وoff إلى عدم استخدام إجراء خاص باستثناء تعديلات محلية.

تبدو القائمة المفصولة بالفاصلة المنقوطة كترتيب تفضيلات. لكن t38-loose وoff قابلان للدعم دائماً، لذلك لا تصل عملية القرار إلى أي خيار يأتي بعدهما.

لـgw استثناء مختلف. إذا كان اختيار البوابة سيؤدي إلى عدم وجود معالجة خاصة، يمكنها الانتقال إلى إجراء لاحق ليس off. هذه دلالة تدفق، لا مجرد تحقق من أسماء صحيحة.

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

نهاية الإجراء ليست استلام المستند

تعني t38(start) اكتشاف الفاكس وبدء إجراء T.38 الذي يتحكم فيه وكيل الاتصال. وتعني t38(stop) أن الإجراء انتهى دون خطأ اكتشفته البوابة. ينص RFC صراحة على أن ذلك لا يعني بالضرورة نجاح إرسال الفاكس.

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

تعني t38(failure) انتهاء غير طبيعي. وتصف أحداث gwfax دورة حياة الطريقة المفوضة ضمن الحد نفسه. ليس لـnopfax(start) توقف مقابل، لأن وضع عدم المعالجة الخاصة لا يفترض استنتاج نهاية الفاكس من الوسائط.

ينبغي فصل حالة الإجراء عن حالة المستند في قاعدة البيانات ولوحة المتابعة. نسخ stop إلى delivered يجعل البوابة تشهد على واقعة لم ترها.

الكشف قد يبدأ إجراء صحيحاً بسبب إشارة خاطئة

يجب على التنفيذ اكتشاف الفاكس من تمهيد V.21 على الأقل. أما اكتشاف نغمة CNG في T.30 فهو اختياري. يسجل RFC تقارير عن أجهزة مودم تولد CNG في مكالمات ليست فاكس، فتحدث محفزات كاذبة، ويوصي بخيار لتعطيل هذا الكشف.

يمكن أن تكون السلطة صحيحة والطريقة صحيحة والنهاية نظيفة، مع كون الملاحظة الأولى خاطئة. اتساق بقية السلسلة لا يثبت وجود مستند فاكس في بدايتها.

قد تبدأ البوابة الأصلية أو النهائية التحويل إلى T.38، وقد تبدأانه معاً. يجب حفظ الكاشف، والإشارة، والطرف المبادر، والوقت، وكيف حلت المبادرة المتزامنة.

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

المنفذ الواحد يحتاج إلى حالة صريحة

إعادة استخدام عنوان IP والمنفذ نفسيهما عند الانتقال بين صوت RTP وT.38 تقلل تفاعلات جودة الخدمة وNAT والجدار الناري. لكنها تمنع الخماسية الشبكية من تعريف نوع الوسائط وحدها.

تحدد الإشارة الصريحة النوع المتوقع. يتحقق المستقبل من الحزم وفق تلك الحالة، ولا يستنتج النوع بفحص البايتات كأنه موزع تلقائي.

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

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

صفة الوثيقة تحدد حدود الاستنتاج

نشر RFC 5347 في أكتوبر 2008 بصفة Informational، وليس Internet Standard. تعرض صفحة الأخطاء ستة تقارير محفوظة لتحديث الوثيقة. يجب إظهار هذه الصفة عند تطبيق النص تشغيلياً.

لا تثبت الوثيقة سلوك منتج حديث أو بنية شبكة حالية، ولا تقول إن T.38 شرط لكل فاكس ناجح. ملاحظاتها التاريخية ليست قياساً للسوق اليوم.

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