مقدمه
در دنیای ارتباطات مدرن، سیستمهای تلفنی تحت شبکه (VoIP) جایگزین سانترالهای سنتی شدهاند و امکان مدیریت تماسها را با هزینه کمتر و انعطاف بیشتر فراهم کردهاند. در قلب بسیاری از این سیستمها، نرمافزار قدرتمندی به نام Asterisk قرار دارد.
امروزه هزاران سازمان، شرکت و مرکز تماس در سراسر جهان از Asterisk برای مدیریت ارتباطات تلفنی خود استفاده میکنند. در این مقاله با مفهوم Asterisk، قابلیتها، مزایا و کاربردهای آن آشنا خواهیم شد.
استریسک (Asterisk) چیست؟
Asterisk یک نرمافزار متنباز (Open Source) برای راهاندازی و مدیریت سیستمهای تلفنی مبتنی بر IP است که توسط مارک اسپنسر توسعه داده شد. این نرمافزار میتواند یک سرور لینوکسی معمولی را به یک مرکز تلفن حرفهای (PBX) تبدیل کند.
Asterisk از پروتکلهای مختلف ارتباطی پشتیبانی میکند و امکان برقراری تماسهای داخلی، خارجی، صفهای تماس، ضبط مکالمات و بسیاری قابلیتهای دیگر را فراهم میسازد.
مهمترین قابلیتهای Asterisk
مدیریت داخلیها (Extensions)
با استفاده از Asterisk میتوان تعداد نامحدودی داخلی تعریف کرد و ارتباط بین کاربران را مدیریت نمود.
پشتیبانی از SIP Trunk
استریسک امکان اتصال به انواع اپراتورهای مخابراتی و ارائهدهندگان SIP Trunk را فراهم میکند.
صف تماس (Queue)
یکی از پرکاربردترین امکانات استریسک، مدیریت صف تماس برای مراکز تماس و واحدهای پشتیبانی است.
IVR یا منوی صوتی
با استفاده از IVR میتوان تماسگیرندگان را به بخشهای مختلف سازمان هدایت کرد.
ضبط مکالمات
تمامی تماسها میتوانند به صورت خودکار ذخیره و آرشیو شوند.
گزارشگیری تماسها
استریسک اطلاعات کاملی از تماسهای ورودی و خروجی را ثبت میکند که از طریق CDR قابل مشاهده است.
مزایای استفاده از استریسک
متنباز و رایگان
یکی از بزرگترین مزایای Asterisk رایگان بودن و دسترسی کامل به کدهای منبع آن است.
انعطافپذیری بالا
تقریباً هر سناریوی تلفنی را میتوان در استریسک پیادهسازی کرد.
توسعهپذیری نامحدود
برنامهنویسان میتوانند با استفاده از APIها و ابزارهای مختلف، قابلیتهای جدیدی به سیستم اضافه کنند.
جامعه کاربری گسترده
وجود مستندات فراوان و جامعه بزرگ کاربران باعث شده یادگیری و توسعه استریسک آسانتر شود.
معماری Asterisk
هسته اصلی استریسک از چند بخش مهم تشکیل شده است:
- Channels
- Dialplan
- Applications
- Codec Management
- Call Routing Engine
تمام تماسها پس از ورود به سیستم توسط Dialplan پردازش شده و بر اساس قوانین تعریف شده به مقصد مورد نظر هدایت میشوند.
Dialplan چیست؟
Dialplan مغز متفکر Asterisk محسوب میشود.
تمامی تماسهای ورودی و خروجی از طریق فایلهای Dialplan مدیریت میشوند و مدیر سیستم میتواند تعیین کند که تماسها چگونه پردازش شوند.
به عنوان مثال:
- انتقال تماس
- ضبط تماس
- اجرای IVR
- مسیریابی تماس
- ارتباط با بانک اطلاعاتی
همگی از طریق Dialplan قابل پیادهسازی هستند.
برنامهنویسی در Asterisk
یکی از مهمترین دلایل محبوبیت Asterisk قابلیت توسعه آن است.
برنامهنویسان میتوانند از ابزارهای زیر استفاده کنند:
AGI
امکان اجرای اسکریپتهای PHP، Python و سایر زبانها در حین تماس.
AMI
رابط مدیریتی استریسک برای کنترل و مانیتورینگ سیستم از طریق برنامههای خارجی.
ARI
رابط مدرن Asterisk برای توسعه اپلیکیشنهای تلفنی پیشرفته.
FastAGI
نسخه توسعهیافته AGI برای پردازش سریعتر درخواستها.
کاربردهای استریسک
Asterisk در طیف گستردهای از پروژهها مورد استفاده قرار میگیرد:
- مراکز تماس (Call Center)
- سیستمهای پاسخگویی خودکار
- سامانههای نوبتدهی
- شرکتهای خدماتی
- سازمانهای دولتی
- بانکها
- فروشگاههای اینترنتی
- سیستمهای ارتباطی سازمانی
Asterisk یا Issabel؟
بسیاری از کاربران این سوال را مطرح میکنند که تفاوت Asterisk و Issabel چیست؟
در واقع Issabel یک رابط مدیریتی گرافیکی است که بر پایه Asterisk ساخته شده است.
Asterisk هسته اصلی پردازش تماسها را بر عهده دارد، در حالی که Issabel مدیریت تنظیمات و امکانات را از طریق یک محیط گرافیکی سادهتر میکند.
به همین دلیل تمامی قابلیتهای Issabel در نهایت توسط موتور Asterisk اجرا میشوند.
جمعبندی
Asterisk یکی از قدرتمندترین و محبوبترین نرمافزارهای متنباز حوزه VoIP و مراکز تماس است. انعطافپذیری بالا، پشتیبانی از پروتکلهای مختلف، امکانات گسترده برنامهنویسی و قابلیت توسعه نامحدود باعث شده است که این نرمافزار به انتخاب اول بسیاری از شرکتها و سازمانها در سراسر جهان تبدیل شود.
اگر قصد راهاندازی یک مرکز تماس حرفهای، سیستم تلفنی سازمانی یا توسعه راهکارهای ارتباطی سفارشی را دارید، یادگیری Asterisk میتواند نقطه شروع بسیار مناسبی باشد.