مجتبی کریمی
متخصص شبکه و زیرساخت

آموزش راه اندازی Enterprise Voice در لینک سرور | Lync Server

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

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

نرم افزار Microsoft Lync یکی از راهکار های محبوب در این زمینه است. البته برخلاف نرم افزار Elastix ، که برای مقایس های کوچک و متوسط پیشنهاد می شود، Microsoft Lync بیشتر برای شبکه های در مقایس متوسط و بزرگ برای استفاده پیشنهاد می شود.

این نرم افزار قابلیت های بسیار زیادی را در زمینه Collaboration در اختیار ما قرار می دهد ، همچنین در کنار این ، تعامل و سازگاری بسیار خوب این سرویس با سایر سرویس های شبکه مایکروسافت مانند Microsoft Active Directory Domain Serveries و Microsoft Exchange Server باعث شده در محیط هایی که سرویس های نام برده پیاده سازی شده اند ، از انتخاب های اصلی مهندسین شبکه در پیاده سازی Unified Communication قرار بگیرد. در زیر شما می توانید برخی از قابلیت های این نرم افزار را مشاهده کنید:

  • امکان پیام رسانی آنی (Instant Messaging ) و تعامل با سرویس های چت محبوب عمومی مانند Jabber از طریق XMPP
  • راه اندازی چت روم ها و بحث های مبتنی بر موضوع
  • امکان به اشتراک گذاری دسکتاپ و یا حتی نرم افزار ها
  • امکان Video Conferencing و Presentation
  • برقراری تماس های صوتی و تصویری درون شبکه ای و برون شبکه ای
  • تعامل با Exchange Server به منظور ثبت Voice Mail
  • ابزار های مانیتورنگ و گزارش گیری
  • امکان اشتراک گذاری فایل آسان برای کاربران
  • راه کارهای DLP برای جلوگیری از از دست دادن اطلاعات مهم
  • امکان پیاده سازی راهکار های High Availability
  • و غیره


در این مقاله آموزشی قصد آموزش پیاده سازی این سرویس را نداریم و فرض می شود که شما این سرویس را در محیط آزمایشی خود پیاده سازی کرده اید و در واقع هدف در این جا، آموزش پیاده سازی Enterprise Voice است. به جرات می توانم بگوییم که در میان سایت های فارسی ، این اولین مقاله آموزشی در این زمینه است.

مفاهیم و اصطلاحات در Enterprise Voice

برای کسانی که به دنیای VoIP آشنایی ندارند و یا تازه وارد این زمینه شده اند، اصطلاحات تخصصی مربوطه می تواند باعث سردرگمی شدید شود. پس قبل از اینکه وارد مبحث اصلی شویم، بهتر است با لغات و اصطلاحاتی که بعد ها به آن ها برخورد می کنیم آشنا شویم.

  • PSTN : مخفف Public Switched Telephony Network است. در واقع به زبان ساده همان بستر سنتی که ما هر روزه تماس های تلفنی خود را با آن برقرار می کنیم. یکی از بخش های مهم هر سیستم تلفنی مبتنی بر VoIP برقرای ارتباط با PSTN برای برقرای ارتباط با سایرین است.
  • PBX : مخفف Private Branch Exchange است. در کشور ما به این سیستم ها سانترال می گویند، در واقع با استفاده از سیستم های PBX که به صورت آنالوگ کار می کنند ما تماس های داخلی را مدیریت می کنیم. امروز به سیستم هایی که مبتنی بر VoIP کار می کنند، IP-PBX گفته می شود.
  • PSTN Gateway : برای ارتباط با PSTN یا سیستم های سنتی ما نیاز به یک Gateway داریم تا سیگنال های آنالوگ را به دیجیتال تبدیل کنید. این دستگاه دقیقا همین کار را می کند. البته کارت های FXO/FXS هم کارایی مشابه را دارند.
  • Mediation Server : یکی از نقش ها در Microsoft Lync است که وظایف برقرای ارتباط با VoIP Gateway و مسیریابی و مدیریت تماس ها را بر عهده دارد و یکی از اجزای بسیار مهم در توپولوژی Microsoft Lync است.
  • Trunk : به زبان ساده همان لینک ارتباطی بین Mediation Server و VoIP Gateway است.
  • CMS : با آن CMS معروف وردپرس و جومولا اشتباه نگیرد. مخفف Central Management Store است. پایگاه داده ای که شامل تمامی اطلاعات توپولوژی و تنظیمات Microsoft Lync است. در گذشته مایکروسافت همانند Microsoft Exchange از Active Directory برای ذخیره سازی اطلاعات مربوط به این سرویس استفاده می کرد اما نیازمند بودن Lync به همگام سازی بالا و پایین بودن سرعت Active Directory در فرآیند Replication باعث شد ، مایکروسافت در یک حرکت پسندیده به استفاده از SQL Server برای ذخیزه سازی این اطلاعات روی آورد. در حاشیه ، به گفته تیم Exchange ، آن ها هنوز ترجیح می دهند از Extensible Storage Engine یا JetBlue به عنوان موتور پایگاه داده استفاده کنند.
  • Topology Builder : جایی که همان طور که از اسمش پیداست، اطلاعات توپولوژی را تنظیم می کنید. در واقع شما توپولوژی Lync را با این نرم افزار طراحی کرده ( مانند سایت ها، GW ها و ...) و سپس آن را در CMS به اصطلاح Publish می کنید. این اطلاعات در یک فایل، به فرمت مورد علاقه مایکروسافت یعنی XML ذخیره شده و شما برای پیاده سازی Role ها و سرویس های مربوط به Lync نیازمند آن هستید.

