چگونه ارتباط ترانک بین دو سرور Issabel را با موفقیت برقرار کنیم؟
اتصال ترانک بین دو ایزابل یکی به آدرس 192.168..5.20 و دیگری به آدرس 192.168.80.100
برای اتصال ترانک بین دو سرور ایزابل، نیاز است که از پروتکل SIP Trunk استفاده کنید. این مراحل را دنبال کنید:
مرحله 1: تنظیمات سرور اول (192.168.5.20)
- وارد محیط مدیریت ایزابل شوید:
- در مرورگر به آدرس
192.168.5.20
رفته و با نام کاربری و رمز عبور لاگین کنید.
- در مرورگر به آدرس
- ایجاد SIP Trunk:
- از منوی اصلی، به مسیر PBX > PBX Configuration بروید.
- از تب Trunks گزینه Add SIP Trunk را انتخاب کنید.
- پیکربندی SIP Trunk:
- Trunk Name: نامی برای ترانک بگذارید (مثلاً:
Trunk_To_192.168.80.100
). - Outgoing Settings:
- Trunk Name:
Trunk_To_80_100
- PEER Details:makefileCopy code
type=peer host=192.168.80.100 username=1001 secret=your_password qualify=yes insecure=port,invite context=from-trunk disallow=all allow=ulaw,alaw
- Trunk Name:
- Incoming Settings: نیازی به پیکربندی ندارد.
- Register String: نیازی به مقداردهی ندارد.
- Trunk Name: نامی برای ترانک بگذارید (مثلاً:
- ذخیره تغییرات:
- تنظیمات را ذخیره کرده و Apply کنید.
مرحله 2: تنظیمات سرور دوم (192.168.80.100)
- وارد محیط مدیریت ایزابل شوید:
- در مرورگر به آدرس
192.168.80.100
رفته و لاگین کنید.
- در مرورگر به آدرس
- ایجاد SIP Trunk:
- از مسیر PBX > PBX Configuration، گزینه Trunks را انتخاب و Add SIP Trunk کنید.
- پیکربندی SIP Trunk:
- Trunk Name: نامی برای ترانک بگذارید (مثلاً:
Trunk_To_192.168.5.20
). - Outgoing Settings:
- Trunk Name:
Trunk_To_5_20
- PEER Details:makefileCopy code
type=peer host=192.168.5.20 username=1002 secret=your_password qualify=yes insecure=port,invite context=from-trunk disallow=all allow=ulaw,alaw
- Trunk Name:
- Incoming Settings: نیازی به پیکربندی ندارد.
- Register String: نیازی به مقداردهی ندارد.
- Trunk Name: نامی برای ترانک بگذارید (مثلاً:
- ذخیره تغییرات:
- تنظیمات را ذخیره کرده و Apply کنید.
مرحله 3: تعریف داخلیها و تنظیم روتینگ تماس
- در سرور اول:
- به مسیر PBX > PBX Configuration > Outbound Routes بروید.
- یک روت ایجاد کنید که تماسها به سمت داخلیهای سرور دوم (192.168.80.100) هدایت شوند.
- Dial Pattern: شمارههایی که به سمت سرور دوم میروند را مشخص کنید (مثلاً:
8XXX
). - Trunk Sequence: ترانک ساختهشده به سمت
192.168.80.100
را انتخاب کنید.
- در سرور دوم:
- همین تنظیمات را انجام دهید، اما روت تماسها را به سمت سرور اول (192.168.5.20) هدایت کنید.
مرحله 4: تست اتصال
- بررسی وضعیت ترانکها:
- در هر دو سرور، به مسیر Reports > Asterisk Info > Peers بروید و مطمئن شوید که وضعیت ترانکها
OK
است.
- در هر دو سرور، به مسیر Reports > Asterisk Info > Peers بروید و مطمئن شوید که وضعیت ترانکها
- تست تماس:
- از یک داخلی روی سرور اول با داخلی تعریفشده در سرور دوم تماس بگیرید و برعکس.
نکات مهم:
- فایروال: مطمئن شوید که پورتهای SIP (پورت 5060) و RTP (پورتهای 10000 تا 20000) بین دو سرور باز هستند.
- کدکها: در صورت وجود مشکل کیفیت صدا، از کدکهای سازگار (مانند
ulaw
وalaw
) استفاده کنید. - دیباگ: اگر مشکلی وجود داشت، از دستور
asterisk -rvvvvv
در کنسول ایزابل استفاده کنید تا لاگها را بررسی کنید.
با انجام این مراحل، ترانک بین دو سرور ایزابل بهدرستی کار خواهد کرد.
دستورات مهم تست ترانک در ایزابل و بررسی لاگها :
فرمان nmap
که شما اجرا کردهاید، پورت SIP (5060) را برای بررسی باز بودن و پاسخدهی پروتکلهای مرتبط در شبکه اسکن میکند. اگر نتیجهی این اسکن نشان دهد که پورت 5060 در دسترس و باز است، اما مشکل ارتباط ترانک بین Issabel و Zycoo همچنان وجود دارد، باید سایر جنبههای پیکربندی را مجدداً بررسی کنیم.
- پیکربندی دقیق SIP:
- همانطور که قبلاً اشاره شد، بررسی کنید که type=peer یا type=user در Issabel و Zycoo مناسب با شرایط انتخاب شده باشد.
- در تنظیمات Issabel، از دستوراتی که پیشتر ارائه شد استفاده کنید.
- بررسی دقیق با دستور
sip show peers
: - اگر از Issabel به SIP peers متصل هستید، دستور زیر را برای مشاهده وضعیت ترانکها اجرا کنید:
asterisk -rvvv sip show peers
در اینجا، مطمئن شوید که وضعیت ترانک Zycoo بهصورتOK
نمایش داده میشود. - فعال کردن دیباگ SIP: اگر مشکل همچنان باقی بود، دستور زیر را در Issabel برای بررسی ترافیک SIP فعال کنید:
sip set debug on
سپس تماس آزمایشی انجام دهید و پیامهای SIP ارسال و دریافتشده را بررسی کنید.- بررسی Nmap روی Issabel و Zycoo: با دستور
nmap
، از هر دو دستگاه Issabel و Zycoo، وضعیت پورتهای SIP و UDP را بررسی کنید:
nmap -p 5060 -sU <Target_IP>
- بررسی Nmap روی Issabel و Zycoo: با دستور
- اطمینان از NAT و Firewall: اگر NAT در محیط شبکه استفاده نشده است، مطمئن شوید که فایروال هر دو دستگاه تنظیمات لازم را دارد.
برای Issabel:iptables -L -n
- پیکربندی لاگهای بیشتر در Zycoo:
asterisk -rvvv
- به Zycoo متصل شوید و با استفاده از لاگهای کامل را بررسی کنید.
- بررسی کنید که آیا درخواست SIP از Issabel به Zycoo میرسد یا خیر.
اگر همچنان نیاز به راهنمایی بیشتری دارید، لاگهای دقیقتر را از هر دو سیستم ارائه دهید تا مشکل شناسایی شود.
- بررسی وضعیت ترانکها:
sip show peers
sip show registry
بررسی لاگها در Issabel:tail -f /var/log/asterisk/full | grep "192.168.5.10"
- ررسی لاگها در Zycoo:
- از طریق SSH به Zycoo متصل شوید و وضعیت SIP را بررسی کنید:
asterisk -rvvv sip
show peers
جدول کاربردی بررسی و رفع مشکلات ترانک SIP برای VoIP کاران
در این جدول، دستورات کلیدی برای بررسی، نظارت و رفع مشکلات ترانکهای SIP در Asterisk ارائه شدهاند، همراه با امکان فیلتر کردن یک ترانک خاص. نام پیشنهادی این جدول: “راهنمای طلایی بررسی ترانک SIP”
دستور | شرح کاربرد | خروجی/عملکرد مورد انتظار |
---|---|---|
sip show peer <peer_name> | نمایش جزئیات یک ترانک خاص با استفاده از نام آن. | اطلاعات مربوط به ترانک شامل آدرس IP، وضعیت ثبتنام، کدکها، NAT و… نمایش داده میشود. |
sip show registry | نمایش وضعیت ثبتنام ترانکها (Registration). | وضعیت ترانک موردنظر در صورت ثبتشده بودن نمایش داده میشود (Registered, Failed). |
sip qualify peer <peer_name> | بررسی کیفیت ارتباط با یک ترانک خاص. | زمان پاسخدهی (latency) و وضعیت دسترسی به ترانک نمایش داده میشود. |
sip set debug peer <peer_name> | فعال کردن دیباگ SIP برای ترانک خاص جهت مشاهده پیامهای SIP. | پیامهای SIP برای ترانک مشخصشده، مانند INVITE، ACK و 200 OK، در کنسول Asterisk قابل مشاهده میشوند. |
sip set debug ip <IP> | فعال کردن دیباگ SIP برای ترانک مشخصشده با آدرس IP. | پیامهای SIP فقط برای آدرس IP مشخصشده نمایش داده میشوند. |
rtp set debug ip <IP> | فعال کردن دیباگ RTP برای ترانک خاص. | بستههای RTP شامل کدکها، مشکلات صوتی و تأخیر برای آدرس IP مشخصشده نمایش داده میشوند. |
sip reload | بازخوانی تنظیمات SIP از فایل کانفیگ (sip.conf ). | تغییرات جدید اعمالشده در فایل کانفیگ بدون نیاز به راهاندازی مجدد، برای ترانک موردنظر بارگذاری میشوند. |
sip prune realtime | پاکسازی کش ثبتنام ترانک و اجبار به ثبتنام مجدد. | ثبتنام مجدد ترانکها در سرور SIP انجام میشود. |
sip show channels | مشاهده کانالهای فعال SIP برای ترانکها. | اطلاعاتی درباره تماسهای فعال در ترانک خاص نمایش داده میشود. |
`sip show peers | grep <peer_name>` | فیلتر کردن وضعیت تمام peers و نمایش اطلاعات یک ترانک خاص. |
core show calls | نمایش تعداد تماسهای جاری در سیستم. | تعداد و وضعیت تماسهای جاری (فعال یا در انتظار) نمایش داده میشود. |
core set verbose 10 | افزایش سطح لاگ کنسول برای بررسی دقیقتر وضعیت ترانک. | اطلاعات بیشتری از فعالیتها و خطاهای مربوط به ترانک موردنظر در کنسول نمایش داده میشود. |
sip show settings | نمایش تنظیمات کلی SIP شامل NAT و کدکها. | اطلاعاتی که برای رفع مشکلات ترانکها مفید است، مانند کدکها و NAT، ارائه میشود. |
asterisk -rx "sip show peers" | اجرای دستور sip show peers از بیرون کنسول Asterisk برای اسکریپتها. | اطلاعات peers شامل نام، وضعیت و Reachability برای اسکریپتها نمایش داده میشود. |
`asterisk -rx “sip show registry | grep ` | نمایش وضعیت ثبتنام ترانک برای آدرس IP خاص. |
نکات مهم:
- قبل از استفاده از دستورات، سطح دسترسی (
sudo
) و لاگین به سرور Asterisk با کاربر مناسب را بررسی کنید. - برای دیباگ، از دستورات
sip set debug
وrtp set debug
با احتیاط استفاده کنید، زیرا ممکن است حجم زیادی از لاگ تولید شود. - اگر مشکل ترانک پیچیده است، از ترکیب این دستورات برای تحلیل دقیقتر استفاده کنید.
لیست کامل دستورات لازم برای بررسی و عیبیابی SIP در ایزابل
در جدول زیر، لیست کامل دستورات لازم برای بررسی و عیبیابی SIP در ایزابل آورده شده است. این دستورات میتوانند برای ثبت در سایت شما و استفاده در بررسیهای حرفهای مفید باشند:
دستور | شرح کاربرد | خروجی/عملکرد مورد انتظار |
---|---|---|
sip show peers | نمایش لیست تمامی SIP peers و وضعیت آنها. | لیستی از peers شامل نام، وضعیت (OK, Unreachable) و آدرسهای IP نمایش داده میشود. |
sip show registry | نمایش وضعیت ثبتنام (Registration) SIP در سرور. | وضعیت ثبتنام تمامی ترانکهای SIP را نشان میدهد (Registered, Request Sent, Failed). |
sip show channels | نمایش کانالهای فعال SIP. | تمامی تماسهای فعال SIP شامل اطلاعات از کجا به کجا و زمان فعال بودن نمایش داده میشوند. |
sip set debug on | فعال کردن دیباگ SIP برای نمایش ترافیک SIP. | تمامی پیامهای SIP ارسالشده و دریافتشده (مانند INVITE، 200 OK، ACK) در زمان تماس قابل مشاهده هستند. |
sip set debug off | غیرفعال کردن دیباگ SIP. | توقف نمایش پیامهای SIP. |
sip reload | بازخوانی تنظیمات SIP از فایل کانفیگ (sip.conf ). | تمامی تغییرات جدید در فایل sip.conf اعمال و در سرویس SIP بازخوانی میشوند. |
asterisk -rvvv | ورود به کنسول Asterisk با سطح لاگ بالا. | کنسول Asterisk برای بررسی وضعیت و اجرای دستورات دیگر قابل دسترسی است. |
sip show settings | نمایش تنظیمات عمومی SIP شامل پارامترهایی مانند NAT، کانالهای صوتی، رمزگذاری. | مشخصات پیکربندیشده در فایل sip.conf نمایش داده میشوند. |
sip show inuse | نمایش تعداد تماسهای جاری برای هر SIP peer. | تعداد تماسهای جاری برای هر Peer و کانال نمایش داده میشوند. |
sip qualify peer <peer_name> | بررسی کیفیت و پاسخدهی یک SIP peer مشخص. | وضعیت پاسخدهی peer به پینگ SIP (Reply Time ) نمایش داده میشود. |
core show calls | تعداد کل تماسهای فعال در سیستم را نمایش میدهد. | تعداد تماسهای فعال و خلاصهای از وضعیت سیستم نشان داده میشود. |
rtp set debug on | فعال کردن دیباگ RTP برای بررسی مشکلات صوتی. | تمامی پکتهای RTP شامل اطلاعات مربوط به صدا، کدک و مشکلات تاخیر نمایش داده میشوند. |
core set verbose <level> | تنظیم سطح نمایش اطلاعات لاگها در کنسول Asterisk. | لاگهای دقیقتر در کنسول برای بررسی مشکلات نمایش داده میشوند. (مقدار <level> معمولاً بین 1 تا 10 است.) |
core set debug <level> | تنظیم سطح دیباگ Asterisk برای نمایش اطلاعات بیشتر. | اطلاعات عمیقتری از فعالیتها و اشکالات داخلی Asterisk ارائه میشود. |
module reload chan_sip.so | بارگذاری مجدد ماژول SIP در Asterisk. | ماژول SIP بدون نیاز به راهاندازی مجدد کل Asterisk بازخوانی میشود. |
sip set debug ip <IP> | فعال کردن دیباگ SIP برای یک آدرس IP مشخص. | پیامهای SIP فقط برای آدرس IP مشخصشده (مثلاً سرور یا ترانک خاص) نمایش داده میشوند. |
sip prune realtime | پاکسازی کش SIP real-time برای اطمینان از ثبتنام مجدد peers. | تمام اطلاعات ذخیرهشده موقت در کش SIP پاکسازی شده و peers دوباره ثبتنام میکنند. |
این دستورات کمک میکنند تا مشکلات مربوط به SIP و ترانکها را شناسایی و رفع کنید.