قطع شدن تماس ویپ
علت قطع شدن تماس ویپ بعد از ۳۲ ثانیه یا چند دقیقه + راهکار قطعی
سیستمهای تلفن تحت شبکه یا VoIP به دلیل انعطافپذیری و امکانات بینظیرشان، به هسته اصلی ارتباطات در سازمانهای مدرن تبدیل شدهاند. با این حال، مدیریت این شبکهها گاهی با چالشهای عجیب و غریبی همراه میشود که عیبیابی آنها نیازمند دانش عمیق در حوزه شبکههای کامپیوتری و پروتکلهای مخابراتی است. یکی از مرموزترین و رویاعصابترین این اختلالات، قطع شدن تماس ویپ دقیقاً پس از گذشت یک زمان مشخص و ثابت است.
بسیاری از مدیران شبکه و کاربران گزارش میدهند که مکالمات آنها بدون هیچگونه افت کیفیت یا نویز قبلی، دقیقاً در ثانیه ۳۰، ثانیه ۳۲، یا پس از گذشت ۱۰ الی ۱۵ دقیقه به طور ناگهانی قطع میشود. این اتفاق معمولاً هیچ خطای مشخصی روی صفحه تلفن نشان نمیدهد و صرفاً بوق اشغال پخش میشود. در این مقاله جامع و تخصصی، قصد داریم ریشههای فنی قطع شدن تماس ویپ در فواصل زمانی مشخص را کالبدشکافی کرده و راهکارهای عملی برای رفع این مشکل در روترها (به ویژه میکروتیک) و مراکز تلفن ارائه دهیم.
بخش اول: معمای قطع شدن تماس ویپ دقیقاً بعد از ۳۰ یا ۳۲ ثانیه
وقتی با مشکل قطع شدن تماس ویپ در ثانیههای ابتدایی (معمولاً بین ۳۰ تا ۳۲ ثانیه) مواجه میشوید، مقصر اصلی در ۹۹ درصد مواقع مکانیزم NAT و عدم تبادل صحیح پیامهای سیگنالینگ بین کلاینت و سرور است. برای درک بهتر، باید نگاهی به نحوه شروع یک تماس در پروتکل SIP بیندازیم.
۱. گم شدن بسته تاییدیه یا ACK (Acknowledgement)
در دنیای ویپ، وقتی شما شمارهای را میگیرید، دستگاه شما یک پیام به نام INVITE برای سرور میفرستد. سرور زنگ خوردن تلفن مقصد را مدیریت کرده و وقتی شخص مقابل جواب میدهد، سرور پیام 200 OK را برای شما ارسال میکند تا بگوید ارتباط برقرار شد. در این مرحله، تلفن شما باید یک پیام تایید نهایی به نام ACK به سرور برگرداند.
اگر به دلیل تنظیمات اشتباه در فایروال یا NAT، پیام ACK هرگز به سرور نرسد، سرور تصور میکند که ارتباط با شما قطع شده یا خطایی رخ داده است. طبق استانداردهای پروتکل SIP، سرور دقیقاً ۳۲ ثانیه منتظر پیام ACK میماند و اگر آن را دریافت نکند، تماس را به صورت یکطرفه قطع میکند. این اصلیترین دلیل قطع شدن تماس ویپ در ثانیه ۳۲ است.
۲. تنظیمات اشتباه NAT و هدرهای SIP
وقتی تلفن شما در یک شبکه داخلی (Private IP) قرار دارد و سرور در یک شبکه ابری یا اینترنت (Public IP) است، بستههای SIP باید از NAT عبور کنند. اگر مرکز تلفن شما نداند که شما پشت NAT قرار دارید، پیامها را به آیپی داخلی شما (که در اینترنت نامعتبر است) میفرستد و این موضوع مستقیماً منجر به قطع شدن تماس ویپ در همان ابتدای مکالمه میشود.
بخش دوم: چرا مکالمات طولانی بعد از ۱۰ یا ۱۵ دقیقه قطع میشوند؟
گاهی اوقات تماسهای کوتاه بدون مشکل انجام میشوند، اما زمانی که کاربران وارد یک مکالمه طولانی یا کنفرانس تلفنی میشوند، با قطع شدن تماس ویپ بعد از گذشت مثلاً ۱۰، ۱۵ یا ۳۰ دقیقه روبرو میشوند. در اینجا دیگر مشکل از گم شدن ACK نیست، بلکه پای فایروالها و تایمرهای نشست در میان است.
۱. تایماوت پورتهای UDP در فایروال (UDP Timeout)
پروتکلهای SIP و RTP معمولاً بر بستر UDP کار میکنند. برخلاف TCP که ارتباطی پایدار و کنترلشده ایجاد میکند، UDP یک پروتکل بدون اتصال (Connectionless) است. فایروالها (مانند روترهای میکروتیک، سیسکو یا کریو) برای جلوگیری از پر شدن حافظه خود، یک جدول زمانبندی دارند. اگر برای مدت زمان مشخصی (مثلاً ۳ دقیقه) هیچ ترافیک جدیدی روی یک پورت UDP خاص رد و بدل نشود، فایروال آن پورت را برای امنیت بیشتر میبندد.
در طول یک مکالمه طولانی، اگر زمان تایماوت فایروال شما کوتاهتر از زمان تبادل پیامهای کنترلی سرور باشد، فایروال به طور ناگهانی مسیر را مسدود کرده و باعث قطع شدن تماس ویپ میشود.
۲. تایمرهای نشست سیپ (SIP Session Timers)
مراکز تلفن مانند ایزابل (Issabel) یا فریپیبیایکس (FreePBX) از قابلیتی به نام Session Timer برای مدیریت تماسهای معلق استفاده میکنند. سرور در فواصل زمانی منظم (مثلاً هر ۱۵ دقیقه) پیامهای کوچکی برای تلفنها میفرستد تا بپرسد “آیا هنوز بیداری و تماس برقرار است؟”. اگر به دلیل اختلال شبکه تلفن نتواند پاسخ دهد، سرور تماس را خاتمه میدهد که نتیجه آن قطع شدن تماس ویپ در فواصل زمانی کاملاً مشخص و تکراری است.
بخش سوم: آموزش گامبهگام رفع مشکل قطع شدن تماس ویپ
اکنون که با ریشههای علمی و فنی این اختلالات آشنا شدیم، زمان آن رسیده است که با اعمال تنظیمات استاندارد روی سرور و تجهیزات شبکه، پایداری تماسهای خود را تضمین کنید.
گام اول: اصلاح تنظیمات NAT در مرکز تلفن
برای جلوگیری از گم شدن بستههای ACK و رفع قطع شدن تماس ویپ در ثانیه ۳۰، باید به مرکز تلفن خود بفهمانید که داخلیها یا ترانکها پشت شبکه NAT قرار دارند. در سیستمهای مبتنی بر استریسک (Asterisk):
- وارد بخش
Asterisk SIP Settingsشوید. - در تب General، مقادیر
External Address(آیپی استاتیک شرکت) وLocal Networks(محدوده آیپیهای داخلی مثل 192.168.1.0/24) را به درستی وارد کنید. - در تنظیمات هر داخلی (Extension)، گزینه
NAT Modeرا روی حالت Yes (force_rport, comedia) قرار دهید.
گام دوم: افزایش زمان UDP Timeout در روتر و فایروال
اگر مشکل شما قطع شدن تماس ویپ بعد از ۱۰ یا ۱۵ دقیقه است، باید زمان انقضای پورتهای UDP را در فایروال خود افزایش دهید. برای مثال، اگر از روترهای میکروتیک استفاده میکنید:
- وارد محیط Winbox شوید.
- به مسیر
IP -> Firewall -> Connections -> Trackingبروید. - در این پنجره، مقدار
UDP Stream Timeoutرا پیدا کرده و آن را از مقدار پیشفرض (که معمولاً ۳ دقیقه است) به ۰۱:۰۰:۰۰ (یک ساعت) یا حداقل ۳۰ دقیقه تغییر دهید. این کار مانع از بسته شدن پورتها در حین مکالمات طولانی میشود.
گام سوم: فعالسازی قابلیت NAT Keep-Alive
برای اینکه فایروالها متوجه زنده بودن ارتباط شوند و پورتها را نبندند، تلفنهای تحت شبکه باید به صورت مداوم بستههای بسیار کوچکی (Dummy Packets) را به سمت سرور ارسال کنند. وارد پنل تنظیمات تحت وب تلفنهای خود (مانند یالینک، گرنداستریم یا سیسکو) شوید و گزینهای تحت عنوان NAT Keep-Alive را فعال کنید. زمان ارسال این بستهها (Keep-Alive Interval) را روی ۲۰ الی ۳۰ ثانیه تنظیم کنید.
نتیجهگیری
مدیریت و نگهداری شبکههای تلفنی VoIP نیازمند هماهنگی کامل بین تنظیمات شبکه، روترها و سرور تلفنی است. مشکل قطع شدن تماس ویپ پس از گذشت یک زمان مشخص، در نگاه اول ممکن است شبیه به یک باگ نرمافزاری به نظر برسد، اما در واقعیت ریشه در تنظیمات NAT، مسدود شدن پیامهای ACK و محدودیتهای فایروال برای پروتکل UDP دارد. با پیروی از چکلیست بالا و بهینهسازی تنظیمات مسیردهی، میتوانید تجربه یک ارتباط پایدار و بینقص را برای کاربران سازمان خود فراهم کنید.
سوالات متداول (FAQ)
۱. چرا مشکل قطع شدن تماس ویپ فقط در تماسهای خارج از شرکت رخ میدهد و تماسهای داخلی سالم هستند؟
زیرا تماسهای داخلی (Extension to Extension) معمولاً در یک شبکه محلی (LAN) انجام میشوند و نیازی به عبور از NAT یا فایروال ندارند. این مشکل صرفاً زمانی خود را نشان میدهد که بستههای صوتی قصد عبور از روتر لبه شبکه به سمت اینترنت یا شبکه بیرونی را داشته باشند.
۲. آیا فعال بودن SIP ALG در مودم میتواند باعث قطع شدن تماس ویپ در ثانیه ۳۲ شود؟
بله، دقیقاً! همانطور که SIP ALG باعث یکطرفه شدن صدا میشود، میتواند با دستکاری اشتباه هدرهای بستههای SIP، باعث عدم رسیدن پیام ACK به سرور شده و در نتیجه سرور تماس را در ثانیه ۳۲ قطع کند. همواره توصیه میشود این ویژگی را در مودمها غیرفعال کنید.
۳. تنظیم Session Timer در سرور ایزابل یا فریپیبیایکس باید روی چه عددی باشد؟
برای جلوگیری از قطع شدن تماس ویپ در مکالمات طولانی، پیشنهاد میشود در تنظیمات SIP Settings سرور، مقدار Session-Expires را حداقل روی ۱۸۰۰ ثانیه (۳۰ دقیقه) تنظیم کنید تا از ارسال مداوم و غیرضروری درخواستهای تایید وضعیت جلوگیری شود.
برای دریافت خدمات پشتیبانی شبکه کلیک فرمایید
