مشکل شما معمولاً از تنظیمات سمت ایزابل (Asterisk) یا NAT/Firewall ناشی میشه ، نه از سمت مخابرات . برای اینکه تماس های ورودی (Inbound) روی SIP Trunk مخابرات درست کار کنه ، چند نکته کلیدی رو بررسی کنید :
مراحل عیبیابی SIP Trunk روی ایزابل
-
۱. رجیستر بودن ترانک
- با دستور
sip show registryیاpjsip show registrationsمطمئن بشید که ترانک رجیستر شده - اگر رجیستر نیست، مشخصات کاربری (username, secret, host) رو دوباره چک کنید
- با دستور
-
۲. کانفیگ Inbound Route
- در ایزابل باید یک Inbound Route تعریف کنید که DID یا شماره مقصد رو درست هندل کنه
- اگر شماره دقیق رو نمیدونید ، یک Route با شرط
Any DID / Any CIDبذارید تا همه تماسها رو بگیره
-
۳. بررسی Context ترانک
- در تنظیمات ترانک ، بخش
contextباید به درستی ست شده باشه (مثلاًfrom-trunk) - اگر اشتباه باشه ، تماس وارد dialplan نمیشه
- در تنظیمات ترانک ، بخش
-
۴. NAT و Firewall
- اگر ایزابل پشت NAT هست ، در فایل
sip_general_custom.confیاpjsip.confبایدexternipوlocalnetدرست ست بشه - پورتهای 5060 و رنج RTP (معمولاً 10000–20000) روی فایروال باز باشه
- اگر ایزابل پشت NAT هست ، در فایل
-
۵. لاگ تماس ها
- با دستور
asterisk -rvvvو بعدsip set debug onیاpjsip set logger onتماس ورودی رو تست کنید - ببینید آیا Invite از سمت مخابرات میاد یا نه. اگر Invite نمیاد، مشکل سمت مخابراته؛ اگر Invite میاد ولی ایزابل جواب نمیده، مشکل کانفیگ شماست
- با دستور
-
۶. CallerID و DID
- گاهی مخابرات شماره رو با فرمت متفاوت میفرسته (مثلاً با 0 یا بدون 0). باید Inbound Route رو مطابق همون فرمت بسازید
پیشنهاد عملی
۱. یک Inbound Route با Any DID / Any CID بسازید و مقصد رو روی یک داخلی تستی بذارید
۲. لاگ تماس ورودی رو با asterisk -rvvv بررسی کنید
۳. اگر Invite نمیاد، اسکرینشات یا خروجی لاگ رو به مخابرات بدید. اگر Invite میاد ولی تماس هندل نمیشه، مشکل از تنظیمات ایزابل هست