0
Your Cart
empty cart سبد خریدتان در حال حاضر خالی است! بازگشت به فروشگاه

حل مشکل NAT و صدای یک طرفه در Issabel و Asterisk

فهرست مطالب

عنوان مطالبی که می خوانید

زمان مطالعه: 4 دقیقه

آخرین ویرایش شهریور 31, 1405 حامد کوه فلاح

یکی از مشکلات رایج هنگام راه‌اندازی سیستم‌های VoIP، زمانی ایجاد می‌شود که سرور Issabel یا تلفن‌های VoIP در یک شبکه خصوصی قرار داشته باشند و ارتباط آن‌ها از طریق یک IP عمومی و روتر انجام شود.

در این شرایط، NAT (Network Address Translation) وظیفه تبدیل ارتباط بین شبکه داخلی و شبکه عمومی را بر عهده دارد. اگر تنظیمات NAT در Issabel و Asterisk به‌درستی انجام نشود، مشکلاتی مانند صدای یک‌طرفه، قطع صدا، عدم برقراری تماس یا مشکل در دریافت RTP ایجاد می‌شود.

در این آموزش نحوه تنظیم NAT در Issabel را بررسی می‌کنیم و سپس به نکات مهم مربوط به SIP، PJSIP و RTP می‌پردازیم.


چرا NAT

NAT  یا Network Address Translation راهکاری برای تبدیل آدرس های شبکه Local یا  Private به آدرسPublic میباشد.

در پروژه های ویپ معمولا از یک IP Valid استفاده می شود، اما خود سرور ایزابل دارای IP Invalid می باشد، NAT یک راهکار برای ارتباط از طریق دنیای اینترنت با سرور ایزابل می باشد، برای این منظور باید بر روی مودم یا Router پورت 5060 UDP و پورت 10000 تا 20000 UDP به سمت IP داخلی سرور ایزابل Forward شود.

مشکل صدای یک طرفه

ساختار پروتکل SIP به گونه ای است که وقتی بر روی NAT قرار میگیرد صدا به صورت یک طرفه منتقل می شود، یعنی صدای فردی که برروی اینترنت هست در داخل شرکت شنیده می شود ولی صدای فرد داخل شرکت به گوش فرد خارج شرکت نمیرسد.

ماهیت این مشکل تنها مختص Asterisk نمی باشد و تمامی سیستم های VoIP که با پروتکل SIP کار می کنند چنین مشکلی را دارا می باشند، ولی هر کدارم راهکاری برای آن ارائه کرده اند، استریسک نیز راهکاری دارد که در ادامه آن را بررسی میکنیم.

 

راه حل

راهکار ما در ادامه دو بخش خواهد داشت:

  • تغییرات در تنظیمات SIP
  • اعمال تغییر در تعریف داخلی

پورت‌های مورد نیاز برای VoIP پشت NAT

بسته به نوع SIP و تنظیمات Asterisk، پورت‌های مورد استفاده برای Signaling و RTP متفاوت هستند.

در سناریوهای رایج SIP/UDP، پورت 5060 برای SIP و یک محدوده UDP برای RTP استفاده می‌شود. محدوده RTP باید با تنظیمات Asterisk هماهنگ باشد.

بنابراین قبل از Port Forwarding، محدوده RTP تعریف‌شده در سیستم را بررسی کنید و از باز کردن محدوده‌های غیرضروری روی اینترنت خودداری کنید.

تغییرات در تنظیمات SIP

ورود به تنظیمات PBX

متن فعلی را ساده‌تر کنیم:

در Issabel وارد بخش PBX → PBX Configuration شوید.

در صورتی که دسترسی مستقیم به محیط PBX فعال نیست، ابتدا از بخش Security → Advanced Settings گزینه Enable direct access را فعال کنید.

در سرور ایزابل از تنظیمات Unembedded IssabelPBX در منوی PBX و زیر منوی PBX Configuration شوید، اما برای دسترسی به این قسمت ابتدا باید از منوی Security و زیر منوی Advanced Setting گزینه Enable direct access را روی حالت On قرار دهید:

B2ap3 Large 001

 

در بخش PBX → PBX Configuration → Asterisk SIP Settings تنظیمات مربوط به NAT را بررسی کنید.

