تماس قطع میشود: پس از ۳۰ ثانیه، پس از ۱۵–۳۰ دقیقه
قطع شدن «دقیقاً پس از فلان مدت» نشانه ارتباط بد نیست، بلکه یک تایمر است: یکی از طرفها منتظر چیزی بود، دریافت نکرد و صادقانه گوشی را گذاشت. بنابراین بر اساس زمان قطع، میتوان علت را تقریباً با اطمینان نام برد: ~۳۲ ثانیه — تأییدیه آغاز گفتوگو نرسیده است؛ ~۱۵ یا ~۳۰ دقیقه — تمدید گفتوگو انجام نشده است؛ تماسهای ورودی فقط در دقایق اول کار میکنند — روتر مسیر به تلفن را بسته است. در ادامه — سازوکار هر مورد به زبان ساده و اینکه چه باید کرد.
تنظیمات عمومی تلفنها — در مرور «تنظیم SIP-تلفنها»، سایر نشانهها — در عیبیابی بر اساس نشانهها.
ابتدا در پنل مدیریت بررسی کنید#
- گزارش تماسها — تماس قطعشده را باز کنید. «گفتوگو» مدت را با دقت ثانیه نشان میدهد: ۰:۳۱–۰:۳۳ — نشانه مورد اول، حدود ۱۵:۰۰ یا ۲۹:۳۰ — مورد دوم. همانجا «گوشی را گذاشت» (تماسگیرنده، کارمند یا مرکز تلفن) و «علت قطع».
- آزمون بازتاب
*43، اما طولانی: شماره را بگیرید و گوشی را ۴۵ ثانیه نگه دارید.*43هم یک تماس است و تأییدیه آغاز گفتوگو در آن همان مسیر را طی میکند. اگر در ثانیه ۳۲ قطع شد — خرابی بین تلفن و مرکز تلفن است؛ اگر دوام آورد — تلفن و شبکه محل درست است، جای دیگری را بگردید (تماسهای خارجی، اپراتور ارتباطات). - کارت دستگاه → «سلامت عملکرد»: افتهای منظم «ارتباط برقرار نیست» — روتر مسیر بازگشت به تلفن را میبندد (به مورد سوم مراجعه کنید).
- «تماس با دستگاه» در کارت، ۱۰ دقیقه پس از آخرین تماس: اگر زنگ خورد — مسیر به تلفن زنده است؛ اگر با وجود شعبه سبز ساکت است — مقصر روتر است.
- ردیابی SIP روی مرکز تلفن اختصاصی:
200 OKتکراری بدونACK، سپسBYE— مورد اول؛BYEپس ازINVITEیاUPDATEدر میانه گفتوگو — مورد دوم.
قطع شدن پس از ۳۰–۳۲ ثانیه#
چرا اینطور میشود#
آغاز گفتوگو یک دستدادن سهپیامی است: «تماس میگیرم» (INVITE) — «پاسخ داده شد» (200 OK) — «فهمیدم، شروع میکنیم» (ACK). طرفی که پاسخ داده، «پاسخ داده شد» خود را تکرار میکند تا «فهمیدم» را دریافت کند. قاعده پروتکل SIP: اگر «فهمیدم» در ۶۴ × T1 = ۶۴ × ۰٫۵ ثانیه = ۳۲ ثانیه نرسد، گفتوگو باید پایان یابد. صدا در این مدت در جریان است — به همین دلیل نیمدقیقه همهچیز عادی است و بعد تماس خودبهخود قطع میشود.
پس قطع شدن در ثانیه ۳۲ یعنی: تأییدیه ACK جایی گم میشود. چرا — از شایع به نادر:
- SIP ALG روی روتر. روتر آدرسها را داخل پیامهای کنترلی بازنویسی میکند و تأییدیه به جای اشتباه میرود یا دور انداخته میشود. اولین چیزی که همیشه باید بررسی شود.
- بسته بیش از حد بزرگ. اگر در تلفن دهها کدک فعال باشد، توصیف تماس بیش از ~۱۳۰۰ بایت باد میکند و از طریق UDP «تکهتکه» (قطعهقطعه) میرود. بسیاری از روترها و دیوارهای آتش قطعهها را بیصدا دور میریزند — همان پیام گم میشود. پروتکل SIP صراحتاً برای چنین پیامهایی الزام به گذار به TCP دارد.
- آدرس داخلی در پیامها. تلفن آدرس داخلی خود (
192.168.x.x) را مینویسد و تأییدیه به آن فرستاده میشود. مرکز تلفن ما این را خودش اصلاح میکند — به همان جایی پاسخ میدهد که پیام واقعاً از آن آمده — اما اپراتور ارتباطات ممکن است چنین محافظتی نداشته باشد: در آن صورت فقط تماسهای خارجی قطع میشوند. - NAT دوگانه یا دیوار آتش سختگیر که پیامهای اول تماس را عبور میدهد و پیامهای بعدی را میبُرد.
برای مدیر شبکه: کدام طرف گوشی را میگذارد
بر اساس RFC 3261 (بند ۱۳٫۳٫۱٫۴)، طرفی که 200 OK پاسخ داده، آن را با فاصلهای از T1 تا T2 تکرار میکند و پس از ۶۴ × T1 بدون ACK نشست را با درخواست BYE پایان میدهد؛ T1 بهطور پیشفرض ۵۰۰ میلیثانیه است (بند ۱۷٫۱٫۱٫۱)، و از همینجا ۳۲ ثانیه میآید.
- تماس ورودی به تلفن:
200 OKرا تلفن میفرستد،ACKرا مرکز تلفن. اگرACKدر مسیر به تلفن گم شود — تلفن گوشی را میگذارد. - تماس خروجی از تلفن و
*43:200 OKرا مرکز تلفن میفرستد،ACKرا تلفن. اگرACKدر مسیر به مرکز تلفن گم شود — مرکز تلفن گوشی را میگذارد. - قطعهقطعه شدن: RFC 3261 بند ۱۸٫۱٫۱ — اگر درخواست بیش از ۱۳۰۰ بایت باشد (یا در محدوده ۲۰۰ بایت از MTU مسیر)، کلاینت باید آن را از طریق TCP با کنترل ازدحام بفرستد. مرکز تلفن ما TCP را روی همان پورت ۵۰۶۰ میپذیرد.
چه باید کرد#
پس از هر مرحله *43 طولانی (۴۵ ثانیه) و یک تماس آزمایشی را تکرار کنید؛ ادامه — فقط اگر کمکی نکرد.
- SIP ALG را روی روتر خاموش کنید («SIP Helper»، «SIP Passthrough»، «ALG برای SIP») و روتر را دوباره راهاندازی کنید. جای آن در برندهای محبوب — «شبکه، روتر و اینترنت».
- در تلفن سه کدک باقی بگذارید — G.711 PCMA، G.711 PCMU و G.722 — و بقیه را خاموش کنید: پیامها کوتاهتر میشوند و دیگر تکهتکه نمیشوند.
- حامل را به TCP تغییر دهید (پورت همان ۵۰۶۰)، اگر مرحله ۲ کمکی نکرد: TCP خودش پیامهای طولانی را درست تقسیم میکند و قطعهقطعه شدن از بین میرود. مرکز تلفن ما هم UDP و هم TCP را میپذیرد.
- فقط تماسهای خارجی قطع میشوند، اما
*43و تماسهای داخلی دوام میآورند — خرابی بین مرکز تلفن و اپراتور ارتباطات است. زمان چند تماس قطعشده را به پشتیبانی بفرستید. - NAT دوگانه را بردارید — روتر ارائهدهنده را به حالت بریج ببرید یا تلفن را مستقیم به آن وصل کنید.
قطع تماس پس از ۱۵ یا ۳۰ دقیقه#
چرا اینطور میشود#
در طول یک گفتوگوی طولانی، طرفین هر چند وقت یکبار تأیید میکنند که گفتوگو هنوز ادامه دارد — اینها تایمرهای نشست هستند. فاصله زمانی در ابتدای تماس توافق میشود؛ یک طرف متعهد میشود گفتوگو را در میانه فاصله «تمدید» کند و طرف دیگر منتظر تمدید میماند. در مرکز تلفن ما تایمرهای نشست با فاصله ۱۸۰۰ ثانیه (۳۰ دقیقه) فعال هستند؛ وجودشان برای این است که گفتوگویی که ارتباطش بیصدا از بین رفته، ساعتها معلق نماند و خط را اشغال نکند.
از اینجا دو حالت پیش میآید:
- حدود ۱۵ دقیقه — در میانه فاصله، تمدید فرستاده شد اما نرسید: طرف آن را رد کرد یا پاسخی دریافت نکرد؛
- حدود ۲۹٫۵ دقیقه — تمدیدی در کار نبود و طرفی که منتظر آن بود، کمی پیش از پایان فاصله گوشی را گذاشت.
چرا تمدید عبور نمیکند:
- روتر مسیر پیامهای سرویس را بسته است. صدا در طول گفتوگو پیوسته جریان دارد، اما پیامهای سرویس ساکتاند. اگر keep-alive در تلفن خاموش باشد، روتر پس از چند دقیقه «در» پیامهای سرویس را میبندد — و تمدید از مرکز تلفن به تلفن دیگر نمیرسد.
- تلفن روش تمدید را نمیفهمد یا آن را رد میکند — فریمور قدیمی، یا «Session Timer» با پارامترهای غیراستاندارد فعال است.
- SIP ALG پیام تمدید را خراب میکند.
- تایمر اپراتور مخابراتی — اگر فقط تماسهای بیرونی و همیشه در یک دقیقه مشخص قطع میشوند.
مرکز تلفن تایمرها را در گفتوگو فقط زمانی فعال میکند که تلفن هم از آنها پشتیبانی کند ⚠️ verify. در بیشتر تلفنهای رومیزی «Session Timer» از کارخانه خاموش است (بر اساس مستندات Yealink و Grandstream) و در آن صورت تایمری در گفتوگو وجود ندارد.
برای مدیر شبکه: مقادیر در سمت مرکز تلفن
timers=yes— تایمرها پشتیبانی میشوند؛timers_sess_expires=1800— فاصله ۱۸۰۰ ثانیه؛timers_min_se=90— کمتر از ۹۰ ثانیه را مرکز تلفن نمیپذیرد (shared/sip/advanced-options.json، گروهprotocol).- طبق RFC 4028 تمدید در میانه فاصله (۹۰۰ ثانیه) فرستاده میشود و طرفی که آن را دریافت نکرده، نشست را با
BYEبه اندازه min(۳۲ ثانیه، فاصله / ۳) پیش از پایان میبندد — حدود ۱۷۶۸ ثانیه. - مرکز تلفن بهخاطر سکوت، تماس را قطع نمیکند (
rtp_timeout=0)، بنابراین «گفتوگوی بیصدا» بهخودیخود قطع نمیشود. - در مرکز تلفن اختصاصی همان مقادیر در «تنظیمات پیشرفته SIP» («تایمرهای نشست»، «تمدید نشست، ثانیه») قرار دارند. تغییر آنها بدون درخواست ارائهدهنده لازم نیست.
چه باید کرد#
- keep-alive را در تلفن فعال کنید — مسیر پیامهای سرویس را در طول گفتوگو باز نگه میدارد. Yealink: Account → Advanced → Keep Alive Type (Default یا Options) و Keep Alive Interval — ۳۰ ثانیه (مقدار کارخانه).
- SIP ALG را روی روتر خاموش کنید.
- اگر در تلفن «Session Timer» را فعال کردهاید — مقدار کارخانه (خاموش) را برگردانید یا فاصله را ۱۸۰۰ ثانیه بگذارید: Yealink — Account → Advanced → Session Timer / Session Expires؛ Grandstream — Account → SIP Settings → Session Timer (Enable Session Timer، Session Expiration).
- فریمور تلفن را بهروزرسانی کنید — خطاهای تمدید گفتوگو اغلب در نسخههای جدید رفع شدهاند.
- فقط تماسهای بیرونی و همیشه در یک دقیقه مشخص قطع میشوند — زمان تماسها را برای پشتیبانی بفرستید: تایمرها را با اپراتور مخابراتی همبررسی میکنیم.
تماسهای ورودی فقط چند دقیقه اول پس از روشن شدن کار میکنند#
چرا اینطور میشود#
تلفن پشت روتر قرار دارد و مرکز تلفن فقط از «دری» میتواند به آن برسد که تلفن با آخرین پیام خود باز کرده است. روتر چنین درهایی را مدت زیادی باز نگه نمیدارد — در روترهای خانگی از نیم دقیقه تا چند دقیقه سکوت — و بعد میبندد. تا وقتی تلفن مرتب چیزی میفرستد (ثبتنام بلافاصله پس از روشن شدن، keep-alive)، در باز است. ساکت شد — بسته شد، و تماس ورودی از مرکز تلفن به روتر میخورد.
در این حالت ممکن است شعبه در پنل مدیریت سبز بماند: ثبتنام را تلفن خودش، از داخل بهروزرسانی میکند و انجام میشود، اما ورود به تلفن از بیرون دیگر ممکن نیست. ریاستارت «درمان» میکند چون در را از نو باز میکند — برای مدتی.
مرکز تلفن ما از سمت خود هر ۶۰ ثانیه هر دستگاه را با درخواست «در ارتباطی؟» بررسی میکند: این بستهٔ متقابل هم در را باز نگه میدارد — اما فقط اگر روتر آن را دیرتر از یک دقیقه ببندد. دستگاه پاسخ ندهد — مرکز تلفن آن را در دسترسناپذیر میداند، شعبه خاموش میشود و در «سلامت سرویس» یک افت ثبت میشود.
چه باید کرد#
پس از هر مرحله، تماس ورودی را پس از ۱۰ دقیقه بیکاری بررسی کنید (با دکمهٔ «تماس با دستگاه» یا از داخلی مجاور)؛ ادامه را فقط اگر کمکی نکرد انجام دهید.
- keep-alive را در تلفن فعال کنید با فاصله ۲۰–۳۰ ثانیه. Yealink: Account → Advanced → Keep Alive Type / Keep Alive Interval (مقادیر کارخانه Default و ۳۰ ثانیه)؛ در Fanvil — Keep Alive Type در تنظیمات پیشرفتهٔ خط.
- SIP ALG را روی روتر خاموش کنید — آن هم دوست دارد درها را «فراموش» کند.
- مدت ثبتنام را در تلفن کوتاه کنید (Expires / Register Expiration) به ۶۰–۱۲۰ ثانیه — تلفن خودش در را بیشتر باز میکند. کمتر از ۶۰ را مرکز تلفن ما نمیپذیرد (
423 Interval Too Brief). - در مرکز تلفن اختصاصی میتوان دستگاهها را بیشتر بررسی کرد: «تنظیمات پیشرفته SIP» → «بررسی ارتباط، ثانیه» — ۲۰–۳۰ بهجای ۶۰. این در را از سمت مرکز تلفن باز نگه میدارد، اما ترافیک سرویس اضافه میکند؛ keep-alive تلفن مطمئنتر است.
- NAT دوگانه (روتر ارائهدهنده + روتر خودتان) — دو در وجود دارد و هرکدام جور دیگری بسته میشود: یکی را حذف کنید — «شبکه، روتر و اینترنت».
قطع تماس هنگام تغییر از Wi-Fi به اینترنت همراه#
چرا اینطور میشود#
Wi-Fi محل و اینترنت همراه دو نشانی متفاوتاند. گفتگو از یکی آغاز شده و مرکز تلفن در ابتدای گفتگو به خاطر سپرده که صدا از کجا میآید: به دلایل امنیتی، صدا را فقط از همان نشانی میپذیرد. وقتی گوشی به شبکه همراه سوئیچ میکند، صدا از نشانی جدید میآید — و برای مرکز تلفن این جریانی بیگانه است، در حالی که پیامهای کنترلی همچنان به نشانی قدیمی میروند که دیگر وجود ندارد. گفتگویی که در یک شبکه آغاز شده، هنگام گذر به شبکه دیگر تقریباً همیشه قطع میشود. این محدودیت خود فناوری است، نه خرابی.
روی دیگر همان سکه: تا گوشی سوئیچ میکند، سافتفون ثبت خود را از دست میدهد و تماسهای ورودی در آن ثانیهها نمیرسند. Android نیز برنامههای پسزمینه را به خواب میبرد — جزئیات بیشتر در مرور کلی، بخش مربوط به تلفنهای نرمافزاری.
چه باید کرد#
- در میانه گفتگو شبکه را تغییر ندهید: پیش از خروج از محدوده Wi-Fi تماس را پایان دهید.
- روی گوشی سوئیچ خودکار از Wi-Fi ضعیف به شبکه همراه را خاموش کنید (در iPhone — «کمک Wi-Fi»، در Android — «سوئیچ به شبکه همراه» در تنظیمات Wi-Fi): اکنون همین گزینه تماس را در آستانه کافه قطع میکند.
- به سافتفون اجازه اجرا در پسزمینه بدهید و بهینهسازی باتری را برایش بردارید — آنگاه پس از تغییر شبکه سریعتر دوباره ثبت میشود.
- جایی که نباید تماس از دست برود (پیشخوان، پذیرش)، بهجای گوشی تلفن رومیزی یا گوشی DECT بگذارید.
چه چیزی به پشتیبانی بفرستید#
- تاریخ و ساعت چند تماس قطعشده با دقت دقیقه، شمارهها و داخلی؛
- پس از چه مدت قطع میشود (بر پایه گزارش — «گفتگو») و آیا همیشه یکسان است؛
- آیا همه تماسها قطع میشوند یا فقط تماسهای بیرونی؛ آیا
*43طولانی (۴۵ ثانیه) دوام میآورد؛ - مدل و فرمور تلفن (رشتهای از برچسب دستگاه)، و آیا keep-alive و Session Timer در آن روشن است؛
- مدل روتر، خاموش بودن SIP ALG، و وجود روتر دوم ارائهدهنده؛
- در مرکز تلفن اختصاصی — متن SIP trace مربوط به قطع تکرارشده.
نحوه نوشتن به ما — «پشتیبانی».
پرسشهای پرتکرار#
چرا قطع دقیقاً در ثانیه ۳۲ رخ میدهد، نه ۳۰ و نه ۴۰؟#
چون این عدد در خود پروتکل SIP نهفته است: تأیید آغاز گفتگو ۶۴ بازه نیمثانیهای انتظار میکشد — یعنی ۳۲ ثانیه. اگر مورد شما «حدود ۳۰ ثانیه» و هر بار یکسان است — همین است، حتی اگر زمانسنج ۳۱ یا ۳۳ نشان داده باشد: بخشی از زمان صرف بوقها و پاسخ شده است.
SIP ALG خاموش است، اما قطع در ثانیه ۳۰ باقی مانده — چه چیز دیگری؟#
بررسی کنید که ALG روی همه روترهای مسیر خاموش باشد (روتر ارائهدهنده اغلب تنظیم خودش را دارد)، در تلفن سه کدک بگذارید و ترابری TCP را بیازمایید. اگر فقط تماسهای بیرونی قطع میشوند و *43 ۴۵ ثانیه دوام میآورد، — مشکل در بخشی تا اپراتور مخابراتی است؛ زمان تماسها را بفرستید.
شعبه سبز است، اما تماسهای ورودی نمیرسند — این هم «قطع» است؟#
این همان سازوکاری است که در بخش مربوط به ورودیها در دقایق نخست آمده: ثبت از درون بهروز میشود، اما درِ تلفن از بیرون دیگر بسته است. آزمایش — «تماس به دستگاه» پس از ۱۰ دقیقه بیکاری؛ درمان — keep-alive در تلفن.
آیا میتوان بهسادگی تایمرهای نشست را روی مرکز تلفن خاموش کرد؟#
میتوان (در مرکز تلفن اختصاصی، «تنظیمات پیشرفته SIP»)، اما این فقط نشانه را درمان میکند نه علت را: تمدید انجام نمیشود چون مسیر پیامهای کنترلی بسته یا خراب است، و همان مسیر برای انتقال تماس و نگهداشتن هم لازم خواهد بود. افزون بر این، بدون تایمرها گفتگوهای بیصدای قطعشده ساعتها معلق میمانند و خطوط را اشغال میکنند. نخست keep-alive و SIP ALG.
بخشهای مرتبط#
- تلفن کار نمیکند: عیبیابی بر پایه نشانهها — از جمله «ورودیها نیستند در حالی که خروجیها کار میکنند»
- صدا نیست، یکطرفه شنیده میشود، پژواک، «ربات»
- ثبت نمیشود: پیامها و کدهای خطا — «ثبت میشود و ناپدید میشود»،
423 Interval Too Brief - شبکه، روتر و اینترنت برای تلفنی — کجا SIP ALG را خاموش کنیم، NAT دوگانه
- پیکربندی تلفنهای SIP — شبکه محل، بررسی کیفیت ارتباط
- گزارش تماسها و SIP trace
منابع#
- RFC 3261 — SIP: تکرار
200 OKتا دریافتACKو پایان نشست پس از ۶۴ × T1 (§13.3.1.4)، T1 = ۵۰۰ میلیثانیه (§17.1.1.1)، گذر به TCP برای پیامهای بلندتر از ۱۳۰۰ بایت (§18.1.1) — https://www.rfc-editor.org/rfc/rfc3261 - RFC 4028 — Session Timers: تمدید در میانه بازه،
BYEبه فاصله min(۳۲ ثانیه، بازه / ۳) پیش از انقضا — https://www.rfc-editor.org/rfc/rfc4028 - Yealink SIP-T2/T3/T4/T5/CP920 Administrator Guide V86.60 — Keep Alive Type / Interval (پیشفرض کارخانه، ۳۰ ثانیه)، Session Timer (پیشفرض — خاموش؛ Session Expires ۱۸۰۰ ثانیه؛ بهروزرسانی در نیمه بازه)
- 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، سقف بررسی ۳۰۰ ثانیه)