Elastixتلفن تحت شبکه

برقراری ارتباط VoIP بین شعب مختلف از طریق ترانکِ IAX2

تصور کنید که سازمانی وجود دارد که شعبه های مختلفی در نقاط مختلف دنیا دارد. این شعبه های مختلف توسط شبکه WAN یا اینترنت به یکدیگر متصل هستند و تلفن های VoIP هر شعبه توسط یک سرور FreePBX اداره می شود. اگر نیاز باشد که در هر شعبه کارمندان بتوانند از طریق خط های داخلی با کارمندان شعبه های دیگر تماس بگبرند باید بین PBX ها ارتباط برقرار باشد و برای این کار تنظیم شده باشند. در این مقاله نحوه انجام این کار را توضیح خواهیم داد.

ما می توانیم به هر تعدادی که بخواهیم FreePBX های مختلف را به هم مرتبط کنیم. حتی اگر FreePBX های ما پشت یک NAT Firewall باشند. برای شروع فرض کنید سرور با مشخصات زیر را داریم.

سیستم اول : محل : شیراز

شماره داخلی های تعریف شده : از ۴۰ تا ۴۹

سیستم دوم : محل : تهران

شماره داخلی های تعریف شده : از ۵۰ تا ۵۹

طرح کلی کاری که باید انجام دهیم به این شکل است :

  • تنظیم یک ترانک IAX2 بر روی سیستم اول. این ترانک ارتباط را با سیستم دوم برقرار خواهد کرد.
  • تنظیم یک مسیر خروجی ( Outbound Route ) بر روی سیستم اول. این مسیر به سیستم اول خواهد گفت که کدام تماس ها باید به سیستم دوم هدایت شوند.
  • تنظیم یک ترانک IAX2 بر روی سیستم دوم. این ترانک ارتباط را با سیستم اول برقرار خواهد کرد.
  • تنظیم یک مسیر خروجی ( Outbound Route ) بر روی سیستم دوم. این مسیر به سیستم دوم خواهد گفت که کدام تماس ها باید به سیستم اول هدایت شوند.

مرحله ۱ : تنظیم یک ترانک IAX2 بر روی سیستم اول

به قسمت Trunk Module در سیستم اول بروید.

freepbx-to-freepbx-iax2-1

بر روی Add Trunk در بالا کلیک نمایید. گزینه Create an IAX2 Trunk را انتخاب کنید.

freepbx-to-freepbx-iax2-2

موارد زیر در این قسمت کانفیگ شود :

Trunk Name : می تواند هر نام دلخواهی باشد. من نام سیستمی را که می خواهم ترانک را با آن برقرار کنم ترجیح می دهم.

Trunk Name : System2

Outbound Caller ID : باز هم به دلخواه است. من نام سیستم مبدا را در اینجا قرار می دهم.

Outbound Caller ID : System1

Dialed Number Manipulation Rules : در این سناریو نیازی به تعریف این گزینه ندارید.

freepbx-to-freepbx-iax2-3

PEER Details : در این قسمت ویژگی های ارتباط با سیستم دوم را مشخص می کنیم. فرمت کلی آن به شکل زیر است :

کدام نسخه از آستریسک برای ما مناسب است؟

freepbx-to-freepbx-iax2-4

Username=System1

Secret=password

Host=system2ipaddress

Type=friend

Context=from-internal

Qualify=yes

Qualifyfreqok=25000

Transfer=no

Trunk=yes

Forceencrypion=yes

Encryption=yes

Auth=md5

دقت داشته باشید که username و secret را می توانید هر مقدار دلخواهی قرار دهید. اما آن را به یاد داشته باشید. چون اگر بر روی این سیستم تغییر کند باید بر روی سیستم دوم هم به همین صورت تغییر نماید. همچنین در این قسمت کوچک و بزرگ بودن حروف اهمیت دارد. ( Case Sensitive )

اگر برای برقراری تماس با مشکل رو به رو شدید ممکن است که بر روی Asterix شما رمزنگاری های رایج نصب نباشد. بنابراین می توانید سه خط آخر را پاک کنید.

درصورتی که می خواهید فقط شما بتوانید با  داخلی های سیستم دوم تماس بگیرید و تماس داخلی های های سیستم دوم با اول به صورت مستقیم امکان پذیر نباشد ، Context را از from-internal به from-trunk تغییر دهید.

همان طور که مشخص است در قسمت host نیز بایستی آی پی آدرس سیستم دوم قرار گیرد. اگر یکی از سیستم های شما آی پی داینامیک دارد باید سیستم را با یک سرویس داینامیک DNS مثل DYNDNS رجیستر نمایید. و در قسمت Host از نام دامینی استفاده نمایید. برای مثال xxxxxx.dyndns.com به جای آی پی.

مرحله ۲ : تنظیم یک مسیر خروجی در سیستم اول

در سیستم اول به قسمت Outbound Routes Module در FreePBX مراجعه نمایید.

freepbx-to-freepbx-iax2-5

حال در Route Settings موارد زیر را به صورتی که آمده است تغییر دهید.

freepbx-to-freepbx-iax2-6

Route Name : InterOfficetoSystem2

Route CID : YOURNUMBER

