یکی از پرکاربرد ترین سناریو های VoIP، برقراری ارتباط میان دفاتر مربوط به یک سازمان می باشد. به کمک این تکنولوژی می توان هزینه های مربوط به ارتباطات تلفنی میان دفاتر را کاهش داد و بر محدودیت های جغرافیایی فایق شد. در ادامه یکی از این سناریو ها را بررسی می کنیم.
فرض کنید یک سازمان دارای دو شعبه در دو نقطه جغرافیایی متمایز می باشد. شعبه اول، به عنوان یکی از دفاتر اصلی، دارای یک سیستم تلفنی سانترال (PBX) و خطوط ارتباطی PSTN می باشد. در شعبه دوم، به دلیل نوع عملکرد آن، تنها ارتباط با دفتر اصلی مهم می باشد؛ در نتیجه برای کاهش هزینه ها، ممکن است هیچ گونه سیستم تلفنی برای این شعبه در نظر گرفته نشده باشد. اما یک لینک ارتباطی برای انتقال داده، استفاده از پایگاه داده مربوط به نرم افزار حساب داری، سیستم CRM، دوربین های مدار بسته و … میان این شعبه و دفتر اصلی وجود دارد. البته ممکن است این ارتباط به صورت لینک اختصاصی و یا اینترنتی باشد.
همانطور که مشاهده می شود، بهترین روش برای برقراری ارتباط تلفنی میان این دو شعبه، بهره مندی از لینک داده و انتقال خطوط با استفاده از تکنولوژی VoIP می باشد. در ادامه مراحل پیاده سازی این سناریو را شرح می دهیم.
به دلیل آن که بستر ارتباط تلفنی در شعبه اصلی به صورت آنالوگ می باشد، برای ارتباط با شبکه IP و انتقال تماس ها با استفاده از تکنولوژی VoIP نیاز به یک مبدل یا به عبارت بهتر گیتوی داریم. در این سناریو ما از گیت وی VEGA50 محصول شرکت SANGOMA استفاده می کنیم.
برای برقرای تماس از سمت دو شعبه به یکدیگر باید یک لینک ارتباطی میان PBX و گیتوی در شعبه اصلی برقرار کرد. برای برقراری این لینک دو طرفه، دو راه حل وجود دارد:
گام ابتدایی در این مرحله، پیدا کردن آدرس IP گیت وی برای ورود به صفحه تنظیمات دستگاه است؛ از دو روش زیر این کار قابل انجام است:
آدرس IP گیت وی را در مرورگر وارد می کنیم و به صفحه تنظیمات دستگاه وارد می شویم. نام کاربری و کلمه عبور به طور پیش فرض admin است.
پس از اینکه صفحه تنظیمات گیت وی بارگذاری شود صفحه Status را مشاهده خواهید کرد. همان طور که در شکل زیر مشاهده می کنید، صفحه Status حاوی مشخصات دستگاه، تعداد تماس های برقرار شده، ترانک ها، ساعت، تنظیمات مربوط به شبکه و … می باشد.
در قسمت قبل سناریو و هدف آن را بیان کردیم و تنظیمات مربوط به PBX در شعبه اصلی را نیز انجام دادیم. در این قسمت با ادامه تنظیمات مربوط به گیتوی، سناریو فوق را تکمیل می نماییم.
تنظیمات Vega50
گام دوم :
قسمت Quick Config:
این قسمت شامل ۴ زیر بخش است که در این قسمت تنها به بررسی Basic Config می پردازیم و تنظیمات مربوط به FXS و FXO را از طریق Expert Config دنبال می کنیم.
Basic Config
تنظیمات مربوط به کشور (شناسایی Tone های خطوط تلفن) و شماره های ضروری مانند ۹۱۱ در این قسمت انجام می شود.
همچنین برای حالتی که به هر دلیلی، دستگاه به صورت خودکار IP نمی گیرد ( مانند وقتی که سرویس DHCP نداریم) و یا بخواهیم به صورت دستی IP را تنظیم کنیم، مراجعه به این قسمت الزامی است.
گام سوم:
پس از بررسی اجمالی Quick Config نوبت به بررسی Expert Config می رسد.
یکی از بخش های مهمی که در شناسایی مشکل و دیباگ کردن به ما کمک می کند، قسمت Logging می باشد. هرگاه که تماس مورد نظر برقرار نشد، حتماً به این قسمت مراجعه کرده تا مشکل را شناسایی کنیم. برای دیدن Log دستگاه بر روی Show event log کلیک کنید. برای دیدن آخرین Log ها به سطر آخر صفحه Log مراجعه نمایید.
Dial Plan
این قسمت یکی از مهمترین بخش های مربوط به تنظیمات گیت وی است و برای تعیین مسیر دهی تماس های ورودی و خروجی استفاده می شود.
با توجه به سناریوی مورد بررسی، دو پروفایل با نام های زیر در این قسمت اضافه کردیم :
- TO_SIP : مدیریت تماس های ورودی اینترفیس SIP
- TO_FXO : مدیریت تماس های ورودی به اینترفیس FXO
اما قبل از بررسی قسمت های دیگر، لازم به ذکر است که اینترفیس های مختلف گیت وی Vega50 بازه های مختلفی دارند. همانطور که در شکل زیر می بینید برایFXO شماره پورت های ۰۲۰۱ و ۰۲۰۲ و … و برای SIP شماره های ۹۹۰۱و ۹۹۰۲ و … را استفاده می کنیم.
نحوه نوشتن Dial Plan :
گیت وی های Vega50 قابلیت ذخیره ۲۰۰ عدد Dial Plan را دارند که به منظور مدیریت و نیز استفاده راحت تر امکان گروه بندی و ذخیره سازی به عنوان پروفایل را نیز دارند. همچنین این گیت وی ها قابلیت ذخیره سازی تا ۲۰ عدد پروفایل را دارند.
ورودی های Dial Plan از دو بخش زیر تشکیل شده اند :
- Source: تماس هایی که از طریق اینترفیس (IF: ) و از شماره تماس (TEL: ) وارد گیت وی می شوند.
- Destination: تماس هایی که قرار است از اینترفیس (IF: ) و به شماره تماس (TEL: ) از گیت وی خارج شوند.
*این نکته نیز باید ذکر شود که در صورت عدم تعریف Dial Plan تماس قطع می شود.
ورودی های Dial Plan توسط Token ها تعریف می شوند که عبارتند از: (حروف Token باید حروف بزرگ انگلیسی باشند.)
پروفایل ها را می توان با کلیک بر روی Modify تغییر داد. این قسمت دارای ستون های زیر می باشد :
- Del? : پاک کردن plan مورد نظر (ابتدا تیک آن را بزنید سپس دکمه submitرا برای اعمال تغییرات بزنید.)
- Plan ID : ID یا شماره Plan مورد نظر
- Name : نام Plan مورد نظر
- Source: تماس ورودی
- Destination: تنظیمات مربوط به مسیر یابی تماسی که به گیت وی رسیده است
- Cost: میزان اولویت plan. در صورتی که قوانین یکسانی تعریف شده باشند اولویت اجرایی با Plan با Cost کمتر است.
- Group: گروهی که plan در آن عضویت دارد را مشخص می کند.
مثال : با توجه به شکل زیر، اگر تماسی با شماره “۲″ از FXO2 با شماره پورت ۰۲۰۲ به گیت وی برسد، طبق قوانین نوشته شده در قسمت Destination، این تماس را از اینترفیس ۹۹۰۱ که مربوط به SIP است به شماره تلفن ۱۲۰ می فرستد.
مثال : در Plan شماره ۳، در صورتی که تماس از اینترفیس ۰۲۰۲ ( (IF:0202) مربوط به FXO دوم است) و از شماره تماس ۱۱۷ به گیت وی برسد، این تماس را از اینترفیس ۹۹۰۱ مربوط به SIP به همان شماره تلفن گرفته شده و به آدرس ۱۹۲٫۱۶۸٫۱٫۱۶۶ بفرست.
در شکل زیر Dial Plan مربوط به تماس های ارسالی از سمتIP Phone های شعبه دوم به سیستم PBX دفتر اصلی، تعریف شده است. Plan شماره ۲ (FXO_2) این گونه تفسیر می شود که هر تماسی که از ۹۹۰۱ (پورت مربوط به SIP) با هر شماره ای آمد، از پورت ۰۲۰۲ به همان شماره تلفن بفرست.
در قسمت بعد این تنظیمات را ادامه می دهیم.
در قسمت دوم تنظیمات اصلی مربوط به گیت وی Vega50 را با هم بررسی کردیم. در این قسمت سایر تنظیمات مربوط به گیت وی و IP Phone ها را انجام می دهیم.
تنظیمات Vega50
گام چهارم :
SIP
در صورتی که اکانت SIP فعال نشده باشد و یا به درستی ساخته نشده باشد، تماس برقرار نمی شود. علت این امر خارج نشدن تماس از گیت وی است. این موضوع را از Log، طبق شکل زیر استخراج می کنیم.
همانطور که در شکل بالا ملاحظه می فرمایید، در سطر آخر Log، این طور بیان شده که تماسnon-proxy از آدرس (۱۹۲٫۱۶۸٫۱٫۱۶۶) آمده است. برای حل این مشکل دو راه داریم:
۱–ایجاد اکانت SIP
برای این کار باید به قسمت SIP در تنظیمات Vega50 رفته و یک پروفایل SIP بسازید. در منوی SIP وارد قسمت Authentication شده و اکانت جدیدی ایجاد می کنیم . (در صورتی که اکانت از قبل وجود داشته باشد می توان همان اکانت را Modify کرد.) به قسمت Modify آن رفته و آدرس Local Domain آن را به ۱۹۲٫۱۶۸٫۱٫۱۶۶ (که آدرس IP Phone است) تغییر می دهیم.
برای ساخت اکانت SIP ابتدا باید یک Authentication User ساخته شود تا هر کاربر غیر مجاز اجازه رجیستر شدن و برقراری تماس نداشته باشد.
سپس در قسمتRegistration اکانت تعریف شده را به ترانک مورد نظر تخصیص می دهیم و تیک Enable Registration را می زنیم.
برای اطلاع از اکانت های رجیستر شده می توان به قسمت Show Registration مراجعه کرد.
همچنین علاوه بر تغییرات بالا باید به قسمت SIP PROFILE PROXY هم رفته و آدرس ۰٫۰٫۰٫۰ (که به صورت پیش فرض ست شده) را به آدرس IP Phone تغییر دهیم.
۲–برقراری تماس ها به صورت Non-proxy
برای این کار باید طبق شکل زیر تیک Accept Non-Proxy Invites را بزنید. این باعث می شود تا تماس ها بدون نیاز به Registration پاسخ داده شوند.
در نهایت برای تست، با گرفتن شماره “۱۱۷″ از روی IP Phone همان طورکه در شکل دیده می شود، از درستی تنظیمات مطمئن می شویم.
تنظیمات مربوط به IP Phone
به منظور برقراری ارتباط در شعبه دوم، دو گزینه پیش روی ماست:
۱٫استفاده از IP Phone
2. استفاده از Soft Phone
حالت اول هزینه ی بیشتری نیاز دارد ولی مستقل از سایر تجهیزات می باشد ولی اگر در این شعبه کاربران PC داشته باشند می توان از Soft Phone استفاده کرد که هزینه ای ندارد.
در حالت دوم باید در انتخاب نوع Soft Phone دقت کرد. برای مثال، اگر Zoiper استفاده شود، برای برقراری تماس نیازمند رجیستر شدن اکانت می باشد، که در این صورت نیاز به IP-PBX داریم. اما در نرم افزاری همچون Eyebeam این قابلیت وجود دارد که برای برقراری تماس نیازی به رجیستر شدن اکانت نباشد. ما در این سناریو از IP Phone استفاده کرده ایم.
در گام اول برای ورود به صفحه تنظیمات IP Phone کافی است IP دستگاه را در مرورگر وارد کرده، سپس عملیات لازم را به صورت زیر انجام دهیم.
Username: root Password: root
لازم به ذکر است که در این سناریو شماره تلفن ۱۲۰ را به IP Phone اختصاص داده ایم.
در این قسمت قصد داریم تماس هایی که توسط IP Phone گرفته می شود را به سمت گیت وی بفرستیم تا از طریق گیت وی و Dial Plan نوشته شده در آن، تماس ها به شماره مورد نظر در PBX موجود در دفتر اصلی، برقرار شود.
لذا برای اجرای این هدف به قسمت Dial Plan تلفن می رویم.
Dial Plan نوشته شده را بدین صورت تفسیر می کنیم: «اگر شماره ۱۱۷ گرفته شد، این تماس را به آدرس ۱۹۲٫۱۶۸٫۱٫۱۹۳ (که آدرس IPگیت وی می باشد) ، بفرست »
البته شماره تلفن “۵″ هم به عنوان تست، تعریف شده است که جلوتر به آن اشاره می کنیم. همچنین امکان تعریف الگوی خاص شماره گیری نیز وجود دارد. یعنی :
«اگر شماره گرفته سه رقمی بوده و با ۱ شروع شده باشد، این تماس را به آدرس ۱۹۲٫۱۶۸٫۱٫۱۹۳ (که آدرس IPگیت وی می باشد) ، بفرست ».
توجه : این نوع تعریف، به ساختار شماره های داخلی سانترال مربوط می شود؛ در این سناریو فرض بر این است داخلی های سانترال در بازه ۱۰۰ الی ۱۲۰ قرار دارند.
در مرحله بعد، با توجه به Dial Plan نوشته شده در گیت وی، با این تماس رفتار می شود که در ادامه به آن اشاره می شود.
نکته : از کاربردهای اصلی Dial Plan در حالتی است که نیاز به تماس مستقیم بین دو IP Phone داریم؛ در واقع برای هر شماره تماس، یک رول تعریف می کنیم برای مثال «اگر شماره x گرفته شد، آن تماس را به مقصد y بفرست.»
پس از پایان این تنظیمات، هر یک از شعب می توانند به داخلی های یکدیگر تماس برقرار کنند. در قسمت های بعد حالتی را بررسی می کنیم که در شعبه دوم یک IP-PBX وجود داشته باشد.
در سه قسمت قبلی، گام های پیاده سازی سناریوی ارتباط میان دفاتر یک سازمان را در حالتی که در یکی از دفاتر هیچ گونه سیستم تلفنی وجود نداشت، بررسی کردیم و سعی کردیم تمام تنظیمات مربوطه را شرح دهیم. در این قسمت قصد داریم حالتی را بررسی کنیم که در شعبه دوم سیستم تلفنی مبتنی بر IP یا همان IP-PBX وجود داشته باشد.
حالت دوم : یک IP-PBX در شعبه دوم وجود دارد.
فرض کنید که در شعبه دوم، بر اساس نیاز یک سیستم تلفنی IP-PBX راه اندازی شده است. حال می خواهیم سناریوی مورد بررسی در قسمت های قبل را، در این حالت نیز شرح دهیم.
روند کار مشابه حالت قبل می باشد، با این تفاوت که به جای ارتباط مستقیم میان IPPhone ها با گیت وی، IP-PBX مبتنی بر استریسک به گیت وی متصل بوده و Softphoneها و IPPhone نیز به IP-PBX متصل هستند. در واقع می خواهیم ارتباط بین یک Softphone را با داخلی های شعبه اصلی، برقرار کنیم. برای این منظور، مراحل ذیل را دنبال می کنیم:
تنظیمات مربوط به PBX
- اتصال کابل FXS از PBX به FXO روی گیت وی
تنظیمات مربوط به استریسک
تنظیمات مربوط به Vega50
تنظیمات مربوط به IP Phone
تنظیمات مربوط به PBX مشابه تنظیمات قبلی است.
تنظیمات مربوط به استریسک (IP-PBX)
در این گام برای ارتباط میان گیت وی و IP-PBX، باید یک ترانک از نوع SIP میان این دو تعریف گردد. برای تعریف این ترانک در استریسک، در فایل sip.conf (که حاوی تنظیمات ترانک های ایجاد شده در استریسک است) یک اکانت SIP ایجاد می کنیم.
cd /etc/asterisk<
nano sip.conf<
در فایل sip.conf، یک ترانک با شماره ۱۰۰ و رمز عبور دلخواه ایجاد کرده و Context مربوط به آن را به دلخواه LocalSets تعریف می کنیم و در ادامه در فایل extensions.conf آن را فراخوانی می کنیم. همانطور که مشاهده می کنید در خط آخر فایل sip.conf ذکر شده که تمامی تماس های ناامن را قبول کن (insecure=invite). این کار صرفاً به دلیل تست می باشد. در صورتی که نیاز به پیاده سازی عملی و اجرایی دارید، برای بالا بردن امنیت سیستم باید نام کاربری و رمز عبور تعریف کنید.
[۱۰۰]
type=friend
context=LocalSets
username=100
****=secret
host=dynamic
nat=force_rport,comedia
dtmfmode=auto
disallow=all
allow=g722
allow=ulaw
allow=alaw
<callerid=”Soft Phone” <100
insecure=invite
==============================;
در این قسمت، یک ترانک بین گیت وی و سیستم تلفنی IP-PBX با شماره ۰۱۰۱ تعریف می کنیم.
[۰۱۰۱]
type=friend
context=LocalSets
username=0101
*****=secret
host=dynamic
;nat=force_rport,comedia
dtmfmode=auto
disallow=all
allow=g722
allow=ulaw
allow=alaw
با کلید های Ctrl+X آن را ذخیره می کنیم.
گام بعدی تغییر فایل extensions.conf به صورت زیر است:
nano extensions.conf
طبق دستورات زیر، برای این که تماس با گیت وی برقرار شود باید با شماره ها با پیش شماره ۸ گرفته شوند. برای مثال برای ارتباط با داخلی ۱۱۷ در شعبه اصلی، باید شماره ۸۱۱۷ از شعبه دوم، گرفته شود تا طبق Dial Plan تعریف شده در استریسک از رقم اول به بعد آن از طریق ترانک ۰۱۰۱ به گیت وی فرستاده شود.
در انتها هم این طور تعریف کرده ایم که افرادی که در دفتر اصلی هستند، برای تماس با داخلی های موجود در شعبه دوم، بعد از ارتباط با گیت وی باید شماره داخلی مورد نظر را شماره گیری نمایند.
[LocalSets]
({exten => _8XXX,1,Dial(SIP/0101/${EXTEN:1
(exten => 100,1,Dial(SIP/100
(exten => 101,1,Dial(SIP/101
مراحل رجیستر کردن در VEGA50
برای تعریف ترانک در گیت وی نیز همچون تعریف یک اکانت SIP که در قسمت های قبل شرح داده شد، عمل می کنیم. یعنی به قسمت SIP در تنظیمات Vega50 رفته و یک پروفایل SIP بسازید. در منوی SIP وارد قسمت Authentication شده و اکانت جدیدی ایجاد می کنیم . (در صورتی که اکانتی از قبل وجود داشته باشد می توان همان را Modify کرد.) به قسمت Modify آن رفته و آدرس Local Domain آن را به آدرس IP-PBX تغییر می دهیم.
همچنین علاوه بر تغییرات بالا باید به قسمت SIP PROFILE PROXY هم رفته و آدرس ۰٫۰٫۰٫۰ که به صورت پیش فرض ست شده را به آدرس IP-PBX تغییر می دهیم.
حال نوبت به نوشتن Dial Plan های گیت وی می رسد. البته به علت وجود استریسک، Dial Plan هایی که سمت استریسک نوشته ایم، کفایت می کند.
در این قسمت طبق Dial Plan زیر، هر تماسی که از طریق FXO2 وارد گیت وی شود از اینترفیس ۹۹۰۱، به سمت همان شماره خارج می شود. به عنوان مثال از دفتر اصلی برای تماس به داخلی ۱۰۰ در شعبه دوم، باید ابتدا شماره ۱۵۱ را از داخلی شعبه اول گرفته، وقتی که به گیت وی متصل شد، شماره ۱۰۰ را بگیریم که تماس برقرار شود.
مراحل رجیستر کردن و ساخت اکانت در Zoiper
همانطور که مشاهده شد در فایل sip.conf ، یک داخلی SIP تعریف کردیم تا بتوانیم از روی Soft Phone در سیستم IP-PBX رجیستر شویم.
در Soft Phone به قسمت Setting رفته، همانند شکل زیر عمل می کنیم :
حال اگر شماره ۸۱۱۷ را توسط Soft Phone شماره گیری کنیم، داخلی ۱۱۷ روی PBX در شعبه اصلی زنگ می خورد.
Zoiper بر روی گوشی IPhone
در انتها برای تست بیشتر، نرم افزار Zoiper را بر روی IPhone نیز تست کردیم. برای این کار بعد از نصب Zoiper بر روی گوشی بدین ترتیب باید تنظیمات لازمه را انجام دهیم.
به قسمت Accounts رفته و بعد از کلیک بر روی علامت + یک اکانت جدید ایجاد می کنیم. لازم به ذکر است که اکانت ساخته شده از نوع SIP است.
حال در این قسمت باید اطلاعات مربوط برای رجیستر کردن اکانت ساخته شده را وارد کنید.
پس از رجیستر شدن، به راحتی می توانید تماس میان دو شعبه برقرار کنید بدون آن که هزینه ای برای شما داشته باشد. چرا که شما از طریق لینک دیتای موجود و با استفاده از VoIP تماس برقرار کرده اید. همانطور که دیده می شود، VoIP به راحتی محدودیت روش های رایج و سنتی را حذف می کند و امکان توسعه و تغییر هرچه بیشتر را برای شما فراهم می کند.