در سناریویی که سرور Issabel دارای IP Private است، باید IP عمومی و شبکه داخلی به‌درستی برای Asterisk مشخص شوند.

در صورتی که از تنظیمات خودکار Issabel استفاده می‌کنید، اطلاعات IP عمومی و شبکه داخلی را بررسی کنید و مطمئن شوید مقدار تشخیص داده‌شده با ساختار واقعی شبکه شما مطابقت دارد.

** فراموش نشود اگر برای دسترسی از بیرون آی پی 5060 تغییر کرده است باید در مقدار External IP حتما آی پی جدید درج شود. مثلا 93.118.161.66:9080

تنظیم NAT برای داخلی‌های Issabel

اگر تلفن داخلی خارج از شبکه LAN قرار دارد، تنظیم NAT برای Extension نیز باید متناسب با سناریوی شبکه بررسی شود.

در تنظیمات Extension، بخش Device Options را بررسی کنید و مقدار NAT را مطابق ساختار شبکه و نوع Endpoint تنظیم کنید.

نکته مهم این است که تنظیم NAT در سطح PBX و تنظیمات Endpoint باید با یکدیگر سازگار باشند.

B2ap3 Large 003

تنظیم NAT در PJSIP

در نسخه‌های جدید Asterisk که از PJSIP استفاده می‌کنند، تنظیم NAT با گزینه‌های متفاوتی انجام می‌شود.

در سناریوهای رایج، گزینه‌هایی مانند:

  • local_net
  • external_media_address
  • external_signaling_address
  • direct_media

نقش مهمی در نحوه عبور SIP و RTP از NAT دارند.

local_net شبکه‌ای را مشخص می‌کند که Asterisk آن را شبکه داخلی در نظر می‌گیرد. همچنین external_media_address برای مشخص کردن آدرس خارجی مورد استفاده در RTP و external_signaling_address برای SIP Signaling استفاده می‌شود.

اگر بعد از تنظیم NAT هنوز صدا نداریم چه کنیم؟

۱. IP داخلی و Public را بررسی کنید

۲. RTP Port Range را بررسی کنید

۳. Port Forwarding روتر را بررسی کنید

۴. Firewall را بررسی کنید

نکته امنیتی درباره باز کردن SIP روی اینترنت

باز کردن پورت‌های SIP و RTP روی اینترنت باید با رعایت اصول امنیتی انجام شود. از قرار دادن Asterisk بدون محدودیت روی اینترنت، استفاده از رمزهای ضعیف و اجازه دسترسی عمومی به SIP بدون Firewall مناسب خودداری کنید.

در پروژه‌های واقعی بهتر است دسترسی SIP تا حد امکان محدود شود و مکانیزم‌های امنیتی Asterisk و Firewall به‌درستی تنظیم شوند. با شرکت در دوره متخصص امنیت ویپ، دورکاری و امنیت سیستم تلفنی استریسک را تضمین کنید.

اگر به گزارش‌گیری حرفه‌ای تماس‌ها نیاز دارید

برای پروژه‌های مرکز تماس و سیستم‌های VoIP، علاوه بر تنظیم صحیح Asterisk و Issabel، بررسی وضعیت تماس‌ها و شاخص‌های عملکرد نیز اهمیت زیادی دارد. در VOIPIRAN ابزارهای مختلفی برای مدیریت و گزارش‌گیری سیستم‌های VoIP ارائه شده است. برنامه گزارشگیری پیشرفته استریسک

سوالات متداول

چرا در Issabel تماس برقرار می‌شود ولی صدا ندارم؟

به دلیل مشکلات NAT، RTP، Firewall یا اعلام IP داخلی در SDP.

چرا صدای تماس یک‌طرفه است؟

معمولاً یکی از طرفین RTP را به آدرس یا Port اشتباه ارسال می‌کند.

آیا NAT فقط مشکل Issabel است؟

خیر. این مسئله مربوط به عبور SIP/RTP از شبکه‌های NAT شده است و در سیستم‌های VoIP مختلف می‌تواند رخ دهد.

آیا PJSIP با SIP قدیمی تنظیمات NAT یکسانی دارد؟

خیر. PJSIP تنظیمات مخصوص خود را برای NAT دارد، از جمله local_net و آدرس‌های خارجی Signaling/Media.

نویسنده

نظرات