این اطلاعات، فکر می کنم برای شروع مناسب باشد. در قسمت بعدی این سری مقالات به صورت عمیق تر به مسایل مربوط به Enterprise Voice می پردازیم.

Enterprise Voice چیست؟

حتما برای شما این سوال پیش آمده باشد چرا مایکروسافت برای VoIP از این عبارت استفاده می کند. خب پاسخ به این سوال آسان است. از آن جایی که مایکروسافت قصد پیچیده کردن فرآیند پیاده سازی Lync را نداشته است، پس در حرکتی بسیار پسندیده، این قابلیت را قرار داده است تا بدون نیاز به ایجاد تنظیماتی ، کاربران بتوانند با یکدیگر تماس صوتی و تصویری برقرار کنند.

به زبان ساده تر ، شما پس از نصب Lync ، بدون هیچ تنظیماتی ، کاربران می توانند به صورت داخلی بدون نیاز به ایجاد داخلی و مواردی از دست این با هم تماس برقرار کنند( همچنین از طریق اینترنت اگر فرآیند انتشار این سرویس را انجام داده باشید). در حقیقت ، کاربرانی که این قابلیت را دارن به اصطلاح PC-to-PC می گویند.

اما در صورتی که شما نیاز به برقراری تماس ، خارج محدوده سازمان خود داشته باشید، باید وارد فرآیند پیاده سازی Enterprise Voice بشوید تا کاربران بتوانند از طریق خطوط PSTN تماس ارسال و دریافت کنند. کاربرانی که Enterprise Voice Enabled هستند در واقع قابلیت برقراری تماس های خارجی را دارند.

برای فعال سازی Enterprise Voice برای یک کاربر وارد قسمت Clients در Lync Control Panel می شویم. کاربر را انتخاب می کنیم و در قسمت گزینه Enterprise Voice را فعال می کنیم. سپس برای کاربر مورد نظر باید یک داخلی اختصاص دهیم. دقت کنید داخلی تعریف شده باید مانند این فرمت باشد : tel:+982165254806;ext:101 . به این فرمت E.164 گفته می شود که جلوتر مفصل به ان خواهیم پرداخت. در تصویر زیر شما تنظیمات مربوط به فعال کردن Enterprise Voice و تعریف داخلی را مشاهده می کنید:

Lync1

نرمال سازی شماره ها ( Number Normalization ) چیست؟

نرمال سازی شماره ها به این معناست که تمامی شماره های تلفن داخلی ، شهری و ... را به گونه ای تغییر دهیم تا به صورت یک فرمت واحد در آید. البته Lync Server این توانایی را دارد که بدون این شماره های نرمال نشده کار کند. اما پیشنهاد شده است تا شماره ها را به فرمت E.164 در آوریم.( بشخصه در تمام اسناد و آموزش ها و کتاب ها این مورد را به صورت یک ضرروت دیده ام). این فرمت به شکل زیر است:

  • حداکثر 3 رقم برای کد کشور
  • 12 رقم دیگر برای شماره منحصر به یک کشور
  • برای مثال +155500123456 یک شماره به این فرمت است.

اگر تمام شماره ها در این فرمت بودند، Lync Server مشکلی نداشت اما در واقعیت این گونه نیست. بیشتر شماره ها بدون کد کشور ذخیره می شوند. برای حل این مشکل ، Lync Server دارای یکی سری قواعد نرمال سازی است تا برای مسیریابی تماس ها استفاده شود. برای طراحی یک Dial Plan مناسب ، باید بدانیم که کاربران ما چه شماره هایی را می گیرند.

برای مثال فرض کنید سازمان ما در تهران واقع است، پس کاربران برای گرفتن شماره های داخل تهران نیازی به کد استان تهران ندارند اما برای تبدیل این شماره های گرفته شده به فرمت استاندارد باید +9821 را به اول شماره اضافه کنیم. در صورتی که شماره های داخل کشور ما را می گیرند تنها باید عدد 0 را حذف و +98 را به شماره اضافه کنیم. در صورتی که با کشور آمریکا تماس می گیرند، کافیست در ابتدای شماره گرفته شده یک + اضافه کنیم. پس طراحی یک Dial Plan مناسب کاری کمی چالش برانگیز است.

