...
Menu بستن

Asterisk چیست؟ معرفی جامع و آموزش راه‌اندازی سیستم تلفنی متن‌باز [ویدئو][زیرنویس]

فهرست مطالب

Asterisk

معرفی Asterisk: قدرت ارتباطات متن‌باز را در دستان خود بگیرید

یکی از نام‌هایی است که در دنیای مخابرات و پروژه‌های متن‌باز زیاد شنیده می‌شود. اما Asterisk دقیقاً چیست و چرا تا این حد مورد توجه قرار گرفته است؟ در این مقاله قصد داریم اصول اولیه Asterisk، معماری آن، Dial Plan و قابلیت‌های گسترده‌ای که ارائه می‌دهد را بررسی کنیم. اگر به دنبال درک مفاهیم پایه‌ای Asterisk هستید، جای درستی آمده‌اید.

مشاهده ویدئو بر روی بستر یوتوب

 

متن ویدئو

Asterisk چیست؟

بسیاری Asterisk را به‌عنوان یک PBX (Private Branch Exchange) می‌شناسند، اما این تعریف تنها بخش کوچکی از قابلیت‌های آن را نشان می‌دهد. Asterisk یک پلتفرم ارتباطی متن‌باز است، به این معنا که کد منبع آن در دسترس عموم قرار دارد و امکان تغییر و توزیع مجدد آن برای همه فراهم است. برخلاف نرم‌افزارهای تجاری که تحت مالکیت یک شرکت خاص هستند و هزینه‌های بالایی برای سفارشی‌سازی دارند، Asterisk با پشتیبانی از جامعه‌ای گسترده از توسعه‌دهندگان، امکان بهبود و توسعه‌ی مداوم را فراهم می‌کند.

Asterisk در سال ۱۹۹۹ توسط “Mark Spencer” توسعه یافت و از سال ۲۰۰۴ تاکنون، نسخه‌های جدید آن به‌صورت مداوم منتشر شده‌اند. این پلتفرم از کاربردهای مختلفی مانند تماس‌های صوتی، کنفرانس‌های ویدیویی و پیام‌رسانی پشتیبانی می‌کند و ابزاری قدرتمند برای ایجاد راهکارهای سفارشی ارتباطی محسوب می‌شود.

معماری Asterisk

درک معماری Asterisk برای افرادی که قصد توسعه یا مدیریت یک سیستم مبتنی بر Asterisk را دارند، بسیار مهم است. این معماری به‌صورت ماژولار طراحی شده است، مشابه سیستم‌عامل لینوکس، به‌طوری که هسته‌ی اصلی تنها وظایف اساسی را مدیریت می‌کند و قابلیت‌های اضافی از طریق ماژول‌ها اضافه می‌شوند.

عملکردهای اصلی

هسته‌ی Asterisk وظایف زیر را بر عهده دارد:

  • مدیریت ماژول‌ها: بارگذاری و حذف ماژول‌های مختلف
  • خواندن فایل‌های تنظیمات: پردازش و اعمال تنظیمات از فایل‌های پیکربندی
  • مدیریت تایمینگ و کانال‌ها: هماهنگی و مدیریت کانال‌های ارتباطی

ماژول‌ها

ماژول‌ها قابلیت‌های مختلفی را به سیستم Asterisk اضافه می‌کنند. این ماژول‌ها شامل درایورهای کانال (مانند sip و pjsip) و برنامه‌هایی برای ویژگی‌هایی مانند صندوق صوتی و صف تماس هستند. هر ماژول یک فایل اجرایی مستقل است که می‌تواند به‌صورت پویا بارگذاری یا حذف شود و این امر امکان سفارشی‌سازی بالایی را فراهم می‌کند.

فایل‌های پیکربندی

Asterisk از فایل‌های متنی ساده برای تنظیمات استفاده می‌کند که معمولاً در مسیر /etc/asterisk قرار دارند. برخی از فایل‌های مهم عبارتند از:

  • extensions.conf: برای تنظیم Dial Plan
  • pjsip.conf: برای تعریف نقاط پایانی SIP
  • chan_dahdi.conf: برای مدیریت کارت‌های آنالوگ و دیجیتال

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

نصب Asterisk

Asterisk را می‌توان از طریق سورس کد، مخازن بسته‌ها یا توزیع‌های از پیش پیکربندی شده نصب کرد.

نصب از سورس کد

این روش بیشترین انعطاف‌پذیری را ارائه می‌دهد و امکان سفارشی‌سازی بالا را فراهم می‌کند.

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
tar -xzf asterisk-16-current.tar.gz
cd asterisk-16.*
./configure
make
make install

نصب از مخازن بسته‌ها

این روش نصب را ساده‌تر می‌کند و از طریق مدیر بسته‌های apt یا yum انجام می‌شود.

sudo apt-get update
sudo apt-get install asterisk

استفاده از توزیع‌های آماده

برخی از توزیع‌ها مانند FreePBX و Elastix همراه با Asterisk از پیش نصب‌شده عرضه می‌شوند و تنظیمات پیش‌فرض را برای کاربران فراهم می‌کنند.

پیکربندی Endpoints در Asterisk

پس از نصب Asterisk، مرحله‌ی بعدی پیکربندی نقاط پایانی (Endpoints) است که می‌توانند شامل تلفن‌های سخت‌افزاری SIP یا کلاینت‌های نرم‌افزاری باشند. در Asterisk، pjsip جایگزین chan_sip به‌عنوان درایور اصلی SIP شده است.

تنظیمات اولیه pjsip

در فایل pjsip.conf می‌توان نقاط پایانی، احراز هویت و تنظیمات ارتباطی را مشخص کرد:

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0

[۶۰۰۱]
type=endpoint
context=from-internal
disallow=all
allow=ulaw
auth=6001
aors=6001

[۶۰۰۱]
type=auth
auth_type=userpass
password=your_password
username=6001

[۶۰۰۱]
type=aor
max_contacts=1

ایجاد یک Dial Plan ساده

Dial Plan هسته‌ی اصلی مدیریت تماس‌ها در Asterisk است و در فایل extensions.conf پیکربندی می‌شود.

مثال ساده

[default]
exten => 100,1,Answer()
 same => n,Wait(1)
 same => n,Playback(hello-world)
 same => n,Hangup()

این Dial Plan تماس‌های ورودی به داخلی ۱۰۰ را پاسخ داده، پس از یک ثانیه فایل صوتی “hello-world” را پخش کرده و سپس تماس را قطع می‌کند.

کاربردهای Asterisk در دنیای واقعی

Asterisk به‌دلیل انعطاف‌پذیری بالای خود در سناریوهای مختلفی مورد استفاده قرار می‌گیرد:

  • سیستم‌های تلفنی کسب‌وکارهای کوچک و متوسط
  • کاهش هزینه‌ی تماس بین دفاتر مختلف (Toll Bypass)
  • سرور ویژگی‌های پیشرفته برای PBXهای سنتی

جمع‌بندی

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

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest

0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها