انقطاع المكالمة: بعد 30 ثانية، بعد 15–30 دقيقة
الانقطاع «عند لحظة محددة بالضبط» ليس اتصالًا سيئًا، بل مؤقّت: أحد الطرفين انتظر شيئًا، لم يصله، فأغلق الخط بأمانة. لذلك يمكن تحديد السبب من توقيت الانقطاع شبه يقينًا: ~32 ثانية — لم يصل تأكيد بدء المحادثة؛ ~15 أو ~30 دقيقة — لم يمرّ تجديد المحادثة؛ المكالمات الواردة تعمل فقط في الدقائق الأولى — الراوتر أغلق الطريق إلى الهاتف. فيما يلي آلية كل حالة بالكلمات وما ينبغي فعله.
الإعداد العام للهواتف — في نظرة عامة «إعداد هواتف SIP»، وبقية الأعراض — في التشخيص حسب الأعراض.
تحقق أولًا في لوحة الإدارة#
- سجل المكالمات — افتح المكالمة المنقطعة. سيعرض «المحادثة» المدة بدقة الثانية: 0:31–0:33 — بصمة الحالة الأولى، نحو 15:00 أو 29:30 — الثانية. هناك أيضًا «من أغلق الخط» (المتصل، الموظف أو المقسم) و**«سبب الإغلاق»**.
- اختبار الصدى
*43، لكن مطوّلًا: اطلبه وابقَ على الخط 45 ثانية.*43مكالمة أيضًا، وتأكيد بدء المحادثة فيها يمر بالطريق نفسه. انقطعت عند الثانية 32 — العطل بين الهاتف والمقسم؛ صمدت — الهاتف وشبكة المنشأة سليمان، وابحث أبعد (المكالمات الخارجية، مشغل الاتصالات). - بطاقة الجهاز ← «جاهزية العمل»: إخفاقات متكررة «لا يوجد اتصال» — الراوتر يغلق الطريق العكسي إلى الهاتف (انظر الحالة الثالثة).
- «الاتصال بالجهاز» في البطاقة، بعد 10 دقائق من آخر مكالمة: رنّ — الطريق إلى الهاتف حيّ؛ صمت مع كون الفرع أخضر — فهذا الراوتر.
- تتبع SIP على المقسم المخصص:
200 OKمتكرر بدونACK، ثمBYE— الحالة الأولى؛BYEبعدINVITEأوUPDATEفي وسط المحادثة — الثانية.
الانقطاع بعد 30–32 ثانية#
لماذا يحدث ذلك#
بداية المحادثة مصافحة من ثلاث رسائل: «أتصل» (INVITE) — «أجبنا» (200 OK) — «فهمت، نبدأ» (ACK). الطرف الذي أجاب يكرر «أجبنا» حتى يستلم «فهمت». قاعدة بروتوكول SIP: إذا لم يصل «فهمت» خلال 64 × T1 = 64 × 0,5 ث = 32 ثانية، يجب إنهاء المحادثة. الصوت يكون قد بدأ بالفعل — لذلك كل شيء طبيعي نصف دقيقة، ثم تسقط المكالمة من تلقاء نفسها.
إذن، الانقطاع عند الثانية 32 يعني: تأكيد ACK يضيع في مكان ما. ولماذا — من الشائع إلى النادر:
- SIP ALG على الراوتر. الراوتر يعيد كتابة العناوين داخل رسائل الخدمة، فيذهب التأكيد إلى غير وجهته أو يُرفض. أول ما يجب التحقق منه دائمًا.
- حزمة كبيرة جدًا. إذا كانت عشرات الترميزات مفعّلة في الهاتف، يتضخم وصف المكالمة إلى أكثر من ~1300 بايت، ويُرسل عبر UDP «قطعًا» (أجزاء). كثير من الراوترات والجدران النارية ترمي الأجزاء بصمت — وتضيع تلك الرسالة. ويشترط بروتوكول SIP صراحةً الانتقال إلى TCP لمثل هذه الرسائل.
- عنوان داخلي في الرسائل. يكتب الهاتف عن نفسه عنوانًا داخليًا (
192.168.x.x)، ويُرسل التأكيد إليه. مقسمنا يصلح هذا بنفسه — يرد إلى حيث وصلت الرسالة فعليًا — لكن لدى مشغل الاتصالات قد لا يوجد هذا الحماية: عندها تنقطع المكالمات الخارجية فقط. - NAT مزدوج أو جدار ناري صارم يمرر رسائل المكالمة الأولى ويقطع ما بعدها.
لمسؤول الشبكة: أي طرف يغلق الخط
وفق RFC 3261 (§13.3.1.4) الطرف الذي أجاب بـ 200 OK يكرره بفاصل من T1 إلى T2، وبعد 64 × T1 بدون ACK ينهي الجلسة بطلب BYE؛ وT1 افتراضيًا — 500 مِث (§17.1.1.1)، ومن هنا 32 ثانية.
- مكالمة واردة إلى الهاتف:
200 OKيرسله الهاتف، وACK— المقسم. ضاعACKفي الطريق إلى الهاتف — فالهاتف يغلق الخط. - مكالمة صادرة من الهاتف و
*43:200 OKيرسله المقسم، وACK— الهاتف. ضاعACKفي الطريق إلى المقسم — فالمقسم يغلق الخط. - التجزئة: RFC 3261 §18.1.1 — إذا كان الطلب أطول من 1300 بايت (أو ضمن 200 بايت من MTU المسار)، يجب على العميل إرساله عبر TCP مع التحكم في الازدحام. مقسمنا يقبل TCP على المنفذ نفسه 5060.
ما ينبغي فعله#
بعد كل خطوة أعد *43 المطوّل (45 ثانية) ومكالمة اختبارية؛ ثم تابع فقط إذا لم يُجدِ ذلك.
- أوقف SIP ALG على الراوتر («SIP Helper»، «SIP Passthrough»، «ALG لـ SIP») وأعد تشغيل الراوتر. أين يوجد في الماركات الشائعة — «الشبكة والراوتر والإنترنت».
- اترك في الهاتف ثلاثة ترميزات — G.711 PCMA وG.711 PCMU وG.722 — وأوقف الباقي: تصبح الرسائل أقصر وتتوقف عن التجزؤ.
- بدّل النقل إلى TCP (المنفذ نفسه، 5060)، إذا لم تُجدِ الخطوة 2: TCP يجزئ الرسائل الطويلة بشكل صحيح بنفسه، وتختفي التجزئة. مقسمنا يقبل UDP وTCP معًا.
- تنقطع المكالمات الخارجية فقط، بينما
*43والمكالمات الداخلية تصمد — العطل بين المقسم ومشغل الاتصالات. أرسل وقت عدة مكالمات منقطعة إلى الدعم. - أزل NAT المزدوج — انقل راوتر المزود إلى وضع الجسر أو وصّل الهاتف به مباشرة.
انقطاع بعد 15 أو 30 دقيقة#
لماذا يحدث ذلك#
أثناء محادثة طويلة، يؤكّد الطرفان من وقت لآخر أن المحادثة لا تزال جارية — وهذه هي مؤقتات الجلسة. يُتفق على الفاصل الزمني في بداية المكالمة؛ يلتزم أحد الطرفين بـ«تمديد» المحادثة في منتصف الفاصل، بينما ينتظر الطرف الآخر التمديد. في مقسمنا الهاتفي، مؤقتات الجلسة مفعّلة بفاصل 1800 ثانية (30 دقيقة)؛ والغرض منها ألا تظل محادثة انقطع الاتصال فيها بصمت معلّقة لساعات وتشغل الخط.
ومن هنا نمطان:
- عند 15 دقيقة تقريباً — أُرسل التمديد في منتصف الفاصل، لكنه لم ينجح: رفضه الطرف الآخر أو لم يتلقَّ رداً؛
- عند 29.5 دقيقة تقريباً — لم يحدث التمديد إطلاقاً، فأغلق الطرف الذي كان ينتظره السماعة قبل انتهاء الفاصل بقليل.
لماذا لا ينجح التمديد:
- أغلق الراوتر مسار رسائل الخدمة. الصوت أثناء المحادثة يمرّ باستمرار، أما رسائل الخدمة فتصمت. إذا كانت خاصية keep-alive معطّلة في الهاتف، يغلق الراوتر بعد بضع دقائق «الباب» أمام رسائل الخدمة — فلا يصل التمديد من المقسم إلى الهاتف.
- الهاتف لا يفهم طريقة التمديد أو يرفضها — برنامج قديم، أو «Session Timer» مفعّل بمعطيات غير قياسية.
- SIP ALG يفسد رسالة التمديد.
- مؤقت مشغّل الاتصالات — إذا كانت المكالمات الخارجية فقط هي التي تنقطع ودائماً عند الدقيقة نفسها.
لا يفعّل المقسم المؤقتات في المحادثة إلا إذا كان الهاتف يدعمها أيضاً ⚠️ verify. وفي معظم الهواتف المكتبية يكون «Session Timer» معطّلاً من المصنع (لدى Yealink وGrandstream — وفق الوثائق)، وحينها لا توجد مؤقتات في المحادثة إطلاقاً.
لمسؤول الشبكة: القيم على جانب المقسم
timers=yes— المؤقتات مدعومة؛timers_sess_expires=1800— الفاصل 1800 ثانية؛timers_min_se=90— أقل من 90 ثانية لا يقبله المقسم (shared/sip/advanced-options.json، المجموعةprotocol).- وفق RFC 4028 يُرسل التمديد في منتصف الفاصل (900 ثانية)، والطرف الذي لم يتلقّه ينهي الجلسة بـ
BYEقبل انتهائها بمقدار min(32 ثانية، الفاصل / 3) — أي عند نحو 1768 ثانية. - لا يُجري المقسم انقطاعاً بسبب الصمت (
rtp_timeout=0)، لذا «محادثة بلا صوت» لا تنقطع بحد ذاتها. - في المقسم المخصص، القيم نفسها موجودة في «الإعدادات الدقيقة لـSIP» («مؤقتات الجلسة»، «تحديث الجلسة، بالثواني»). لا حاجة لتغييرها دون طلب من المزوّد.
ما الذي يجب فعله#
- فعّل keep-alive في الهاتف — فهو يبقي مسار رسائل الخدمة مفتوحاً أثناء المحادثة أيضاً. Yealink: Account → Advanced → Keep Alive Type (Default أو Options) وKeep Alive Interval — 30 ثانية (القيمة الافتراضية من المصنع).
- عطّل SIP ALG في الراوتر.
- إذا كنت قد فعّلت «Session Timer» في الهاتف — فأعد القيمة الافتراضية من المصنع (معطّل) أو اضبط الفاصل على 1800 ثانية: Yealink — Account → Advanced → Session Timer / Session Expires؛ Grandstream — Account → SIP Settings → Session Timer (Enable Session Timer، Session Expiration).
- حدّث برنامج الهاتف — كثيراً ما تُصلح أخطاء تمديد المحادثة في الإصدارات الجديدة.
- إذا كانت المكالمات الخارجية فقط هي التي تنقطع، وفي الدقيقة نفسها دائماً — أرسل أوقات المكالمات إلى الدعم: سنراجع المؤقتات مع مشغّل الاتصالات.
المكالمات الواردة تعمل فقط في الدقائق الأولى بعد التشغيل#
لماذا يحدث ذلك#
الهاتف يقف خلف الراوتر، ولا يستطيع المقسم الوصول إليه إلا عبر «الباب» الذي فتحه الهاتف بآخر رسالة أرسلها. ولا يبقي الراوتر هذه الأبواب مفتوحة طويلاً — في الراوترات المنزلية من نصف دقيقة إلى بضع دقائق من الصمت — ثم يغلقها. وما دام الهاتف يرسل شيئاً باستمرار (التسجيل فور التشغيل، keep-alive)، يبقى الباب مفتوحاً. وإذا صمت — أُغلق الباب، فتصطدم المكالمة الواردة من المقسم بالراوتر.
وقد تبقى النقطة في لوحة الإدارة خضراء: فالهاتف يحدّث التسجيل بنفسه، من الداخل، فينجح التسجيل، لكن لم يعد ممكناً الوصول إلى الهاتف من الخارج. وإعادة التشغيل «تشفيه»، لأنها تفتح الباب من جديد — إلى حين.
ومن جانبنا، يتحقق مقسمنا كل 60 ثانية من كل جهاز بطلب «هل أنت متصل؟»: هذه الحزمة المقابلة تبقي الباب مفتوحاً أيضاً — لكن فقط إذا كان الراوتر يغلقه بعد أكثر من دقيقة. وإذا لم يستجب الجهاز، يعتبره المقسم غير متاح، فتنطفئ النقطة، ويظهر خلل في «جاهزية العمل».
ما الذي يجب فعله#
بعد كل خطوة، تحقق من المكالمة الواردة بعد 10 دقائق من الخمول (بزر «الاتصال بالجهاز» أو من رقم داخلي مجاور)؛ ثم تابع فقط إذا لم يُجدِ ذلك.
- فعّل keep-alive في الهاتف بفاصل 20–30 ثانية. Yealink: Account → Advanced → Keep Alive Type / Keep Alive Interval (القيمتان الافتراضيتان من المصنع: Default و30 ثانية)؛ وفي Fanvil — Keep Alive Type في الإعدادات الإضافية للخط.
- عطّل SIP ALG في الراوتر — فهو أيضاً كثيراً ما «ينسى» الأبواب.
- قصّر مدة التسجيل في الهاتف (Expires / Register Expiration) إلى 60–120 ثانية — فيفتح الهاتف الباب بنفسه أكثر. وأقل من 60 لا يقبله مقسمنا (
423 Interval Too Brief). - في المقسم المخصص يمكن التحقق من الأجهزة أكثر: «الإعدادات الدقيقة لـSIP» → «فحص الاتصال، بالثواني» — 20–30 بدلاً من 60. هذا يبقي الباب من جانب المقسم، لكنه يضيف حركة خدمة؛ وkeep-alive في الهاتف أكثر موثوقية.
- NAT مزدوج (راوتر المزوّد + راوترك) — بابان، ويُغلقان بطرق مختلفة: أزل أحدهما — «الشبكة والراوتر والإنترنت».
انقطاع المكالمة عند الانتقال من Wi-Fi إلى الإنترنت عبر الهاتف المحمول#
لماذا يحدث ذلك#
شبكة Wi-Fi في المنشأة والإنترنت عبر الهاتف المحمول عنوانان مختلفان. بدأت المكالمة من أحدهما، وقد حفظت المقسمة في بداية المكالمة من أين يأتي الصوت: فهي تقبل الصوت من هذا العنوان فقط لأسباب أمنية. وعندما ينتقل الهاتف الذكي إلى شبكة الهاتف المحمول، يبدأ الصوت بالوصول من عنوان جديد — وبالنسبة للمقسمة يُعدّ هذا تدفقًا غريبًا، بينما تستمر رسائل الخدمة في التوجه إلى العنوان القديم الذي لم يعد موجودًا. والمكالمة التي بدأت في شبكة واحدة تنقطع عند الانتقال إلى شبكة أخرى في معظم الحالات. وهذا قيد في التقنية نفسها، وليس عطلًا.
والوجه الثاني للأمر نفسه: أثناء انتقال الهاتف الذكي يفقد الهاتف البرمجي التسجيل، فلا تصل المكالمات الواردة في تلك الثواني. ويُدخل Android التطبيقات العاملة في الخلفية في وضع السكون — للمزيد راجع النظرة العامة، قسم الهواتف البرمجية.
ما الذي ينبغي فعله#
- لا تغيّر الشبكة أثناء المكالمة: أنهِ المكالمة قبل الخروج من نطاق Wi-Fi.
- أوقف على الهاتف الذكي التبديل التلقائي من شبكة Wi-Fi الضعيفة إلى شبكة الهاتف المحمول (على iPhone — «مساعدة Wi-Fi»، وعلى Android — «التبديل إلى شبكة الهاتف المحمول» في إعدادات Wi-Fi): فهو الآن يقطع المكالمة على عتبة المقهى.
- اسمح للهاتف البرمجي بالعمل في الخلفية وألغِ له توفير البطارية — عندئذٍ يعيد التسجيل بسرعة أكبر بعد تغيير الشبكة.
- حيث لا يمكن فقدان المكالمة (منصة الاستقبال، مكتب الاستقبال)، استخدم هاتفًا مكتبيًا أو سماعة DECT، لا هاتفًا ذكيًا.
ما الذي ترسله إلى الدعم#
- تاريخ ووقت عدة مكالمات منقطعة بدقة الدقيقة، والأرقام والرقم الفرعي؛
- بعد كم من الوقت ينقطع الاتصال (بحسب السجل — «المكالمة») وهل الأمر متطابق دائمًا؛
- هل تنقطع كل المكالمات أم المكالمات الخارجية فقط؛ وهل يصمد اختبار
*43الطويل (45 ثانية)؛ - طراز الهاتف والبرنامج الثابت (السطر من وسم الجهاز)، وهل keep-alive وSession Timer مفعّلان فيه؛
- طراز الراوتر، وهل SIP ALG مُوقف، وهل هناك راوتر ثانٍ من مزود الخدمة؛
- على المقسمة المخصصة — نص SIP-تتبع للانقطاع المُعاد.
كيف تكتب إلينا — «الدعم».
الأسئلة الشائعة#
لماذا يقع الانقطاع عند الثانية 32 تحديدًا، لا عند الثانية 30 ولا عند 40؟#
لأن هذا الرقم مضمن في بروتوكول SIP نفسه: يُنتظر تأكيد بداية المكالمة 64 فترة زمنية مدة كل منها نصف ثانية — أي 32 ثانية. وإذا كان لديك «حوالي 30 ثانية» وفي كل مرة بالشكل نفسه — فهو ذلك، حتى لو أظهرت ساعة الإيقاف 31 أو 33: فقد ذهب جزء من الوقت في نغمات الرنين والرد.
SIP ALG مُوقف، ومع ذلك بقي الانقطاع عند الثانية 30 — ما الذي تبقّى؟#
تحقق من أن ALG مُوقف على كل الراوترات على المسار (فراوتر مزود الخدمة غالبًا ما يكون له إعداد خاص به)، واترك في الهاتف ثلاثة ترميزات وجرّب نقل TCP. وإذا كانت تنقطع المكالمات الخارجية فقط، بينما يصمد *43 مدة 45 ثانية، — فالمشكلة في الجزء الخاص بمشغل الاتصالات، أرسل وقت المكالمات.
الفرع أخضر، لكن المكالمات الواردة لا تصل — هل هذا أيضًا «انقطاع»؟#
هذه هي الآلية نفسها المذكورة في قسم المكالمات الواردة في الدقائق الأولى: يُحدَّث التسجيل من الداخل، بينما الباب إلى الهاتف من الخارج مغلق بالفعل. والاختبار — «الاتصال بالجهاز» بعد 10 دقائق من الخمول؛ والعلاج — keep-alive في الهاتف.
هل يمكن ببساطة إيقاف مؤقتات الجلسة على المقسمة؟#
يمكن ذلك (على المقسمة المخصصة، «الإعدادات الدقيقة لـ SIP»)، لكنه يعالج العَرَض لا السبب: فالتمديد لا يمر لأن مسار رسائل الخدمة مغلق أو تالف، والمسار نفسه سيلزم لتحويل المكالمة وتعليقها. وإضافة إلى ذلك، بدون المؤقتات ستظل المكالمات المنقطعة صامتة معلّقة ساعات وتشغل الخطوط. أولًا keep-alive وSIP ALG.
الأقسام ذات الصلة#
- الهاتف لا يعمل: التشخيص حسب الأعراض — بما في ذلك «لا توجد مكالمات واردة مع عمل المكالمات الصادرة»
- لا يوجد صوت، أو يُسمع في اتجاه واحد، أو صدى، أو «صوت آلي»
- لا يسجّل: الرسائل ورموز الأخطاء — «يسجّل ثم يختفي»،
423 Interval Too Brief - الشبكة والراوتر والإنترنت للاتصالات الهاتفية — أين تُوقف SIP ALG، وNAT المزدوج
- إعداد هواتف SIP — شبكة المنشأة، فحص جودة الاتصال
- سجل المكالمات وSIP-تتبع
المصادر#
- RFC 3261 — SIP: إعادة
200 OKحتى استلامACKوإنهاء الجلسة عبر 64 × T1 (§13.3.1.4)، T1 = 500 ملم (§17.1.1.1)، والانتقال إلى TCP للرسائل الأطول من 1300 بايت (§18.1.1) — https://www.rfc-editor.org/rfc/rfc3261 - RFC 4028 — Session Timers: التمديد في منتصف الفترة، و
BYEقبل min(32 ث، الفترة / 3) من الانتهاء — https://www.rfc-editor.org/rfc/rfc4028 - Yealink SIP-T2/T3/T4/T5/CP920 Administrator Guide V86.60 — Keep Alive Type / Interval (القيم الافتراضية من المصنع، 30 ث)، Session Timer (الافتراضي من المصنع — مُوقف؛ Session Expires 1800 ث؛ التحديث في منتصف الفترة)
- Grandstream GRP261x/262x/263x Administration Guide — Session Timer: Enable Session Timer (الافتراضي من المصنع «No»)، Session Expiration، Min-SE — https://documentation.grandstream.com/knowledge-base/grp261x-grp262x-grp263x-series-administration-guide/
- Zoiper 5 User Guide v1.0.7 — UDP وحد حجم الحزمة، ومهلات NAT في الراوتر — https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf
- كود المقسمة:
shared/sip/advanced-options.json(timers=yes،timers_sess_expires=1800،timers_min_se=90،qualify_frequency=60،minimum_expiration=60،rtp_timeout=0،force_rport،rewrite_contact)،sip-edge/asterisk/rtp.conf(strictrtp=yes)،sip-edge/sipsync/linecheck.go(اختبار الصدى*43، وسقف الفحص 300 ث)