VoIPدانشنامهشبکه و اینترنت

آموزش Asterisk

Asterisk چیست ؟

یک PBX نرم افزاری متن باز با تمام قابلیت های VoIP می باشد. این نرم افزار همچنین می تواند بدون استفاده از امکانات ویپ، جایگزین مناسبی برای مرکز تلفن سنتی نیز باشد. امروزه بیش از یک میلیون از نسخ مختلف این برنامه در بیش از ۱۷۰ کشور دنیا در حال استفاده می باشد.

مواردی از قابلیت های استریسک:

  • اتصال پرسنل شرکت به سیستم PBX از خانه
  • اتصال دفاتر شرکت به یکدیگر
  • فعال نمودن قابلیت Voicemail برای پرسنل
  • اتصال پرسنلی که در مسافرت های کاری حضور دارند به سیستم تلفنی شرکت و از طریق شبکه خصوصی
  • قابلیت هایی نظیر Music-on-hold، Call queues، Text-to-speech، CDR، Voice recognition و بسیاری دیگر از این دست ویژگی ها

تمام ویژگی هایی که انواع مراکز تماس تجاری به شما عرضه می نمایند و باید هزینه های زیادی را بابت آنها پرداخت نمایید، سیستم استریسک بصورت رایگان و کاملا مشابه آن به شما ارائه می نماید. همچنین استریسک علاوه بر نسخه متن باز رایگان، دارای نسخه تجاری نیز می باشد که قابلیت هایی نظیر text-to-speech و speech recognition را بصورت نسخه تجاری آن ارائه می نماید.

شرکت دیجیوم که پشتیبان اصلی این برنامه می باشد در زمینه مشاوره نرم افزاری برای نصب و نگهداری آن و همچنین ارائه مدرک حرفه ای استریسک نیز فعال می باشد.

تاریخچه

در سال ۱۹۹۹ آقای Mark Spencer زمانی که می خواست شرکت خود را با نام Digium ثبت و شروع به فعالیت نماید، با مشکلی مواجه بود!

او می خواست که یک سیستم PBX برای شرکت خود خریداری نماید که از قابلیت های voicemail و ارتباط بدون هزینه بین دفاتر برخوردار باشد، در نتیجه او می بایست در ابتدا هزینه گزافی را بابت خرید یک PBX تجاری پرداخت می نمود. ولی مارک اسپنسر نمی خواست این هزینه را پرداخت کند، بنابراین او خود مشغول به نوشتن کدهای یک برنامه برای انجام اینکار شد و در ۵ دسامبر ۱۹۹۹ توانست نسخه استریسک ۰.۱.۰ را منتشر نماید.

در طول چندین سال برنامه نویسان و کاربران بر روی کد این برنامه کار نمودند و ویژگی های متنوعی به آن افزودند و در نهایت مارک با کمک این اشخاص توانست اولین نسخه پایدار این برنامه را در ۲۳ سپتامبر ۲۰۰۴ با نام Asterisk 1.0 به بازار عرضه نماید.

روند توسعه این نرم افزار همچنان ادامه دارد تابدانجا که امروزه نسخه ۱۴.۶.۰نیز در دسترس عموم می باشد. این نرم افزار در ابتدا بر روی پلتفورم لینوکس نوشته شد ولی اکنون بر روی بسیاری از سیستم عامل ها شامل NetBSD، OpenBSD، FreeBSD، Mac OS X و Solaris قابل اجرا می باشد.

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

با توجه به اینکه استریسک دارای رابط گرافیکی نمی باشد، در چندین سال گذشته شرکت های مختلف رابط های گرافیکی متنوعی را به بازار عرضه کرده اند که از معروفترین آنها نرم افزار الستیکس و freePBX می باشند که تمامی این نرم افزارها بر اساس استریسک تهیه شده اند و کار مدیریت این برنامه را با استفاده از رابط های گرافیکی خود بسیار راحت کرده اند.

انتخاب سخت افزار

سرور :

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

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

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

استفاده از حافظه داخلی سیستم و یا همان RAM در استریسک بسیار پایین می باشد و حتی می توان با ۶۴MB رم نیز از این سیستم به راحتی استفاده کرد.

انتخاب فضای مناسب برای هارد سیستم نیز بستگی به سناریوی پیاده سازی شده دارد. استفاده از سرویس صندوق پستی و یا ضبط کلیه مکالمات و همچنین تعداد روزهایی که می خواهیم این اطلاعات در سیستم نگهداری شود و با توجه به تعداد تماس های روزانه، می توانیم تخمین حدودی برای فضای هارد را در نظر بگیریم. یک دقیقه از فایل صوتی با کدک G.711 در حدود یک مگابایت فضا اشغال می نماید، در نتیجه می توانیم با جمع آوری اطلاعات فوق الذکر و انجام یکسری محاسبات ساده، میزان فضای مورد نیاز را محاسبه نماییم.

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

آی پی فون :

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