Route Type : CHECK Intra-Company

Dial Patterns : () + | 5X

() + | *۸۰۵X

() + *۸۱ | .

Trunk Sequence : System2

توضیح کوتاهی درباره Dial Patterns :

همان طور که در قسمت اول بیان شد در دفتر تهران داخلی های ۵۰ تا ۵۹ تعریف شده اند. بنابراین در خط اول Pattern این موضوع را به صورت ۵X مشخص کرده ام. برای اینکه بهتر این موضوع را متوجه شوید فرض می کنیم که محدوده داخلی های ما در دفتر تهران از ۵۰۰ تا ۵۹۹  باشد. بنابراین Pattern آن به این شکل خواهد بود : ۵XX

در خط دوم مشخص گردیده است که اگر کاربری ۸۰* را شماره گیری نمود و سپس داخلی بین ۵۰ تا ۵۱ را شماره گیری نمود ، تماس به سیستم دوم فرستاده خواهد شد.

CDR یا ثبت جزئیات تماس در الستیکس و ایزابل

در خط سوم اگر کاربری ۸۱* را شماره گیری نماید ، بعد از آن هر عددی که وارد کند سیستم ۸۱* را حذف و باقی را هر چه که باشد به سیستم دوم ارسال خواهد کرد.

ممکن است که در سناریوی شما برخی از داخلی هایی که در سیستم دوم وجود دارند ، در سیستم اول هم برای کاربران دیگری تعریف شده باشند یا به عبارتی دیگر محدوده داخلی ها تداخل داشته باشد. اگر چنین است دو خط اول را در Dial Patterns پاک کنید.

مرحله ۳ : تنظیم یک ترانک IAX2 بر روی سیستم دوم

در این قسمت همان تنظیماتی را که در مرحله ۱ بر روی سیستم اول انجام دادیم ، بر روی سیستم دوم نیز اعمال می نماییم. بعد از تنظیم Trunk Name ، username و secret به دلخواه ( با توجه به آن چه که در سیستم اول مقدار دهی شده است ) ،  در قسمت هاست ،  آی پی سیستم اول قرار داده خواهد شد. سایر موارد به شکل قبل هستند.

مرحله ۴ : تنظیم یک مسیر خروجی در سیستم دوم

تنظیمات مطابق توضیحات مرحله ۲ اعمال می گردد. توجه داشته باشید که به دلیل محدوده متفاوت داخلی ها در سیستم اول Pattern پیشنهادی برای این سناریو به صورت زیر خواهد بود و مواردی که در مرحله ۲ عنوان شدند در اینجا نیز صدق می کنند.

() + | ۴X

() + | *۸۰۴X

() + *۸۱ | .

در حال حاضر هر دو سرور FreePBX به یکدیگر متصل شده اند. ذکر چند نکته در پایان خالی از لطف نیست. در ترانک توسط پروتکل IAX2 شما نیازی به Port Forward و باز کردن هیچ پورتی ندارید. در حالی که در ترانک توسط SIP بایستی پورت های مربوطه باز شود. هرچند که ممکن است در بعضی کانفیگ های خاص نیاز به فوروارد پورت UDP 4569 بر روی NAT Gateway به سمت سرور را داشته باشید. اما در اجرای این سناریو با تنظیماتی که در بالا گفته شد نیازی نیست. اما اگر دو مورد Qualify  و Qualifyfreqok حذف شوند ، قطعا  باز کردن این پورت و Port Forwarding ضروری خواهد بود.

۳.۳ ۳ رای دادن
رای دادن به مقاله

نوید داریا

Experienced IT Specialist with a demonstrated history of working in the information technology and services industry. Skilled in VMware ESX, Domain Name System (DNS), DHCP, VoIP, Veeam Backup Solutions, Adobe Connect, Servers, and Data Center. Strong operations professional graduated from Amirkabir University of Applied Sciences and Technology. Now I am studying Informatics at Vienna University
اشتراک در
اشاره به موضوع
guest

6 کامنت
جدیدترین
قدیمی ترین نظرات با تعداد رای بالا
Inline Feedbacks
مشاهده همه کامنت ها
مجتبی
مجتبی
7 سال پیش

مهندس جان سلام ممنون از اموزش شما . فقط یک مورد . من در مورد پترن اول گیج شدم ..طبق الگوی شماره تهران (۵۰ تا ۵۹ ) اگر کاربر شیراز بخواد تهران رو بگیره .. میتونه مستقیم از پترن دوم استفاده کنه … و دیگه نیازی به پترن اول نداره ( برای داخلی ۲ رقمی )

مجتبی
مجتبی
در پاسخ به  نوید داریا
7 سال پیش

ممنون . فقط مورد دیگه اینه ک نباید برای دوسمت Inbond Route تعریف بشه ؟ این outbond برای تماس خروجی به سمت های متقابل هست .. برای ورود تماس هم فکر کنم باید روت ورودی تعریف بشه ..

علی
علی
7 سال پیش

سلام و خسته نباشید
چرا در توضیحات آخر سناریو فرمودین اگر ترانک از نوع IAX2 باشه نیاز به PORT FORWARDING نداره ولی در ترانک SIP نیازه؟

دکمه بازگشت به بالا