این Dial Plan ها براساس قواعد نرمال سازی کار می کنند، همان طور که پیش تر ذکر شد، این قواعد نیز بر اساس Regular Expression ها هستند. شما نیازی به دانستن این Regular Expression ها نیستید چرا که مایکروسافت با ابزار هایی که قرار داده است روند طراحی این قواعد را آسان کرده است. در تصاویر زیر شما Dial Plan های موجود در سرور و قواعد نرمال سازی را مشاهده می کنید که بر طبق توضیحات بالا ساخته شده است:

Lync2


Lync3


Lync4

Voice Policy چیست؟

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

Lync5

Voice Routes چیست؟

اصلی ترین قسمت در تنظیمات Enterprise Voice همین قسمت مسیریابی تماس ها است. در واقع شما تعیین می کنید با توه به فرمت شماره گرفته شده ، Lync Server چگونه با تماس رفتار کند. معمولا سازمان ها سایت های مختلف در سطح کشور دارند و فرض بر آن است که ما در هر یک از این سایت ها ، یک Lync Server قرار داده ایم که به یک Gateway متصل بوده و ارتباط بین این سایت ها از طریق بسترهایی مانند MPLS برقرار است.

برای تماس هایی که مثلا کاربران ما از تهران به شیراز می گیرند دیگر نیاز نیست ما از خطوط PSTN استفاده کنیم چرا که می توانیم با مسیریابی مناسب ، این تماس ها را به Gateway موجود در سایت شیراز مان ارسال و از آن طریق این تماس برقرار شود که دیگر هزینه پرداخت تماس بین شهری را دیگر پرداخت نمی کنیم. در تصویر زیر مشاهده می کنید که ما دو Voice Route داریم که یکی توسط Lync Server به صورت خودکار ساخته شده است که ما کاری به آن نداریم اما دیگری را ما ساخته ایم و بیان کرده ایم که اگر شماره ای با عبارت عددی +989 اغاز شد، ان را به Gateway موجود در تهران بفرستد.

نکته: برای تماس ها Lync Server در ابتدا به پایگته داده شماره های داخلی خود رجوع می کند و سپس سراغ جدول مسیریابی تماس ها می رود.

Lync6


Lync7

Trunk Configuration یا تنظیمات ترانک

مهمترین نکته در این قسمت ، Number Translation است. معمئلا در سازمان ها با گرفتن عدد 9 یا 0 در ابتدا شماره تماس های خارجی برقرار می شود. این مفهوم را در Lync Server هم داریم. پس از نرمال سازی و مسیریابی تماس ، حال تماس به سمت Gateway منتقل می شود اما قبل از آن باید بر روی شماره گرفته شده توسط کاربر تغییراتی انجام شود تا تماس برقرار شود. پر واضح است که عدد 9 ابتدای شماره باید حذف شود.

این کار را در قسمت Translation rules ها را برای دو قسمت می نویسیم. یک Calling Number و دوم Called Number . Calling Number همان شماره کاربر سازمان است که شماره ای را می گیرد و Called Number شماره گرفته شده توسط کاربر است. دقت کنید که سیستم تلفنی عمومی در کشور ما مبتنی بر فرمت E.164 نیست ، پس ما باید تغییراتی در این شماره اعمال کنیم.برای شماره های داخلی ما باید عبارت عددی +98 را برداشته و یک صفر به ابتدای شماره اضافه کنیم.

برای شماره های گرفته شده توسط کاربران نیز باید عبارت عددی +989 را حذف کنیم. مثلا کاربر شماره ای می گیرد مانند 909121234567 و این شماره پس از نرمال سازی به فرمت +98909121234567 در می آید و در نهایت با برداشتن +989 به شکل 09121234567 در می آید. در تصاویر زیر تنظیمات ایجاد شده بر طبق توضیحات داده شده را مشاهده می کنید. دقت کنید ما به قسمت Global کاری نداریم.

Lync8


Lync9

PSTN Usage Record و Voice Test چه هستند؟

PSTN Usage Record تنها اطلاعاتی راجب به Voice Route و Dial Plan مربوط را به ما می دهد و به صورت خودکار تنظیم می شود. قسمت Voice Test هم به شما کمک می کند تا از صحت تنظیمات خود اطمینان حاصل کنید.

Lync10


Lync11

اما قسمت مهم دیگر اضافه کردن Gateway به توپولوزی Lync Server است. این کار را با Topology Builder انجام می دهیم. ابتدا وارد Topology Builder می شویم. سپس بر روی سایت مورد نظر کلیک کنید و در قسمت Shared Components بر روی برگه PSTN Gateways راست کلیک کنید تا وارد ویزارد اضافه کردن Gateway شوید. مراحل زیر را انجا دهید :

ابتدا FQDN ، Gateway خورد را وارد کنید. در قسمت بعد شما می توانید IPV6 را فعال کنید. قسمت سوم مهمترین قسمت است. بسته به برند Gateway شما باید تنظیمات پورت و پروتکل ارتباطی را به درستی انجام دهید. با پایان این ویزارد یک ترانک برای شما به صورت خودکار ساخته می شود.

Lync12


Lync13

نظرات