تلفن ها می توانند هم بصورت نرم افزاری یا همان Softphone باشند و هم بصورت سخت افزاری. تلفن های سخت افزاری نیز اگر همان تلفن های آنالوگ باشند نیاز به یک واسط ATA برای اتصال به سیستم VoIP دارند و اگر آی پی فون باشند به هیچگونه واسطی برای اتصال نیاز ندارند و خود از طریق پورت شبکه به سیستم تلفنی متصل می شوند.

همچنین تلفن های وایرلس نیز در دو نوع DECT و wif-fi عرضه می شوند که با توجه به نیاز می توان از آنها استفاده نمود.

پیکربندی شبکه :

مدیران شبکه برای راه اندازی شبکه VoIP باید نکات زیر را در نظر داشته باشند تا مرکز تلفن بتواند با بهترین کیفیت ممکن به فعالیت خود ادامه دهد:

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

– استفاده از لینک اینترنت مناسب بین دفاتر برای انتقال صدا بسیار دارای اهمیت می باشد زیرا وجود نویز و ایجاد قطعی های طولانی مدت باعث از بین رفتن کیفیت صدا و نامفهوم شدن آن می گردد. در صورتی که دفاتر شرکت در داخل ایران باشند استفاده از بستر اینترا نت مخابرات نسبت به استفاده از اینترنت، توصیه می گردد. البته لازم به ذکر است اگر از سیستم ویپ برای اتصال دفاتر مختلف استفاده نمی نمایید و تنها در یک دفتر آن را راه اندازی نموده اید، دیگر کیفیت لینک اینترنت اهمیتی ندارد چون استفاده ای از آن نمی شود.

– استفاده از Qos برای تعیین اولویت بالاتر برای انتقال صدا و تصویر در بستر WAN.

روش های نصب

حالا که کمی با استریسک و ویژگی های آن آشنا شدیم و همچنین سخت افزار خود را به درستی انتخاب نموده ایم، زمان نصب و راه اندازی این سرویس می باشد. از آنجایی که گروه وسیعی از سیستم عامل ها از استریسک پشتیبانی می نمایند، ما ابتدا باید سیستم عامل خود را انتخاب وسپس نصب نماییم. ۳ روش برای اینکه دارای سیستمی به همراه استریسک شویم در زیر پیشنهاد شده است:

– استفاده از بسته های ویژه ای که سیستم عامل لینوکس و استریسک را یکجا با هم دارند مانند AsteriskNOW . شما با نصب آن بر روی سیستم خود، استریسک را بصورت آماده و به همراه یک رابط گرافیکی ساده، خواهید داشت. این روش ساده ترین راه دسترسی به استریسک می باشد. لازم به ذکر است با توجه به نوع بسته ای که انتخاب می نمایید، سیستم عامل لینوکس آن نیز می تواند متفاوت باشد.

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

– آخرین راه، کامپایل کردن از روی کد منبع استریسک در یکی از انواع سیستم عامل های لینوکس می باشد که قدرت مانور بیشتری به متخصصان می دهد.

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

نصب سیستم عامل Ubuntu

آخرین نسخه سیستم عامل ابونتو سرور را از سایت www.ubuntu.com دریافت نمایید. پیشنهاد میشود که همیشه آخرین نسخه LTS مربوط به اوبونتو دانلود و نصب شود زیرا دارای پشتیبانی بلندمدت برای آپدیت سیستم عامل می باشد. لازم به ذکر است که اوبونتو هر ساله دو نسخه از ورژن های خود را ارائه می نماید که نسخه ای که در ۶ ماهه اول ارائه می شود و در انتهای آن عدد ۰۴ نوشته شده است، همان نسخه LTS می باشد و نسخه ای که در نیمه دوم سال ارائه می شود و شماره نسخه آن به عدد ۱۰ ختم می شود، همان نسخه عادی اوبونتو می باشد.

نصب و کامپایل پیش نیازها، سرویس DAHDI و Libpri

قبل از انجام مراحل نصب ابتدا باید از بروز بودن سیستم عامل اوبونتو مطمئن گردیم:

 apt-get update && apt-get upgrade#

در مرحله بعد بسته های پیش نیاز زیر را نصب می نماییم، همانطور که در لیست می بینید در این مرحله سرویس های Apache، Mysql و PHP5 نیز نصب می گردند.

در فرآیند نصب رمز عبوری برای سرویس My SQL از شما پرسیده می شود. این رمز را وارد کرده و حتما به خاطر بسپارید.

#apt-get install build-essential wget gcc cpp g++ make patchutils bison flex byacc liblzo2-2 liblzo2-dev zlib1g-dbg zlib1g-dev libxml2 libxml2-dev openssl libssl-dev mysql-server apache2 php libapache2-mod-php php-mcrypt php-mysql php-cli php-gd libcurl4-gnutls-dev libnewt-dev libncurses5-dev libmysqlclient-dev unixodbc unixodbc-dev libspandsp-dev libiksemel-dev libsqlite3-dev uuid-dev libjansson4 libjansson-dev

اگر از کارت تلفنی بر روی سرور خود برای اتصال خطوط تلفن شهری آنالوگ استفاده می نمایید باید بسته DAHDI را نصب نمایید:

# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

# tar -zxvf dahdi-linux-complete-current.tar.gz
# cd <Directory_name>
# make
# make install
# make config

بعد از اجرای دستور make install باید در انتها، متن زیر را که نشانه موفقیت آمیز بودن مراحل نصب می باشد، مشاهده نمایید:

###################################################
###
### DAHDI tools installed successfully.
### If you have not done so before, install init scripts with:
###
### make config
###
###################################################

در انتها برای اینکه تنظیمات DAHDI بر اساس کارت تلفنی نصب شده بر روی سرور انجام گردد، دستور زیر را اجرا می نماییم:

# make config
# cd

نکته ۱: اگر در هنگام اجرای دستور فوق کارت تلفنی بر روی سرور نصب نباشد، در انتها با پیغام No hardware found مواجه می شویم. اگر بعد از انجام این مراحل، کارت تلفنی را به دستگاه اضافه نمودید نیازی به اجرای مراحل کامپایل از ابتدا نیست و فقط دستور make config را اجرا نمایید تا تنظیمات انجام گردد.

نکته ۲: در صورتی که درایور کارت تلفنی توسط DAHDI شناخته نشود، ابتدا باید درایور آن را از سایت شرکت تولید کننده، دانلود کرده و سپس آن را نصب نمایید و در ادامه مراحل کامپایل را انجام دهید.

اگر از کارت تلفنی بر روی سرور خود برای اتصال خطوط تلفن شهری E1 استفاده می نمایید باید بسته libpri را نصب نمایید:

# git clone http://gerrit.asterisk.org/libpri libpri
# cd <Directory_name>
# make
# make install
# cd

نکته: تنها در صورتی که از کارت های آنالوگ و یا E1 استفاده می نمایید باید بسته های DAHDI و Libpri را نصب نمایید در غیر اینصورت و در صورت استفاده از گیتوی تنها بسته های پیش نیاز که در مرحله اول قرار داشتند را نصب نمایید.

نصب و کامپایل Asterisk

در این مرحله مطابق دستورات زیر بسته Asterisk نسخه ۱۳ را دانلود و کامپایل می نماییم:

#git clone -b 15 http://gerrit.asterisk.org/asterisk asterisk-15

# cd <Directory_name>
# ./configure CFLAGS=-mtune=generic
# make menuselect

بعد از وارد نمودن دستور make menuselect صفحه ای باز می شود که می توانید یکسری از ویژگی های موجود در استریسک را انتخاب و کامپایل نمایید. تمامی این امور را می توانید بعد از نصب نیز انجام دهید بنابراین بر روی گزینه Save & Exit کلیک نموده و از منوی مربوطه خارج شوید. در مراحل بعد که بصورت حرفه ای تر با استریسک کار نمودید و با تمامی منوها کاملا آشنایی پیدا کردید به راحتی در همین مرحله می توانید منوهای مورد نیاز را انتخاب نمایید.

# make
# make install
# make config
# make samples

بعد از پایان مراحل نصب باید این سرویس ها را start کنیم:

# /etc/init.d/dahdi start (درصورت نیاز)
# /etc/init.d/asterisk start

تبریک! شما اکنون توانستید با موفقیت استریسک را بر روی سیستم عامل لینوکس نصب نمایید.

روش های پیکربندی

برای مدیریت Asterisk به دو طریق زیر می توان عمل نمود :

• Asterisk Command line

• Asterisk GUI

کاربران می توانند با توجه به سطح دانش خود از یکی از این دو روش و یا از هر دوی آنها با هم استفاده نمایند.

Asterisk Command line :

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

فایل های پیکربندی استریسک را می توان در آدرس زیر در سیستم عامل لینوکس مشاهده کرد:

# cd /etc/asterisk

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

همچنین استریسک دارای یک محیط اختصاصی که بیشتر در جهت debug کردن و نمایش تنظیمات انجام شده مورد استفاده قرار می گیرد، نیز می باشد. برای ورود به محیط CLI یا همان Command Line Interface در لینوکس از یکی از دستورات زیر استفاده می نماییم:

#asterisk -r

Or

#rasterisk

در محیط CLI همچنین دستورات محدودی نیز برای پیکربندی استریسک در اختیار کاربر قرار می گیرد.

Asterisk GUI :

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

پیکربندی درست Asterisk دشوارترین مرحله در راه اندازی این مرکز تلفن می باشد. در ابتدا باید مشخص نمایید چه امکانات و ویژگی هایی را از این نرم افزار می خواهید داشته باشید، آنها را بر روی یک کاغذ به وضوح و با ذکر جزئیات نوشته و سپس اقدام به پیکربندی آن نمایید.

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

نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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